1
1
mirror of https://github.com/github/semantic.git synced 2024-12-03 00:16:52 +03:00
Commit Graph

674 Commits

Author SHA1 Message Date
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