1
1
mirror of https://github.com/github/semantic.git synced 2024-12-30 18:36:27 +03:00
Commit Graph

3927 Commits

Author SHA1 Message Date
Rob Rix
e481756bd3 Bind the sources in a let. 2016-04-25 12:57:57 -04:00
Rob Rix
3cde6162e7 PrettyDiff takes a pair of Sources. 2016-04-25 12:57:33 -04:00
Rob Rix
a805cad292 Pass the source to showDiff explicitly. 2016-04-25 12:56:03 -04:00
Rob Rix
0ca30921ca Add a Show instance for PrettyDiff. 2016-04-25 12:54:51 -04:00
Rob Rix
0d90744aac PrettyDiff doesn’t declare accessors. 2016-04-25 12:54:40 -04:00
Rob Rix
43359cad9c PrettyDiff carries the Source. 2016-04-25 12:53:15 -04:00
Rob Rix
564dd1d2c7 Stub in a PrettyDiff type. 2016-04-25 12:37:56 -04:00
Rob Rix
f0683932bb 🔥 redundant imports. 2016-04-22 12:56:13 -04:00
Rob Rix
f7fd63528a 🔥 obsolete bindings. 2016-04-22 12:56:09 -04:00
Rob Rix
c6be56f7d3 Disable warnings about orphans.
This is primarily for the benefit of ghc-mod while editing.
2016-04-22 12:54:50 -04:00
Rob Rix
a98876bf18 🔥 a redundant import. 2016-04-22 12:54:26 -04:00
Rob Rix
d2dae5824d Expect children to be in a copointed context. 2016-04-22 12:18:40 -04:00
Rob Rix
ab023c3dcb Merge branch 'master' into cofree-and-bifunctors-sitting-in-a-tree-a-l-i-g-n-edly 2016-04-22 09:33:51 -04:00
joshvera
953c18d693 Add jquery as a submodule for bench 2016-04-21 17:49:50 -04:00
Rob Rix
7a3aac1af9 Add a failing test that we align context following insertions correctly. 2016-04-15 16:10:09 -04:00
Rob Rix
b9230ceac4 Fix the no-newline-at-eof test. 2016-04-14 22:03:50 -04:00
Rob Rix
a61d847705 Replace Data.Bifunctor.These and Data.Align with the these package. 2016-04-14 22:00:00 -04:00
Rob Rix
d99d1d762c 🔥 some redundant imports. 2016-04-14 21:57:52 -04:00
Rob Rix
10de1a72ba 🔥 the Arbitrary instance over Line. 2016-04-14 21:57:33 -04:00
Rob Rix
19ccf9fd54 🔥 some redundant parens. 2016-04-14 21:56:07 -04:00
Rob Rix
6829c6baab 🔥 Data.Adjoined.Spec. 2016-04-14 21:54:25 -04:00
Rob Rix
1972e20233 🔥 Data.Functor.Both.Spec. 2016-04-14 21:54:11 -04:00
Rob Rix
3662b021df Correct the test of insertion patch alignment. 2016-04-14 20:31:03 -04:00
Rob Rix
7c63e92ea7 Construct SplitPatches. 2016-04-14 20:27:24 -04:00
Rob Rix
e5dd029b10 Test that insertions are aligned. 2016-04-14 19:40:36 -04:00
Rob Rix
75bda340ef Sort the Data.Functor.Identity import. 2016-04-14 19:34:59 -04:00
Rob Rix
1c9e5d9087 🔥 tests of splitDiffByLines. 2016-04-14 18:31:03 -04:00
Rob Rix
2564034b6d 🔥 tests of splitAbstractedTerm. 2016-04-14 18:30:52 -04:00
Rob Rix
e3ace6408c Merge branch 'master' into cofree-and-bifunctors-sitting-in-a-tree-a-l-i-g-n-edly
# Conflicts:
#	test/AlignmentSpec.hs
#	test/PatchOutputSpec.hs
2016-04-14 12:57:45 -04:00
Rob Rix
5991d5b5de Correct the split diff fixture. 2016-04-12 11:23:37 -04:00
Rob Rix
ad47c77509 Correct some test cases. 2016-04-12 05:00:39 -04:00
Rob Rix
1a22eaebf6 Correct the tests. 2016-04-12 04:54:32 -04:00
Rob Rix
0437045089 Simplify the multiple children in a single line test. 2016-04-05 11:37:40 -04:00
Rob Rix
07cf5dac3c Add a (failing) test that multiple children on the same line get aligned. 2016-04-04 18:26:10 -04:00
Rob Rix
d35de99307 🔥 some redundant parens. 2016-04-04 18:25:44 -04:00
Rob Rix
50d18f4472 🔥 a do. 2016-04-04 18:19:58 -04:00
Rob Rix
8b2a9fb6d0 Merge branch 'master' into cofree-and-bifunctors-sitting-in-a-tree-a-l-i-g-n-edly
# Conflicts:
#	src/Renderer/JSON.hs
#	src/Renderer/Patch.hs
#	test/CorpusSpec.hs
2016-04-04 18:00:25 -04:00
joshvera
928087e1f5 🔥 2016-04-04 17:38:58 -04:00
joshvera
a553709112 Specialize Renderer to Text 2016-04-04 17:20:26 -04:00
Rob Rix
06c4759aed Represent Both as Join (,). 2016-04-04 15:01:47 -04:00
Rob Rix
60d6cfeb90 Use the curried both constructor. 2016-04-04 14:53:09 -04:00
joshvera
ba8fef376a move to where clause 2016-04-02 13:28:17 -04:00
joshvera
4512344e3a update dictionary.json.js 2016-04-01 16:07:05 -04:00
joshvera
4a7004394b fix tests 2016-04-01 15:53:16 -04:00
Rob Rix
f1b2308405 Annotate a leaf type to prevent spew in the REPL. 2016-04-01 10:40:21 -04:00
Rob Rix
63e33f54cc Put the branch/leaf/info DSL at the top level. 2016-04-01 10:15:48 -04:00
Rob Rix
9c706c05e2 🔥 patchWithBoth. 2016-04-01 10:13:37 -04:00
Rob Rix
2540e9d207 🔥 leafWithRangeInSource. 2016-04-01 10:13:33 -04:00
Rob Rix
4f9de16045 Free doesn’t export unfold. 2016-04-01 10:13:22 -04:00
Rob Rix
04fffe584f 🔥 redundant imports. 2016-04-01 10:13:13 -04:00
Rob Rix
dd1355e978 Merge branch 'master' into cofree-and-bifunctors-sitting-in-a-tree-a-l-i-g-n-edly 2016-03-31 18:01:49 -04:00
Rob Rix
da3f04100e Merge branch 'master' into one-header-per-file 2016-03-31 17:00:37 -04:00
joshvera
5ff0d38a2f Make sure we actually show 2 hunks in the test 2016-03-31 13:53:47 -04:00
joshvera
4fafbda1de Test multiple hunks only has one header 2016-03-31 13:20:14 -04:00
joshvera
b44c8fae38 Add jquery alignment test case 2016-03-31 13:11:46 -04:00
Rob Rix
19cc23b51a Merge branch 'master' into cofree-and-bifunctors-sitting-in-a-tree-a-l-i-g-n-edly
# Conflicts:
#	src/Diff.hs
2016-03-30 20:20:50 -04:00
Rob Rix
20bb94bf5e Also, tests. 2016-03-30 17:33:07 -04:00
Rob Rix
ea97b04032 Test that groupChildrenByLine produces asymmetrical context. 2016-03-24 13:56:07 -04:00
Rob Rix
04ca818b0b Rename the test. 2016-03-24 13:54:11 -04:00
Rob Rix
931ba9808f Test that groupChildrenByLine produces symmetrical context. 2016-03-24 13:53:58 -04:00
Rob Rix
07bc16bf35 Be more specific with the test names. 2016-03-24 13:44:57 -04:00
Rob Rix
899d53eec2 Test the alignment of identical nodes across multiple lines. 2016-03-24 13:05:52 -04:00
Rob Rix
fbbf80a3fa Test the alignment of identical nodes on a single line. 2016-03-24 13:05:44 -04:00
Rob Rix
2e9eb92609 Rename the tests. 2016-03-22 09:20:44 -04:00
Rob Rix
1a3a32e3e1 Correct the test fixtures. 2016-03-22 00:17:20 -04:00
Rob Rix
2226acf61c Revert "Add a convenience to construct Source Char."
This reverts commit 63e023e439491207aa739bb0e68660770eaa9272.
2016-03-21 19:08:35 -04:00
Rob Rix
7ff808f3dc Add some tests (which won’t typecheck yet). 2016-03-21 19:08:02 -04:00
Rob Rix
62ac37c981 Add a convenience to construct branch diffs. 2016-03-21 18:54:34 -04:00
Rob Rix
361bfc0e81 Add a convenience to construct leaf diffs. 2016-03-21 18:54:27 -04:00
Rob Rix
1f1be15a99 Add a convenience to construct Source Char. 2016-03-21 18:54:18 -04:00
Rob Rix
d3a3b68752 Add a convenience to construct Info. 2016-03-21 18:54:09 -04:00
joshvera
2d711d2a56 just one slash 2016-03-16 18:56:57 -04:00
Rob Rix
6b2b2a811b Move the nested insert tests to the todo pile. 2016-03-15 15:53:04 -04:00
Rob Rix
8e07d40a0d Disable the Monoid tests over Both Line Char. 2016-03-15 15:52:54 -04:00
Rob Rix
7da4a180b7 Shrink Adjoined. 2016-03-15 11:46:15 -04:00
Rob Rix
493f55aa65 Shrink Both. 2016-03-15 11:46:09 -04:00
Rob Rix
943e0b7a40 Shrink Lines. 2016-03-15 11:46:05 -04:00
Rob Rix
3182f61140 Test the Monoid instance for Adjoined over Both Line. 2016-03-15 11:19:05 -04:00
Rob Rix
777aef345e Test the Monoid instance for Adjoined over Line. 2016-03-15 11:18:27 -04:00
Rob Rix
01f817a77e Move the other arbitrary instances into ArbitraryTerm. 2016-03-15 11:17:47 -04:00
Rob Rix
86f41d4ce8 Empty lines get inserted before merged ones. 2016-03-15 11:13:01 -04:00
Rob Rix
164a4fdd6f Sequence coalesced lines by aligning. 2016-03-15 11:11:27 -04:00
Rob Rix
f3c6f8b3f6 Compute lines within Adjoined. 2016-03-15 10:58:54 -04:00
Rob Rix
e7702fd11d Add a (failing) test that Both coalesces asymmetrically at right. 2016-03-15 10:55:20 -04:00
Rob Rix
2ea0fa9109 Add a (failing) test that Both coalesces asymmetrically at left. 2016-03-15 10:54:28 -04:00
Rob Rix
01330d9d2e Add a (failing) test that it doesn’t coalesce when neither side coalesces. 2016-03-15 10:52:43 -04:00
Rob Rix
ab33fb3ace Clean up the test with the Applicative instance. 2016-03-15 10:51:30 -04:00
Rob Rix
b3bb9e2c3e Test that Both coalesces when both sides coalesce. 2016-03-15 10:50:13 -04:00
Rob Rix
0129bffe6e Stub in a spec for Both. 2016-03-15 10:40:35 -04:00
Rob Rix
c4146dbefa Correct the tests for the changes to the API. 2016-03-14 22:58:07 -04:00
Rob Rix
5fb11795dc 🔥 isEmptyRow. 2016-03-14 22:53:16 -04:00
Rob Rix
9400e3a3ee coalesce operates within an Alternative functor. 2016-03-14 22:51:54 -04:00
Rob Rix
586894c316 splitAbstractedTerm no longer takes an align function. 2016-03-14 22:50:40 -04:00
Rob Rix
c22f86d812 🔥 adjoinRows tests. 2016-03-14 22:47:18 -04:00
Rob Rix
7fe578e9c6 Merge branch 'master' into adjoin-associatively 2016-03-11 18:56:10 -05:00
Rob Rix
1bb87bf6ee Fix up a bunch of toLists into toStrings. 2016-03-11 18:35:31 -05:00
joshvera
df8f7589ee Test we've added a nonewline line 2016-03-11 17:19:20 -05:00
Rob Rix
379208b3a3 🔥 qualifications of zip & zipWith. 2016-03-11 14:21:42 -05:00
Rob Rix
9c011d7de5 Migrate off Both.zip. 2016-03-11 14:21:07 -05:00
Rob Rix
1308b5b3f5 Only export the spec. 2016-03-11 14:14:28 -05:00
Rob Rix
4110048ae7 More specific documentation of Semicoalesced. 2016-03-11 14:14:07 -05:00
Rob Rix
203350ced1 Group the mempty/mappend properties. 2016-03-11 13:59:46 -05:00
Rob Rix
a23eb6f5f8 Merge branch 'data-dot-adjoined' into adjoin-associatively
# Conflicts:
#	src/Alignment.hs
2016-03-11 13:26:12 -05:00
Rob Rix
a22ac1ea31 🔥 the splitPatchByLines test. 2016-03-11 12:10:56 -05:00
Rob Rix
ebd4cc7369 Split the let bindings onto a new line. 2016-03-11 12:10:01 -05:00
Rob Rix
d35738ef73 Extract the patch into a let binding. 2016-03-11 12:09:46 -05:00
Rob Rix
ceb4a0b0ec Extract the ranges into a let binding. 2016-03-11 12:06:47 -05:00
Rob Rix
48792bedbf Merge branch 'master' into data-dot-adjoined 2016-03-11 11:52:26 -05:00
Rob Rix
57153d974e Model semicoalescence with a Bool flag. 2016-03-11 11:15:52 -05:00
Rob Rix
4e9472afdb Remove the Functor instances from the wrapper types.
We don’t use them and don’t need to be slowed by them.
2016-03-11 11:14:24 -05:00
Rob Rix
a1ed5da1b5 Run the monoid spec over semicoalesced strings. 2016-03-11 11:13:42 -05:00
Rob Rix
3f4402fe7e Add a Semicoalesced wrapper type. 2016-03-11 11:12:04 -05:00
Rob Rix
3627478d97 Don’t wrap the monoid specs. 2016-03-11 11:08:22 -05:00
Rob Rix
a429afe53b Show the parameterized type in the Monoid instance. 2016-03-11 11:08:07 -05:00
Rob Rix
abe02506ac Add a type-restricted const for generated types. 2016-03-11 11:06:21 -05:00
Rob Rix
132acddaeb Add a function to produce the name of a type. 2016-03-11 11:06:18 -05:00
Rob Rix
8cfcd8b7bc Run the monoid spec over coalesced strings. 2016-03-11 10:31:14 -05:00
Rob Rix
14234a7440 Describe the monoid spec with the name of the type we’re running under. 2016-03-11 10:29:35 -05:00
Rob Rix
1e4bce59e8 Run the monoid spec over uncoalesced strings. 2016-03-11 10:29:03 -05:00
Rob Rix
c9c24894e3 Spacing. 2016-03-11 10:20:40 -05:00
Rob Rix
d765101aa2 Add a wrapper type which always coalesces values. 2016-03-11 10:20:30 -05:00
Rob Rix
9586f6608b Rename Separated to Uncoalesced. 2016-03-11 10:18:14 -05:00
Rob Rix
fb546f0126 mappend is associative. 2016-03-11 10:16:44 -05:00
Rob Rix
e06d45637c Extract the monoid tests into a separate spec instantiated with a generator. 2016-03-11 10:16:37 -05:00
Rob Rix
26931e3394 mempty is the right identity under mappend. 2016-03-11 09:54:33 -05:00
Rob Rix
5a3867843d mempty is the left identity under mappend. 2016-03-11 09:54:05 -05:00
Rob Rix
322e56dd68 Run the Data.Adjoined spec. 2016-03-11 09:49:03 -05:00
Rob Rix
1815a74b68 Add a test of the reflexivity of equality. 2016-03-11 09:48:55 -05:00
Rob Rix
07e9e192e9 Scale the arbitrary term sizes down. 2016-03-11 09:32:03 -05:00
Rob Rix
e5f34dccd3 Scale the arbitrary term sizes down. 2016-03-11 09:22:17 -05:00
Rob Rix
710c3ae8ff Document Separated. 2016-03-11 09:13:39 -05:00
Rob Rix
7ff30ed5c6 Add a Coalescent instance for Separated. 2016-03-11 09:12:41 -05:00
Rob Rix
df8496a839 Add an Arbitrary instance over Separated. 2016-03-11 09:12:12 -05:00
Rob Rix
1e360dca67 Add a Separated newtype. 2016-03-11 09:12:00 -05:00
Rob Rix
1268f07c8a Add an Arbitrary instance over Adjoined. 2016-03-11 09:06:29 -05:00
Rob Rix
4e1d4706ee Stub in a Data.Adjoined spec module. 2016-03-11 09:06:03 -05:00
Rob Rix
be4f8551b6 Add a (deferred) fixture with asymmetrical context. 2016-03-11 00:50:48 -05:00
Rob Rix
e6bed33093 Defer a bunch of other tests too. 2016-03-11 00:43:19 -05:00
Rob Rix
00f58ece6a Disable the aligning closed lines test. 2016-03-11 00:41:18 -05:00
Rob Rix
e1f115a739 Defer on the simple insert test for now. 2016-03-11 00:38:40 -05:00
Rob Rix
ada35d21cd Defer on the reformat fixture too for now. 2016-03-11 00:37:00 -05:00
Rob Rix
2ceb04eb79 Tweak to the nested insert fixture. 2016-03-11 00:36:21 -05:00
Rob Rix
a4c3776456 Defer on the multiline insert test. 2016-03-11 00:34:51 -05:00
Rob Rix
c750a98f4b Use alignRows in the tests. 2016-03-10 19:48:28 -05:00
Rob Rix
62cdbacdfe Test that child alignment is preserved. 2016-03-10 17:48:17 -05:00
Rob Rix
736e7b95c7 Write the closed rows as Closed "". 2016-03-10 15:47:10 -05:00
Rob Rix
257c538300 Correct the expectation of the aligning test. 2016-03-10 15:46:31 -05:00
Rob Rix
68c34c11b4 Align the rows. 2016-03-10 15:45:55 -05:00
Rob Rix
9c0b512092 Make that Row Char. 2016-03-10 15:45:23 -05:00
Rob Rix
3d8df9bc4f Test against Row String. 2016-03-10 15:44:36 -05:00
Rob Rix
bfb02f420e Fix the open row test. 2016-03-10 15:44:07 -05:00
Rob Rix
1812bd6415 Construct arbitrary closed lines. 2016-03-10 15:38:19 -05:00
Rob Rix
5e950062e4 Correct the test of line count preservation. 2016-03-10 15:25:00 -05:00
Rob Rix
b2e8a0698a Correct the row prepending test. 2016-03-10 15:18:55 -05:00
Rob Rix
8ff5cd101d Rename the adjoinRows spec. 2016-03-10 14:52:06 -05:00
Rob Rix
8d36c20e9c Use Both’s Monoid instance directly. 2016-03-10 09:24:15 -05:00
Rob Rix
68a1fb9cf8 Simplify the open row merging test. 2016-03-10 09:23:47 -05:00
Rob Rix
0e07398b59 🔥 the predicate parameters in coalescing and adjoining. 2016-03-10 09:19:47 -05:00
Rob Rix
8fe3aad3cf Add a test fixture for a reformatted file. 2016-03-10 02:51:18 -05:00
Rob Rix
917b3db890 Add a test of multiline insertion split diff rendering. 2016-03-10 01:47:33 -05:00
Rob Rix
3913084af2 Add a test of nested insertion split diff rendering. 2016-03-10 01:44:34 -05:00
Rob Rix
df4c94bab9 Correct the insert fixture to not end with a newline. 2016-03-10 01:06:05 -05:00
Rob Rix
a965894d16 Correct the test of aligning closed lines. 2016-03-10 01:04:42 -05:00
Rob Rix
324fcfab31 Correct the test of prepending closed rows. 2016-03-10 01:03:38 -05:00
Rob Rix
9614994e53 Use the isEmpty predicate to test for line emptiness. 2016-03-10 00:37:21 -05:00
Rob Rix
223febc052 Add a test of insertions demonstrating that we put the empty line in the right place. 2016-03-09 09:48:10 -05:00
Rob Rix
ec0c1c448e Migrate the splitAnnotatedByLines tests to splitAbstractedTerm. 2016-03-09 09:32:51 -05:00
Rob Rix
5d150fd816 Abstract splitAbstractedTerm over an alignment function. 2016-03-09 05:02:54 -05:00
Rob Rix
789a7d1be8 Abstract splitAbstractedTerm over an Applicative Traversable Functor. 2016-03-09 04:57:30 -05:00
Rob Rix
73aa926bdc Generalize adjoinRowsBy to any Applicative with an aligning function. 2016-03-09 04:13:09 -05:00
Rob Rix
d18e044d5c Use Line, not makeLine. 2016-03-09 01:56:41 -05:00
Rob Rix
64384f407b Use the existing totalRange function in the alignment spec. 2016-03-09 01:44:36 -05:00
Rob Rix
086a3d53cb 🔥 Row. 2016-03-09 01:39:18 -05:00
Rob Rix
820d38847c 🔥 makeRow. 2016-03-09 01:35:47 -05:00
Rob Rix
cb66328f79 Replace Row with a type synonym for Both. 2016-03-09 01:35:01 -05:00
Rob Rix
43ab2d4523 Avoid isOpenRowBy. 2016-03-09 01:05:06 -05:00
Rob Rix
ebbf19953e Stop treating EmptyLine as distinct from an empty line. 2016-03-09 00:58:09 -05:00
Rob Rix
9f26748f3b Abstract splitAnnotatedByLines over a makeTerm parameter function. 2016-03-08 23:37:11 -05:00
Rob Rix
55f2c8d0cf Merge branch 'master' into data-dot-adjoined 2016-03-08 23:21:52 -05:00
Rob Rix
3cb0cd4ac4 Remove some obsolete tests. 2016-03-08 22:14:22 -05:00
Rob Rix
cef2be6495 Correct the predicate. 2016-03-08 22:10:35 -05:00
Rob Rix
0bc811e3c1 Replace MaybeOpen with simple predicates. 2016-03-08 22:07:38 -05:00
Rob Rix
b6edbcd078 Test that adjoinRowsBy aligns on closed lines. 2016-03-08 21:51:42 -05:00
joshvera
146632c2c7 parens 2016-03-08 16:20:17 -05:00
joshvera
8ddc5eb000 Add defaultPlainBlob 2016-03-08 16:05:01 -05:00
joshvera
54c86748ad we just say pure 2016-03-08 16:05:01 -05:00
Josh Vera
f6d8db46e8 Merge branch 'master' into add-modes 2016-03-08 13:23:43 -05:00
Rob Rix
50a99fe500 More predictable test of empty line promotion. 2016-03-08 10:19:05 -05:00
Rob Rix
30d8f05865 We order empty rows slightly differently now. 2016-03-08 10:15:21 -05:00
Rob Rix
c9f5154cc6 Correct the non-promotion test. 2016-03-07 19:56:57 -05:00
Rob Rix
368d943abc Correct the prepending test. 2016-03-07 19:54:55 -05:00
Rob Rix
acad320b73 Remove isEmptyLine. 2016-03-07 19:46:18 -05:00
Rob Rix
6bf8d10efd Remove isClosedBy. 2016-03-07 19:45:57 -05:00
Rob Rix
b100eb9674 Use isClosedRowBy as a predicate in the tests. 2016-03-07 19:45:39 -05:00
Rob Rix
a8286d66b1 Fix the isOpenRowBy use. 2016-03-07 19:45:25 -05:00
Rob Rix
1e31552397 Remove the tests of openLineBy. 2016-03-07 19:43:14 -05:00
Rob Rix
bf725daa90 Remove isOpenBy. 2016-03-07 19:43:01 -05:00
Rob Rix
a8cdb23694 Use isOpenRowBy. 2016-03-07 19:42:56 -05:00
Rob Rix
f7b4ecc1c1 Rename adjoinRowsByR to adjoinRowsBy. 2016-03-07 19:36:16 -05:00
Rob Rix
e81941f53d Migrate the tests to adjoinRowsByR. 2016-03-07 19:33:32 -05:00
joshvera
c5fc04904e Store modes as Word32 2016-03-07 19:20:28 -05:00
Rob Rix
b47bc5bc16 Apply some of hlint’s advice. 2016-03-07 16:33:30 -05:00
Rob Rix
488ec69895 shouldBe gives better error messages. 2016-03-07 16:28:39 -05:00
Rob Rix
abcd9803f3 Pass the Info & Syntax in directly. 2016-03-04 21:12:49 -05:00
Rob Rix
5c06ecc6d0 Define splitAbstractedTerm by catamorphism (more or less). 2016-03-04 21:07:26 -05:00
Rob Rix
f546977b33 splitAnnotatedByLines takes Both Infos directly. 2016-03-04 20:25:33 -05:00
Rob Rix
7cb85f6571 Define splitDiffByLines by catamorphism. 2016-03-04 19:53:47 -05:00
Rob Rix
651f0106e3 Migrate a couple of tests over to splitDiffByLines. 2016-03-04 19:53:28 -05:00
Rob Rix
3a555df147 Swap the order of the operands to splitPatchByLines. 2016-03-04 19:07:54 -05:00
Rob Rix
61e43f8c02 splitPatchByLines doesn’t take previous indices. 2016-03-04 12:28:48 -05:00
Rob Rix
0cf7ba393d Alignment returns ranged Rows. 2016-03-04 12:26:40 -05:00
Rob Rix
6ecb1336b9 Add a split fixture for the newline-at-eof test. 2016-03-04 12:19:06 -05:00
Rob Rix
ecf5037fa4 Add a split fixture for the no-newline-at-eof test. 2016-03-04 12:18:33 -05:00
joshvera
a2dcdcab6e Fix tests 2016-03-03 17:41:15 -05:00
Rob Rix
e1f12e3c35 Verify that splitPatchByLines obeys the initial indices. 2016-03-03 15:40:41 -05:00
Rob Rix
aa389a9e99 Add a function to construct a leaf within a source. 2016-03-03 15:34:07 -05:00
Rob Rix
7a71b76d99 Simplify leafWithRangesInSources. 2016-03-03 15:33:31 -05:00
Rob Rix
1d89c90e38 Add a function to construct a patch from Both input terms. 2016-03-03 15:00:01 -05:00
Rob Rix
7104835753 Add an Arbitrary instance for Patch. 2016-03-03 14:59:33 -05:00
Rob Rix
7a3da76448 splitAbstractedTerm returns lines containing diff/range pairs. 2016-03-03 13:41:56 -05:00
Rob Rix
723f14aa4c Test splitAbstractedTerm. 2016-03-03 11:39:23 -05:00
Rob Rix
8e78339c39 🔥 openTerm. 2016-03-03 09:02:33 -05:00
Rob Rix
4fe82ec41b Move the move crash test fixtures into the fixed pile 💃 2016-03-02 18:48:53 -05:00
Rob Rix
8ed7620f40 #433 has been fixed. 2016-03-02 15:02:58 -05:00
Rob Rix
685c6a01de Merge branch 'master' into sort-keyed-children-by-range 2016-03-02 12:30:02 -05:00
Rob Rix
dab1ae79a0 Test that moves crash. 2016-03-02 12:15:10 -05:00
Rob Rix
d6a4fb5daa Add a second pair of fixtures for #433. 2016-03-02 12:12:11 -05:00
Rob Rix
87eb17bb6b Rename the fixtures for #433. 2016-03-02 12:12:02 -05:00
Rob Rix
440f741658 Restore the crashers crash test to working.
cc @mdiep
2016-03-02 12:09:58 -05:00
Rob Rix
53413003c6 Merge branch 'master' into forward-compatible-rendering 2016-03-02 11:31:09 -05:00
Rob Rix
ce65a540d2 Rebuild the fixtures. 2016-03-02 08:30:34 -05:00
Rob Rix
3f7cdf88a7 Regenerate the JSON fixtures. 2016-03-02 08:18:25 -05:00
joshvera
b124b461c0 Empty diffs have empty hunks 2016-03-01 17:13:53 -05:00
Rob Rix
2f47270400 Add a split diff fixture. 2016-03-01 16:32:08 -05:00
Rob Rix
d4efc9e7d5 Remove a diff in a format we no longer support. 2016-03-01 16:32:02 -05:00
Rob Rix
a34250e619 Bump the fixtures again. 2016-03-01 14:36:50 -05:00
Rob Rix
ab77d09bb6 Bump all the fixtures. 2016-03-01 14:30:33 -05:00
Rob Rix
e894d63a6c Merge branch 'master' into forward-compatible-rendering
# Conflicts:
#	src/DiffOutput.hs
#	src/Renderer/Split.hs
#	test/CorpusSpec.hs
2016-03-01 12:34:40 -05:00
Rob Rix
435dde0888 Bump the fixtures again. 2016-02-29 22:05:25 -05:00
Rob Rix
8e5bb19ec2 More fixture bumping. 2016-02-29 21:53:38 -05:00
Rob Rix
9260faf3af Update the fixtures. 2016-02-29 21:46:30 -05:00
Rob Rix
65ee064cda Bump the fixtures. 2016-02-29 21:22:17 -05:00
Rob Rix
e3ac671f1b Bump the fixtures. 2016-02-29 20:53:36 -05:00
Rob Rix
d92bab31fd Generate the JSON with aeson instead. 2016-02-29 20:52:30 -05:00
Rob Rix
ae149c94ff Use runBothWith to tidy up a few computations. 2016-02-29 19:43:57 -05:00
Rob Rix
7548e148dc Rename runLeft/runRight to fst/snd. 2016-02-29 19:39:04 -05:00
Rob Rix
fe6c42da4c Add newline at eof & no newline at eof test cases. 2016-02-29 18:13:23 -05:00
Rob Rix
39b86b2886 Add a test case for dictionary.js in json format. 2016-02-29 18:12:08 -05:00
Rob Rix
46b85eea05 Merge branch 'master' into forward-compatible-rendering 2016-02-29 14:11:14 -05:00
Rob Rix
ac39e73691 Line’s Monoid instance will do just fine here. 2016-02-29 10:38:39 -05:00
Rob Rix
665ffa4133 We don’t need to destructure the Rows in the append test. 2016-02-29 10:33:29 -05:00
Rob Rix
df2b684229 Simplify how we compute combineIntoLeaves. 2016-02-29 10:31:53 -05:00
Rob Rix
7048a61660 Define leafWIthRangesInSources over Both. 2016-02-29 10:30:33 -05:00
Rob Rix
c889174aee Use Both to represent Diff annotations. 2016-02-29 10:12:34 -05:00
Rob Rix
0628793ab4 Use the Applicative instance in a test. 2016-02-29 09:29:50 -05:00
Rob Rix
a8efcb539a Row wraps a Both. 2016-02-29 09:22:52 -05:00
Rob Rix
1abab2bbce adjoinRowsBy applies Both MaybeOpen tests. 2016-02-29 08:55:30 -05:00
joshvera
2c4acfb14f Disambiguate the tests. 2016-02-29 07:45:24 -05:00
Rob Rix
9f09b39b98 100% undiluted pure mempty. 2016-02-28 22:21:17 -05:00
Rob Rix
a6c1ec1ddf Curry. 2016-02-28 22:18:44 -05:00
Rob Rix
3cf56fb635 Map the corpus tests over Both input files. 2016-02-28 22:13:32 -05:00
Rob Rix
0d77576a52 Represent categories in Both. 2016-02-28 22:10:02 -05:00
Rob Rix
81a1a14d4c Represent the input Ranges in Both. 2016-02-28 22:01:21 -05:00
Rob Rix
863251183f Represent alignment sources in Both. 2016-02-28 21:43:47 -05:00
Rob Rix
0626228917 Data.Bifunctor.Join is actually Data.Functor.Both. 2016-02-28 21:29:59 -05:00
Rob Rix
ea87105b4b Use Join for sources everywhere. 2016-02-28 21:10:56 -05:00
Rob Rix
eef4da87b4 Extract the paths into a binding. 2016-02-28 21:08:07 -05:00
Rob Rix
d6fb451ebd Rename SplitSpec to AlignmentSpec. 2016-02-28 14:05:19 -05:00
Rob Rix
e31edf6b3c Move the alignment bits of Split into the Alignment module. 2016-02-28 14:01:56 -05:00
Rob Rix
1ba036b495 Merge branch 'master' into forward-compatible-rendering
# Conflicts:
#	src/DiffOutput.hs
#	test/CorpusSpec.hs
#	tools/semantic-difftool/src/Main.hs
2016-02-28 13:26:50 -05:00
Rob Rix
95e0371ea1 Remove a redundant import. 2016-02-26 19:05:42 -05:00
Rob Rix
1d3ae0b902 Remove unified diffs from the corpus. 2016-02-26 19:04:47 -05:00
Rob Rix
2da6a3527b Test JSON. 2016-02-25 14:19:33 -07:00
Rob Rix
fcd8571274 Move Unified under Renderer. 2016-02-25 13:50:35 -07:00
Rob Rix
f8214a9872 Move Split under Renderer. 2016-02-25 13:32:39 -07:00
Rob Rix
f44455c372 Rename Renderer.PatchOutput to Renderer.Patch. 2016-02-25 13:20:25 -07:00
Rob Rix
c710b3c713 Move PatchOutput into Renderer. 2016-02-25 13:14:56 -07:00
joshvera
35355a2e91 Expect diff headers 2016-02-22 14:04:39 -07:00
joshvera
d7db984616 Merge remote-tracking branch 'origin/master' into git-patch-modes 2016-02-22 13:54:32 -07:00
Rob Rix
0ed730eac2 Correct the patch header. 2016-02-22 13:31:18 -07:00
Rob Rix
43445e565c Merge branch 'master' into test-patch-output 2016-02-22 13:22:17 -07:00
Rob Rix
88693119e0 Re-un-enable the crashers-todo tests. 2016-02-22 13:21:23 -07:00
Rob Rix
66b3a18ac0 Enable crashers-todo. 2016-02-22 13:19:58 -07:00
Rob Rix
7e6a01627b Add tests with a newline at EOF. 2016-02-22 13:02:01 -07:00
Rob Rix
3094e62066 Add tests without a newline at EOF. 2016-02-22 13:00:05 -07:00
Rob Rix
9873e4bf8d Pass the matcher into testDiff. 2016-02-22 12:57:16 -07:00
Rob Rix
236f3b30f8 Pass the curried matcher in. 2016-02-22 12:38:49 -07:00
Matt Diephouse
f09676d6b4 Do ALL the tests in parallel 2016-02-17 17:44:37 -05:00
Matt Diephouse
8f4699cade Do these in parallel 2016-02-17 17:43:59 -05:00
Matt Diephouse
565c7b6ca8 Add todo tests 2016-02-17 17:42:27 -05:00
Matt Diephouse
d84ad8ef15 Add a fixed crasher 2016-02-17 17:18:52 -05:00
Matt Diephouse
01f401edfb Add a passing diff test 2016-02-17 17:18:40 -05:00
Matt Diephouse
f1f7ca26c7 Rename test fixture to have format name 2016-02-17 17:18:29 -05:00
Matt Diephouse
a9d9a06440 Include the format name 2016-02-17 17:14:42 -05:00
Matt Diephouse
5af83691fd Test different output formats 2016-02-17 17:10:04 -05:00
Matt Diephouse
7dbbe1ff9e Load patch and split files too 2016-02-17 16:10:28 -05:00
Matt Diephouse
41063f6dc8 Add a function to test --split 2016-02-17 16:06:24 -05:00
Matt Diephouse
274a4b7af7 Denote that this is --unified 2016-02-17 16:00:06 -05:00
Matt Diephouse
5c1e1ce597 Shorter names 2016-02-17 15:59:16 -05:00
Matt Diephouse
bf12a2a13e Pass a renderer into testDiff 2016-02-17 15:54:37 -05:00
Matt Diephouse
548395aa5f Make A and B required 2016-02-17 15:21:37 -05:00
Matt Diephouse
9c2e4f78d2 Move failing tests to todo dirs 2016-02-17 12:57:10 -05:00
Matt Diephouse
ed1a89b6b7 Also test that test/diffs/ isn't empty 2016-02-17 12:54:42 -05:00
Matt Diephouse
f743eef743 Add a test for word diffs 2016-02-16 16:43:37 -05:00
Matt Diephouse
c8edf79abb Add a spec for test files 2016-02-16 16:38:31 -05:00
Matt Diephouse
ac053940fe Add a spec for on-disk tests 2016-02-16 12:33:41 -05:00
joshvera
e008fda7d1 output the right paths in patch 2016-02-10 11:32:26 -08:00
Matt Diephouse
110149673a Add staticgories to ArbitraryTerm.hs 2016-02-09 11:43:13 -08:00
Matt Diephouse
170b7c6e1e Rename Categorizable module to Category 2016-02-04 13:59:33 -05:00
Josh Vera
768ca30a7b Merge pull request #385 from github/data-dot-ordered-map
Move OrderedMap into Data.
2016-01-06 13:09:22 -05:00
Rob Rix
7af5a4876a Move OrderedMap into Data. 2016-01-06 11:56:58 -05:00
Rob Rix
924087d59a Manual spec inclusion. 2016-01-05 11:27:37 -05:00
Rob Rix
271d47f8f4 Remove the main function from TermSpec. 2016-01-05 11:26:49 -05:00
Rob Rix
801d0e1d54 Remove some redundant imports from TermSpec. 2016-01-05 11:26:43 -05:00
Rob Rix
12fc39be6e Apply some linter suggestions re: do. 2016-01-05 10:41:40 -05:00
Rob Rix
21b537da5c Apply some linter suggestions re: parens. 2016-01-05 10:41:26 -05:00
Rob Rix
0590af9bc9 Allow all of the tests to run in parallel. 2016-01-05 10:38:51 -05:00
Rob Rix
09459a3421 Merge branch 'master' into patch 2015-12-30 18:55:42 -05:00
Rob Rix
8b4d158f4c Pass sources as a pair. 2015-12-30 15:31:27 -05:00
Rob Rix
4e96478cbb Merge branch 'diff-performance' into patch
# Conflicts:
#	src/Split.hs
2015-12-30 12:17:33 -05:00
joshvera
c69cd164cd Merge remote-tracking branch 'origin/master' into use-text 2015-12-30 12:07:52 -05:00
Rob Rix
96f98b6bed Revert "Generate syntax with String leaves."
This reverts commit ba92cc702f8f4585fbcb8eb61a2567b3c336afd4.
2015-12-30 10:39:28 -05:00
Rob Rix
b54c4c8265 Bool, not (). 2015-12-30 10:33:49 -05:00
Rob Rix
ad31669f07 Revert "Generalize openMaybe."
This reverts commit 9a056744cfb33ac0454d07fd89356fb620b7cb50.
2015-12-30 10:33:28 -05:00
Rob Rix
3e3c7be082 Test openLineBy over openMaybe. 2015-12-30 10:31:30 -05:00
Rob Rix
d5d8095a4e pure. 2015-12-30 10:28:40 -05:00
Rob Rix
494d7f83c8 Spacing. 2015-12-30 10:28:16 -05:00
Rob Rix
093700c571 Generalize openMaybe. 2015-12-30 10:27:45 -05:00
Rob Rix
6dfb6b3ff7 Wrap terms in Identity. 2015-12-30 10:26:40 -05:00
joshvera
28e5b60bbc fix tests 2015-12-29 15:24:13 -05:00
joshvera
a3051c531d Merge remote-tracking branch 'origin/master' into use-text 2015-12-29 15:13:57 -05:00
Rob Rix
7342c93038 Revert "Extend Row’s Arbitrary instance to two parameters."
This reverts commit 8d48b02705633ee97aa894b1ca5b3af043b3422c.
2015-12-29 14:58:06 -05:00
Rob Rix
ee3c3c8bd0 Extend Row’s Arbitrary instance to two parameters. 2015-12-29 14:42:35 -05:00
Rob Rix
5416edbcc4 Generate syntax with String leaves.
This reverts commit 3c4056c094f88daf1b6aa5c7f41799aa595ccdce.
2015-12-29 10:21:09 -05:00
Rob Rix
c9ab8a131d Correct the tests. 2015-12-24 16:38:50 -05:00
Rob Rix
0866ef52bd Merge branch 'diff-performance' into patch 2015-12-24 16:33:24 -05:00
Rob Rix
7a49534034 Use makeLine as appropriate in the tests. 2015-12-24 10:44:40 -05:00
Rob Rix
d355f268e6 Hide ++ in the tests. 2015-12-23 23:44:02 -05:00
Rob Rix
69aadf4ec5 Rename makeSourcefromList. 2015-12-23 23:37:51 -05:00
Rob Rix
b138864068 Correct the tests. 2015-12-23 23:36:49 -05:00
Rob Rix
0bb6462fad Rename unSource to toList. 2015-12-23 23:26:37 -05:00
Rob Rix
e9449fccb8 Move Source & its API to the Source module. 2015-12-23 22:38:20 -05:00
Rob Rix
d7ad161495 Build leaves from the sources on either side. 2015-12-23 22:34:27 -05:00
Rob Rix
2e823392d1 Filter the strings in the sources. 2015-12-23 22:30:11 -05:00
Rob Rix
f1ab391423 arbitraryLeaf produces a Source. 2015-12-23 22:27:48 -05:00
Rob Rix
5e8e9bda5f Construct leaves with subsources. 2015-12-23 22:27:42 -05:00
Rob Rix
7b6bc623c9 Get some more total ranges from sources. 2015-12-23 22:27:30 -05:00
Rob Rix
adc850f328 Unwrap the source before filtering. 2015-12-23 22:27:21 -05:00
Rob Rix
75ead61274 Move getTotalRange into the tests.
It’s kind of a lie.
2015-12-23 22:20:35 -05:00
Rob Rix
99b04b4038 isOnSingleLine takes a Source. 2015-12-23 22:19:29 -05:00
Rob Rix
e0560d272b Use getTotalRange in the tests. 2015-12-23 22:18:10 -05:00
Rob Rix
60aecae119 Add an Arbitrary instance over Source. 2015-12-23 22:18:01 -05:00
Rob Rix
4219f438be Make sources in the openLineBy tests. 2015-12-23 22:10:30 -05:00
Rob Rix
6049a99ed7 Merge branch 'split-refactoring' into patch 2015-12-22 19:01:50 -05:00
Rob Rix
e2cc92bdf7 Move Row into the Row module. 2015-12-22 17:24:58 -05:00
Rob Rix
4c395ff1d1 Import the Line module in the tests. 2015-12-22 17:22:07 -05:00
Rob Rix
1621dca3bc Remove the offset functions. 2015-12-22 17:12:08 -05:00
Rob Rix
08d03e933c Remove the term construction helpers. 2015-12-22 17:11:49 -05:00
Rob Rix
ddf4ccd141 Remove the row text functions. 2015-12-22 17:10:57 -05:00
Rob Rix
3d1fb64cbc Remove span. 2015-12-22 17:10:49 -05:00
Rob Rix
52a057b577 Remove the Arbitrary instance for HTML. 2015-12-22 17:08:50 -05:00
Rob Rix
6663dfe87b openMaybe is defined over Maybe Bool. 2015-12-22 17:08:02 -05:00
Rob Rix
b121ee54e3 Remove openString. 2015-12-22 17:06:55 -05:00
Rob Rix
821ee2e792 Test the identity case via openMaybe. 2015-12-22 17:06:51 -05:00
Rob Rix
cf00dcd95e Test appending onto open rows via openMaybe. 2015-12-22 17:06:45 -05:00
Rob Rix
cfee3a90fc Test promoting onto open lines via openMaybe. 2015-12-22 17:06:09 -05:00
Rob Rix
8f34f04dae Test not promoting onto closed lines via openMaybe. 2015-12-22 17:05:35 -05:00
Rob Rix
7b2ac76422 Test not appending onto closed rows by means of openMaybe.
This is much faster.
2015-12-22 17:05:02 -05:00
Rob Rix
208df10e1a Add an openMaybe function for quicker open/closed tests. 2015-12-22 17:02:34 -05:00
Rob Rix
c643f2ed58 Test not appending onto closed rows over strings. 2015-12-22 16:56:22 -05:00
Rob Rix
8c71fff97a Test appending onto open rows over strings. 2015-12-22 16:55:53 -05:00
Rob Rix
cfa82876c1 Generalize the isOpen predicate. 2015-12-22 16:55:18 -05:00
Rob Rix
631e572ab3 Generalize the isClosed predicate. 2015-12-22 16:55:13 -05:00
Rob Rix
8599fd46d9 Test adjoinRowsBy using openString. 2015-12-22 16:52:36 -05:00
Rob Rix
3adfd06d5a Add an open string selector. 2015-12-22 16:52:20 -05:00
Rob Rix
bbbd874722 Remove the openLineBy tests using openElement. 2015-12-22 16:35:23 -05:00
Rob Rix
bd3bee668a Generalize the splitTermByLines test across arbitrary strings. 2015-12-22 16:34:32 -05:00
Rob Rix
ebb843ef4d Remove the termToLines test. 2015-12-22 16:29:14 -05:00
Rob Rix
c41364a743 Remove the remaining annotatedToRows tests. 2015-12-22 16:28:49 -05:00
Rob Rix
9a496a6be5 Populate the indexed term with leaves. 2015-12-22 16:26:24 -05:00
Rob Rix
1b90bc0291 Add a function to construct a leaf from a pair of line ranges. 2015-12-22 16:26:07 -05:00
Rob Rix
6510e95526 Test that we always produce the maximum of the lines in two sources. 2015-12-22 16:10:05 -05:00
Rob Rix
603e750d67 Remove an unused let binding. 2015-12-22 15:55:59 -05:00
Rob Rix
ef027dba36 Test that we preserve the line counts in equal diffs. 2015-12-22 15:48:37 -05:00
Rob Rix
9e6f415dc6 Port the single-line empty unchanged indexed diff test to splitAnnotatedByLines. 2015-12-22 15:38:18 -05:00
Rob Rix
b3c0802e55 Use the abstracted predicate. 2015-12-22 14:44:57 -05:00
Rob Rix
780c8247a3 Abstract out a predicate for terms on a single line. 2015-12-22 14:44:49 -05:00
Rob Rix
b970f02c1d Don’t offset arbitrary leaves. 2015-12-22 13:38:44 -05:00
Rob Rix
bf05d63401 Rename the tripling function. 2015-12-22 13:31:31 -05:00
Rob Rix
5a552dc97c Simplify the single-line unchanged leaf property. 2015-12-22 13:29:36 -05:00
Rob Rix
0422098f9b arbitraryLeaf doesn’t construct terms. 2015-12-22 13:29:12 -05:00
Rob Rix
aaaf8f27a4 Stub in a function to make arbitrary leaves & sources in some type. 2015-12-22 13:16:03 -05:00
Rob Rix
867772d749 Remove the corresponding annotatedToRows test. 2015-12-22 13:04:39 -05:00
Rob Rix
2a8a879590 Remove the hard-coded test. 2015-12-22 13:04:33 -05:00
Rob Rix
c4da8fb229 Generalize the single-line leaf test to arbitrary sources. 2015-12-22 13:04:07 -05:00
Rob Rix
690966086e Remove some redundant parentheses. 2015-12-22 12:54:01 -05:00
Rob Rix
38a317156b Move arbitrary term generation into its own module. 2015-12-22 12:53:31 -05:00
Rob Rix
fbe899be21 Remove the changed flag from Line. 2015-12-22 12:47:12 -05:00
Rob Rix
3b3a62a777 Test that single-line leaves are split correctly. 2015-12-22 12:39:54 -05:00
Rob Rix
597fe099bc Pass an additional open predicate to adjoinRowsBy. 2015-12-21 23:09:14 -05:00
Rob Rix
2c3ff54dc6 Assertive assertions. 2015-12-21 20:23:56 -05:00
Rob Rix
1f6440e7a1 Test that openTerm returns Just for open terms. 2015-12-21 20:08:05 -05:00
Rob Rix
41e03beb85 Tweak the test name’s wording. 2015-12-21 20:07:53 -05:00
Rob Rix
7ee39b2d40 Test that openTerm classifies strings ending with newlines as closed. 2015-12-21 20:06:19 -05:00
Rob Rix
d1abf65cdd Test openLineBy over openTerm. 2015-12-21 20:04:05 -05:00
Rob Rix
60edd3b19a Omit the categories in the splitTermByLines test. 2015-12-21 20:02:17 -05:00
Rob Rix
b45e10eb92 Port the termToLines test to splitTermByLines. 2015-12-21 19:54:40 -05:00
Rob Rix
61067a6f2a Remove the ranges from the annotatedToRows tests. 2015-12-21 19:44:07 -05:00
Rob Rix
cbc1240946 Avoid needless $s. 2015-12-21 13:03:08 -05:00
Rob Rix
671904cf61 Remove redundant parentheses. 2015-12-21 13:01:46 -05:00
Rob Rix
c0a566be4a Eta-reduce the definition of unchanged. 2015-12-21 13:01:38 -05:00
Rob Rix
3c85d4d0af Use Data.Maybe’s isJust & isNothing to test for open elements. 2015-12-21 13:00:46 -05:00
Rob Rix
64362581c4 Rename adjoinBy → adjoinRowsBy. 2015-12-21 12:57:50 -05:00
Rob Rix
d4cfb276a4 Rename adjoin2By → adjoinBy. 2015-12-21 12:57:11 -05:00
Rob Rix
446383565c Test adjoin2By. 2015-12-21 10:04:47 -05:00
Rob Rix
9404ee75c3 Test openLineBy, not openLine. 2015-12-21 10:01:00 -05:00
Rob Rix
c9f13f2f41 Define the arbitrary instances for Row and Line in terms of an Arbitrary type a. 2015-12-21 09:58:20 -05:00
Rob Rix
7964727da6 Add a type parameter to Line. 2015-12-18 16:41:50 -05:00
Rob Rix
eb89e828bb Add a type parameter to Row.
Currently it’s a phantom type.
2015-12-18 16:37:16 -05:00
joshvera
9617e7a842 import Data.Text.Arbitrary in SplitSpec/TermSpec 2015-12-18 15:03:54 -05:00
joshvera
c5e214a5d2 Use Text.mempty in RangeSpec 2015-12-18 15:03:36 -05:00
Rob Rix
e8f57d6b27 Remove the redundant test. 2015-12-18 13:58:13 -05:00
Rob Rix
60edfc661a Test promotion through empty lines. 2015-12-18 13:58:02 -05:00
Rob Rix
de456dfe49 Remove the redundant test. 2015-12-18 13:40:54 -05:00
Rob Rix
e1cc29e032 Don’t expect empty rows to be elided. 2015-12-18 13:27:16 -05:00
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