1
1
mirror of https://github.com/github/semantic.git synced 2024-12-26 08:25:19 +03:00
Commit Graph

2902 Commits

Author SHA1 Message Date
Rob Rix
963887a115 Test the property that we don’t promote through empty lines onto closed lines.
This is falsified by empty row elision.
2015-12-18 13:27:03 -05:00
Rob Rix
7e67a6a490 Remove a redundant test. 2015-12-18 13:22:30 -05:00
Rob Rix
0b4aeb06af Remove the redundant test. 2015-12-18 13:19:51 -05:00
Rob Rix
d699adc714 Test the property that closed rows are closed. 2015-12-18 13:19:40 -05:00
Rob Rix
c02bd6e11a EmptyLines are not closed. 2015-12-18 13:19:05 -05:00
Rob Rix
8bb258a8e6 Add a predicate for closed rows. 2015-12-18 13:17:03 -05:00
Rob Rix
8f2473fd48 Remove a redundant test. 2015-12-18 13:05:08 -05:00
Rob Rix
6ffe3719d0 Reformat. 2015-12-18 13:04:52 -05:00
Rob Rix
595293e1a5 Actually test the property. 2015-12-18 13:02:46 -05:00
Rob Rix
e49715dd86 Use forAll to stub in the test. 2015-12-18 12:28:57 -05:00
Rob Rix
a549354030 Stub in a property test of appending onto open rows. 2015-12-18 12:11:01 -05:00
Rob Rix
013ed0e227 Add a predicate for open rows. 2015-12-18 12:10:46 -05:00
Rob Rix
d1020f4ca3 Tweak some test names. 2015-12-18 11:05:41 -05:00
Rob Rix
099096b409 Spacing. 2015-12-18 11:04:49 -05:00
Rob Rix
dd924c68dd Test that empty diffs have no hunks. 2015-12-18 09:49:33 -05:00
Rob Rix
bf8de73934 Stub in a PatchOutput spec. 2015-12-18 09:49:21 -05:00
Josh Vera
a124943822 Update Spec.hs 2015-12-17 13:35:18 -05:00
joshvera
09faaf9b4e clean up 2015-12-17 13:10:12 -05:00
joshvera
0223de4145 Enable autodiscovery of tests
Also splits up tests into different specs
2015-12-17 13:08:47 -05:00
Rob Rix
b4bfac45ce Correct the tests. 2015-12-16 23:27:00 -05:00
joshvera
fe38ebe548 Test unicode equivalent terms are replacements 2015-12-16 14:18:09 -05:00
joshvera
c71c9fd4fd Write out code points in test 2015-12-16 13:09:07 -05:00
joshvera
b4fb04fccc Test equivalent precomposed/decomposed unicode is not equal 2015-12-16 11:58:52 -05:00
Rob Rix
9604238c02 Test the asymmetry of intersectionWith. 2015-12-14 18:20:21 -05:00
Rob Rix
a357c155f8 Test the ordering of keys. 2015-12-14 18:18:40 -05:00
Rob Rix
ae298f287a Test that unions does not duplicate elements. 2015-12-14 18:17:48 -05:00
Rob Rix
b2cceea842 Rename the unions test. 2015-12-14 18:16:22 -05:00
Rob Rix
e9cac45f65 Test union asymmetry. 2015-12-14 18:15:56 -05:00
Rob Rix
79d5e38b26 Use distinct elements in a and b. 2015-12-14 18:15:14 -05:00
Rob Rix
4fd12e7223 Test unions. 2015-12-14 18:13:19 -05:00
Rob Rix
62a4327bda Test the asymmetry of difference. 2015-12-14 18:11:42 -05:00
Rob Rix
1d7dced61f Test keys. 2015-12-14 18:10:20 -05:00
Rob Rix
2ee77fe490 Import OrderedMap instead of Data.Map. 2015-12-14 17:57:24 -05:00
Rob Rix
e96a77aa1a Test the intersection. 2015-12-14 17:54:22 -05:00
Rob Rix
aeb99b54a0 Test the union. 2015-12-14 17:53:05 -05:00
Rob Rix
ab6658edc8 Extract the fixtures. 2015-12-14 17:51:15 -05:00
Rob Rix
26400a24a8 Import & run the OrderedMapSpec spec. 2015-12-14 17:49:40 -05:00
Rob Rix
0401bcb83d Rename the spec function. 2015-12-14 17:48:59 -05:00
Rob Rix
7f488bb351 Knock the nesting out. 2015-12-14 17:47:42 -05:00
Rob Rix
2dbf0fc7c3 OrderedMapSpec imports hspec. 2015-12-14 17:44:42 -05:00
Rob Rix
aebf6dd488 Add a spec testing difference. 2015-12-14 17:43:49 -05:00
Rob Rix
205a885305 Stub in an OrderedMapSpec module. 2015-12-14 17:42:57 -05:00
Rob Rix
40f6df8b5d Merge branch 'master' into ordered-map 2015-12-14 17:35:08 -05:00
Josh Vera
6850b402d4 Merge pull request #326 from github/post-process-leaf-nodes-in-terms
Post process leaf nodes in terms
2015-12-14 17:20:16 -05:00
Rob Rix
86cf5df9e7 Merge pull request #327 from github/remove-info-line-range
Remove line range from Info
2015-12-14 17:20:12 -05:00
Rob Rix
2cdbc9ad5e Update the tests to point at OrderedMap. 2015-12-14 17:15:44 -05:00
joshvera
f5dadfd964 fix tests 2015-12-14 16:09:12 -05:00
Rob Rix
cded6c0d7d Get the substrings out at the same time as computing the ranges. 2015-12-14 15:37:30 -05:00
Rob Rix
fdb1a6a9f7 Correct the tests. 2015-12-14 15:33:16 -05:00
Rob Rix
06a826c5f0 Merge branch 'master' into post-process-leaf-nodes-in-terms 2015-12-14 15:28:04 -05:00
Rob Rix
9d61286d81 Take only maxLength elements for keyed nodes. 2015-12-14 15:18:56 -05:00
Rob Rix
32d460bce7 Rename n to maxDepth. 2015-12-14 15:18:16 -05:00
Rob Rix
686325bf4c Rename m to maxLength. 2015-12-14 15:17:26 -05:00
Rob Rix
5c90ecde8e Use the cube of the max length, not the square.
I.e. shrink the produces lists.
2015-12-14 15:15:56 -05:00
Rob Rix
33c0dacd55 Take m, not n. 2015-12-14 15:13:32 -05:00
Rob Rix
2f726d4ba6 🔥 ArbitraryDiff. 2015-12-14 15:12:07 -05:00
Rob Rix
a93908a5f8 Test the reflexivity of Diff equality by generating a pair of terms and diffing them. 2015-12-14 15:11:59 -05:00
Rob Rix
2e5d85748b Capture the construction of strictly smaller terms in the where clause. 2015-12-14 15:08:32 -05:00
Rob Rix
3e22121d66 Test that the offset is applied. 2015-12-14 12:53:14 -05:00
Rob Rix
48464ac552 Test that we skip whitespace at the end. 2015-12-14 12:52:37 -05:00
Rob Rix
bfdf388b5c Test that we skip whitespace at the start. 2015-12-14 12:52:01 -05:00
Rob Rix
7bf7d22d8e Test that multiple whitespace characters are skipped. 2015-12-14 12:51:23 -05:00
Rob Rix
1bdfa51702 Test that multiple words → multiple ranges. 2015-12-14 12:49:01 -05:00
Rob Rix
da6995ae54 Test that a single word string is covered by the returned range. 2015-12-14 12:48:04 -05:00
Rob Rix
fca022109c Uh, ok. 2015-12-14 12:47:51 -05:00
Rob Rix
ce5854e019 Test that the empty string doesn’t have any word ranges in it. 2015-12-14 12:46:53 -05:00
Rob Rix
8951bebfa7 Test that rangesOfWordsFrom doesn’t produce words for whitespace. 2015-12-14 12:46:20 -05:00
Rob Rix
7bc4c62151 Increase the probability of leaves as a cheap way speed up the tests. 2015-12-11 16:11:10 -05:00
Rob Rix
14e861da35 Test that diffing a term against itself produces a zero-cost diff. 2015-12-11 16:10:22 -05:00
Rob Rix
3bb9e704bf Remove the Arbitrary instance for Diff. 2015-12-11 16:07:11 -05:00
Rob Rix
0aa3154434 Test properties over ArbitraryDiff. 2015-12-11 16:07:06 -05:00
Rob Rix
c79113c18c ArbitraryDiff is Arbitrary. 2015-12-11 16:06:14 -05:00
Rob Rix
86d95d1d86 unDiff interprets diffs. 2015-12-11 16:04:41 -05:00
Rob Rix
21b2d7fdfd Stub in an ArbitraryDiff type. 2015-12-11 16:03:04 -05:00
Rob Rix
fa4e5011ac Test diff equality reflexivity. 2015-12-11 16:02:08 -05:00
Rob Rix
f9a72f75e1 Add a silly Arbitrary instance for Diff. 2015-12-11 16:02:02 -05:00
Rob Rix
d07cd36e40 CategorySet is Arbitrary. 2015-12-11 16:01:46 -05:00
Rob Rix
64c4787d81 CategorySet is Categorizable. 2015-12-11 16:01:40 -05:00
Rob Rix
90b3da2291 Add a fixed-member CategorySet type. 2015-12-11 16:01:28 -05:00
Rob Rix
f667109c28 Test _Term_ equality, not ArbitraryTerm equality. 2015-12-11 15:51:25 -05:00
Rob Rix
97ff45bd28 Remove an obsolete import. 2015-12-11 15:50:35 -05:00
Rob Rix
066e0511d1 🔥 arbitraryBounded. 2015-12-11 15:47:43 -05:00
Rob Rix
50090dd73a Make leaves likelier. 2015-12-11 15:47:23 -05:00
Rob Rix
91317207fe Resume generating arbitrary keyed nodes. 2015-12-11 15:47:19 -05:00
Rob Rix
9ece0af975 Bound depth by the cube root of the size parameter, and length by the square root. 2015-12-11 15:41:35 -05:00
Rob Rix
d9bb395f2c Remove the Arbitrary instance for Syntax. 2015-12-11 15:03:30 -05:00
Rob Rix
2646ebf4ae We need this import for liftM. 2015-12-11 15:03:19 -05:00
Rob Rix
77c9970f25 Don’t bind a variable for n. 2015-12-11 15:03:03 -05:00
Rob Rix
3efa6e6ff4 Recur into arbitrary, and produce arbitrary Keyed nodes. 2015-12-11 15:02:29 -05:00
Rob Rix
76f78234aa Define shrink by case analysis. 2015-12-11 15:01:44 -05:00
Rob Rix
2e97bf44fc Generate arbitrary Fixed terms with bounds &c. 2015-12-11 14:40:29 -05:00
Rob Rix
c4326d54a0 Composition 🎉 2015-12-11 14:39:56 -05:00
Rob Rix
2764c34b8d Generate arbitrary terms using frequency & sized bounds. 2015-12-11 14:38:57 -05:00
Rob Rix
046c3d1813 Try to simplify syntax shrinking in terms. 2015-12-11 14:38:52 -05:00
Rob Rix
ed929f07a0 Bind in the opposite direction. 2015-12-11 14:17:04 -05:00
Rob Rix
02c19d1d93 Shrink Keyed syntax values to subsequences. 2015-12-11 14:14:58 -05:00
Rob Rix
b643e9ce5a Shrink indexed/fixed nodes to subsequences. 2015-12-11 14:07:31 -05:00
Rob Rix
68bf2cecfc Add an Arbitrary instance for Syntax. 2015-12-11 14:05:59 -05:00
Rob Rix
913d484a67 Hide Fixed. 2015-12-11 14:05:46 -05:00
Rob Rix
46dfff2b7c Derive the genericity of ArbitraryTerm. 2015-12-11 13:37:42 -05:00
Rob Rix
f983ec0cc3 Shrink Keyed subterms recursively. 2015-12-11 11:19:13 -05:00
Rob Rix
e1161b46db Shrink Fixed subterms recursively. 2015-12-11 11:17:51 -05:00
Rob Rix
39cfe5f96f Remove a redundant permutation of Fixed terms. 2015-12-11 11:17:39 -05:00
Rob Rix
d5041aaf5e Shrink subterms recursively. 2015-12-11 11:17:20 -05:00
Rob Rix
65bd8b19c8 Remove a redundant variation. 2015-12-11 11:16:52 -05:00
Rob Rix
1cb56f5eb3 Make sure never to shrink to the argument. 2015-12-11 11:16:02 -05:00
Rob Rix
6383404fc4 Shrink subsequences of Fixed terms. 2015-12-11 11:15:39 -05:00
Rob Rix
dacb2dba48 Shrink subsequences of Indexed terms. 2015-12-11 11:15:21 -05:00
Rob Rix
8d0272bdac Implement shrinking over ArbitraryTerm. 2015-12-11 11:14:33 -05:00
Rob Rix
7dd4631053 Remove ArbitrarySyntax. 2015-12-11 11:00:52 -05:00
Rob Rix
40eafd315d Remove the arbitrary instance for ArbitrarySyntax. 2015-12-11 11:00:26 -05:00
Rob Rix
dbbada55da Construct bounded terms. 2015-12-11 11:00:18 -05:00
Rob Rix
e6bddf1cf1 Bound arbitrary Keyed nodes.
I really hope we can clean this up.
2015-12-11 11:00:06 -05:00
Rob Rix
a7c959db6c Use the ordinary ArbitraryTerm constructor. 2015-12-11 10:34:43 -05:00
Rob Rix
2cbe8959fe We don’t need to use ArbitrarySyntax for this. 2015-12-11 10:33:46 -05:00
Rob Rix
fd0c1e7abe Attempt to define the selection of an arbitrary bounded term. 2015-12-11 10:32:31 -05:00
Rob Rix
fda61b074f ArbitraryTerm → Term eliminator. 2015-12-11 09:14:54 -05:00
Rob Rix
bc47d2743f Represent ArbitraryTerm as an annotation/Term pair.
Capturing the recursive structure in `ArbitraryTerm` instead of
deferring it to `Term` allows us to simplify construction of arbitrary
inhabitants.
2015-12-11 09:14:43 -05:00
Rob Rix
6799d5eba1 Use record notation to unwrap ArbitrarySyntax. 2015-12-11 09:12:49 -05:00
Rob Rix
0c23f11d01 Abstract ArbitraryTerm over its annotation type. 2015-12-11 00:35:00 -05:00
Rob Rix
de9aa14da4 ArbitraryTerm is parameterized by its leaf type. 2015-12-11 00:33:43 -05:00
Rob Rix
2f744cd769 ArbitrarySyntax is Arbitrary. 2015-12-11 00:32:59 -05:00
Rob Rix
c7dbd6e79b Add an ArbitrarySyntax type. 2015-12-11 00:32:46 -05:00
Rob Rix
a71a4d2e36 Adjoining onto no rows is also identity. 2015-12-11 00:24:37 -05:00
Rob Rix
de75e838d0 Test that adjoining onto empty rows is identity. 2015-12-11 00:23:57 -05:00
Rob Rix
390fa5ee73 Test that adjoining mempty is idempotent. 2015-12-11 00:22:21 -05:00
Rob Rix
9d71aefd04 Add an Arbitrary instance for Row. 2015-12-11 00:20:25 -05:00
Rob Rix
91140aa8fa Add an Arbitrary instance for Line. 2015-12-11 00:19:48 -05:00
Rob Rix
e84d8804bf Add an Arbitrary instance for HTML. 2015-12-11 00:19:07 -05:00
Rob Rix
06d9a7ef04 mempty! 2015-12-11 00:13:17 -05:00
Rob Rix
23d11c1cc8 adjoin2 is idempotent for additions of and onto empty rows. 2015-12-11 00:12:28 -05:00
Rob Rix
bec2f01f02 Reflexivity requires a == a. 2015-12-11 00:05:23 -05:00
Rob Rix
873441efde Generate an arbitrary leaf. 2015-12-11 00:05:01 -05:00
Rob Rix
f59f92e1d4 Use the prop shorthand. 2015-12-10 23:59:19 -05:00
Rob Rix
9b2fda2a49 Test that equality is reflexive. 2015-12-10 23:55:31 -05:00
Rob Rix
aa9f1d6b23 Derive Show and Eq. 2015-12-10 23:55:21 -05:00
Rob Rix
9589264745 ArbitraryTerm is an instance of Arbitrary. 2015-12-10 23:45:14 -05:00
Rob Rix
54166e7662 Add an ArbitraryTerm newtype. 2015-12-10 23:45:05 -05:00
Rob Rix
60791ffc15 import QuickCheck. 2015-12-10 23:40:42 -05:00
Rob Rix
a9bb3583e7 Fix a faulty test. 2015-12-10 16:47:10 -05:00
Rob Rix
85d141e924 Test that openLine returns Nothing for closed lines. 2015-12-10 16:31:00 -05:00
Rob Rix
d9e63c0331 Clarify a test name. 2015-12-10 16:30:52 -05:00
Rob Rix
6a73248a46 Test that openLine will produce open lines. 2015-12-10 16:29:18 -05:00
Rob Rix
15f27c5faa We have a leaf for the purposes of this test. 2015-12-10 15:48:23 -05:00
Rob Rix
9619d2fa7f That is not how any of this works. 2015-12-10 15:47:34 -05:00
Rob Rix
46bd5bc545 Test that termToLines produces complete lines. 2015-12-10 15:41:02 -05:00
Rob Rix
325d6e6a73 Add a test of multi-line patches. 2015-12-10 15:11:56 -05:00
joshvera
1b370a059d rename some tests 2015-12-10 14:26:49 -05:00
joshvera
2b0c9dc4e2 Fix some of the tests 2015-12-10 14:21:52 -05:00
Rob Rix
0c9308b6ae Use Break to represent newlines. 2015-12-10 11:35:46 -05:00
joshvera
eecfd4ff6d promotes HTML through empty lines 2015-12-09 17:38:40 -05:00
joshvera
a05f03dd92 add some test combinators 2015-12-09 17:29:25 -05:00
joshvera
f3381509b7 remove adjoinRows tests 2015-12-09 17:29:11 -05:00
joshvera
5a252911a2 Fix incorrect index in test 2015-12-09 15:54:31 -05:00
Rob Rix
99bc580df2 Correct a fixture. 2015-12-09 15:28:42 -05:00
Rob Rix
4585545eab Test that we don’t promote newlines through empty lines. 2015-12-09 14:56:33 -05:00
Rob Rix
6dc5a65ae8 Use the newLine definition a bit. 2015-12-09 14:56:26 -05:00
Rob Rix
b97b989803 Add a newLine definition. 2015-12-09 14:56:15 -05:00
Rob Rix
d527a03ca3 Test that adjoining newlines does not append. 2015-12-09 14:50:57 -05:00
Rob Rix
0010bb0c77 Spacing. 2015-12-09 14:47:10 -05:00
joshvera
c67ff8f2e5 working through adjoin2 2015-12-08 19:52:38 -05:00
joshvera
bcb935c49b add maybeFirstNewLine to look in Uls for new lines 2015-12-08 18:09:45 -05:00
joshvera
51be1f341a Fix tests 2015-12-08 12:35:40 -05:00
Rob Rix
19d92de3e0 Revert "Correct the tests."
This reverts commit 6f9d76f3e37b075c34e5901860015cc5d7361c37.
2015-12-07 16:28:16 -05:00
Rob Rix
1ff87605e8 Correct the tests. 2015-12-07 16:02:57 -05:00
Rob Rix
c4600cdc1c More branches. 2015-12-07 14:40:16 -05:00
Rob Rix
119bab2843 Prefix the branch classes. 2015-12-07 14:39:04 -05:00
Rob Rix
90418e3310 Prefix the leaf class with category-. 2015-12-07 14:39:00 -05:00
joshvera
0d6ac00101 Test two-line formatted indexed nodes 2015-12-04 14:18:53 -05:00
joshvera
a37e199f11 format tests 2015-12-04 14:18:41 -05:00
joshvera
f6a6ddb4d3 test two unchanged lines 2015-12-04 12:02:41 -05:00
joshvera
195272faaa Test different formatting 2015-12-04 11:37:01 -05:00
Rob Rix
6aef6bc474 Nest the ranges in the expectations. 2015-12-04 10:49:53 -05:00
Rob Rix
ba5e5f5b9e Correct the expected ranges. 2015-12-04 10:27:03 -05:00
Rob Rix
d4ea7a04cc Offset the ends of ranges too. 2015-12-04 10:26:15 -05:00
Rob Rix
d3c5db105d Test the rows computed for non-empty unchanged branches. 2015-12-04 10:19:19 -05:00
Rob Rix
72eea0c2f5 Use the span convenience. 2015-12-04 10:17:39 -05:00
Rob Rix
3efbc70622 Add a span convenience. 2015-12-04 10:17:33 -05:00
Rob Rix
1814806980 Add API to offset ranges in Info and Annotated. 2015-12-04 10:12:47 -05:00
Rob Rix
357a1aa16c Expect text nodes. 2015-12-04 10:07:38 -05:00
Rob Rix
e60379300f Remove the unused one line unchanged indexed source/range bindings. 2015-12-04 09:50:12 -05:00
Rob Rix
35c573e00b Test the rows generated for single line empty unchanged indexed nodes. 2015-12-04 09:49:34 -05:00
Rob Rix
89afcac011 Use the unchanged API. 2015-12-04 09:46:58 -05:00
Rob Rix
b5bb6c952b Add a convenience for constructing unchanged Annotated terms. 2015-12-04 09:46:24 -05:00
Rob Rix
b5c8f82e52 Remove lineRange & cats. 2015-12-04 09:45:00 -05:00
Rob Rix
d91e5c36ea Use the info convenience. 2015-12-04 09:44:54 -05:00
Rob Rix
1902822257 Add a convenience for constructing info. 2015-12-04 09:44:09 -05:00
Rob Rix
0d9298418e Use the convenience in the single-line unchanged leaves test. 2015-12-04 09:42:57 -05:00
Rob Rix
3a8f02f163 Add a convenience for the categories. 2015-12-04 09:42:42 -05:00
Rob Rix
43691b9473 Add source/range for a single line indexed string. 2015-12-04 09:41:11 -05:00
Rob Rix
d3c9c2ce89 Rename the line range variable. 2015-12-04 09:40:38 -05:00
Rob Rix
ec210b13f7 Test annotatedRows output for single-line leaves. 2015-12-04 09:16:23 -05:00
Rob Rix
4ccaa65f82 Describe adjoinRows. 2015-12-04 09:00:40 -05:00
Rob Rix
4697f87a88 Migrate the tests to adjoinRows. 2015-12-03 16:24:35 -05:00
Rob Rix
ea58415617 Test the multiple line cases. 2015-12-03 12:07:03 -05:00
Rob Rix
b1c593173f Test that empty lines are the left unit with multiple lines. 2015-12-03 11:58:34 -05:00
Rob Rix
8324f3b066 Test that single lines are concatenated. 2015-12-03 11:52:46 -05:00
Rob Rix
14911bf272 Test that empty lines are the left unit. 2015-12-03 11:47:51 -05:00
Rob Rix
aa1db29cc7 Stub in a test test of adjoinLines. 2015-12-03 11:44:42 -05:00
Rob Rix
0c34de972b This has to be named Main for now. 2015-12-03 11:44:28 -05:00
Rob Rix
659c109c64 Spec! 2015-12-03 11:38:49 -05:00
Rob Rix
e5b35fdc4a I mean, sure. 2015-11-17 14:44:16 -08:00