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

2040 Commits

Author SHA1 Message Date
Timothy Clem
d7317e7360 Fix up Ruby case/when parsing 2016-12-06 08:14:23 -08:00
Rick Winfrey
171544de29 Merge branch 'master' into javascript-improvements 2016-12-05 18:07:51 -06:00
Timothy Clem
e16055d71b Bit Ruby TODO list 2016-12-05 15:58:20 -08:00
Timothy Clem
37098cf5c1 Fix up JavaScript return summaries due to new shape 2016-12-05 15:57:20 -08:00
Timothy Clem
2ee93b4525 New shape for yield statements 2016-12-05 15:56:18 -08:00
Timothy Clem
47402c7c8a New shape for return statements 2016-12-05 15:54:59 -08:00
Timothy Clem
8bd7463dc2 Remove new_go.json 2016-12-05 14:53:24 -08:00
Timothy Clem
e7775aa7ff Fix up go tests (sort of) 2016-12-05 14:52:11 -08:00
Timothy Clem
a3b87fbe84 Remove stack clean call in build 2016-12-05 13:19:52 -08:00
Timothy Clem
fdf3c5d276 Fix up crazy span numbers in javascript tests 2016-12-05 13:02:46 -08:00
joshvera
89754d574a update tests 2016-12-01 16:07:40 -05:00
joshvera
b9ac5d866d update tests 2016-12-01 16:03:52 -05:00
Rick Winfrey
c23afa4682 Remove new_javascript.json generator file 2016-11-30 18:20:03 -06:00
Rick Winfrey
df5bb88c9e Update tests to include continue, yield and break statements 2016-11-30 18:19:10 -06:00
Rick Winfrey
bab0debf6d Merge branch 'master' into parser-option 2016-11-22 15:19:30 -06:00
joshvera
f71c35d617 Handle every case by pattern matching on name in termConstructor instead of (name, children) 2016-11-22 15:10:10 -05:00
joshvera
165b6bae6f update tests 2016-11-22 13:51:11 -05:00
joshvera
0ea0ff83d0 update tests 2016-11-22 13:34:21 -05:00
joshvera
c434f79162 Merge remote-tracking branch 'origin/master' into go-parser 2016-11-22 11:30:48 -05:00
joshvera
2f542a3952 update tests 2016-11-21 15:47:41 -05:00
joshvera
231310a484 update tests 2016-11-21 14:39:16 -05:00
joshvera
807752e33d Map indexed expressions to subscript access 2016-11-14 19:12:17 -05:00
joshvera
30a3961409 Add go, defer, and subscript access statements 2016-11-14 19:05:02 -05:00
joshvera
6e248e76f0 Add select statements 2016-11-14 17:47:04 -05:00
joshvera
a1d9ccdcc9 ++type switch tests 2016-11-14 17:26:06 -05:00
Timothy Clem
b368c80fb7 Last tree-sitter-parser bump 2016-11-10 15:47:18 -08:00
joshvera
8dbac2c98a switch statements 2016-11-10 16:19:53 -05:00
Timothy Clem
d8b260e35e Remove new_ruby 2016-11-10 12:55:42 -08:00
Timothy Clem
3f5e78c483 Slightly different approach to hash arg summaries 2016-11-10 12:51:48 -08:00
joshvera
524c151968 ++tests 2016-11-10 15:36:44 -05:00
Timothy Clem
5b27115ae3 Test out that unnamed parameters work OK 2016-11-09 13:44:33 -08:00
Timothy Clem
35dd550533 Keyword and positional params 2016-11-09 13:42:41 -08:00
Timothy Clem
d98d96688d Support keyword and hash arguments in Ruby 2016-11-09 10:48:50 -08:00
Timothy Clem
d978ff86b4 Get identation right for module 2016-11-08 15:54:02 -08:00
Timothy Clem
cafcd8fd91 Implement unless as a Negate syntax 2016-11-07 13:12:53 -08:00
Timothy Clem
b541a903dd Collapse up Ruby begin with Try syntax 2016-11-07 10:26:59 -08:00
Timothy Clem
463d075879 Refactor ruby case/when into switch/case Syntax and start on elsif 2016-11-04 15:35:09 -07:00
Timothy Clem
961ea9a1de Fix ruby function v. method calls 2016-11-04 14:49:39 -07:00
Timothy Clem
4ff0ccf653 New module/ternary test cases, back to broken multiple assignments 2016-11-04 12:57:08 -07:00
Timothy Clem
eee81e55fa Summaries look like this now 2016-11-04 12:56:04 -07:00
Timothy Clem
c02c32ac7c Back to a single Rescue syntax 2016-11-04 12:29:02 -07:00
Timothy Clem
345d4ed12e Squotes on method context summaries 2016-11-04 08:08:45 -07:00
Rick Winfrey
7398e1cf4e Import Parse 2016-11-03 18:17:25 -05:00
Timothy Clem
91798e1fb2 Show diffs in test cases. sha1, sha2 -> shas 2016-11-03 16:02:56 -07:00
Rick Winfrey
a637b78d90 Update callsites 2016-11-03 16:48:17 -05:00
Timothy Clem
c7fd3e7434 A few updated JavaScript summaries 2016-11-03 14:34:26 -07:00
Timothy Clem
70b4a3714c Regenerate to catch method updates 2016-11-03 14:27:47 -07:00
Timothy Clem
769413813c Better begin and method declaration parsing and summaries 2016-11-03 14:24:05 -07:00
Timothy Clem
947a7f1602 No longer needed 2016-11-03 13:28:51 -07:00
Timothy Clem
6d32be890f Updated rescue and when tests 2016-11-03 13:26:53 -07:00
Timothy Clem
0bb8286a06 Didn't mean to commit this 2016-11-03 13:26:10 -07:00
Timothy Clem
8df2dca93b Improve begin and when testing 2016-11-03 13:11:02 -07:00
Timothy Clem
c02dbb071f New ensure and elseif tests with new template feature 2016-11-03 13:01:39 -07:00
Timothy Clem
aefd1e11dc Merge branch 'template-syntax' into more-ruby-parsing 2016-11-03 11:34:14 -07:00
Timothy Clem
4a3ded2302 Enable syntax level templating in test case generation 2016-11-03 11:07:10 -07:00
Timothy Clem
4daf39476e Parse rescue modifiers 2016-11-03 09:23:35 -07:00
Timothy Clem
a98185f1a6 Rescue blocks in all their glory 2016-11-02 17:18:09 -07:00
Timothy Clem
60de73b079 Revert some corpus changes that aren't needed 2016-11-02 17:10:18 -07:00
joshvera
733804973d update for-loop tests 2016-11-02 18:46:48 -04:00
joshvera
beb466c260 Fix if statement tests 2016-11-02 18:09:32 -04:00
Timothy Clem
2e4c4ee194 Fully test case/when/else 2016-11-02 13:46:33 -07:00
joshvera
cbaab076d0 update tests 2016-11-02 16:46:17 -04:00
Timothy Clem
fbe7bc7c13 Better handling of case/when 2016-11-02 13:42:06 -07:00
joshvera
e45fd2d682 Fix grouped-var-declaration tests 2016-11-02 16:35:38 -04:00
joshvera
60af2fb271 regenerate tests 2016-11-02 16:29:27 -04:00
joshvera
061d605d2d Fix tests for const-declarations-with-types, const-with-implicit-values 2016-11-02 16:14:44 -04:00
Timothy Clem
295d03dd43 Handle rescue blocks 2016-11-02 13:05:30 -07:00
Timothy Clem
71f53b37fd Handle ensure blocks and refactor to BlockExpression syntax 2016-11-02 12:55:48 -07:00
joshvera
a0941c757d Explode out const-declarations-with-types 2016-11-02 15:47:59 -04:00
joshvera
192897a37f Fix const-declarations-without-types tests 2016-11-02 15:43:26 -04:00
Timothy Clem
6eebd35a8f Improved elsif parsing and summaries 2016-11-02 12:32:46 -07:00
joshvera
0d58e97070 Merge remote-tracking branch 'origin/master' into go-parser 2016-11-02 15:25:50 -04:00
joshvera
342de506b4 update tests 2016-11-02 15:13:54 -04:00
joshvera
53f3600897 remove extra template-string.json 2016-11-02 15:01:11 -04:00
joshvera
96ea6f8e11 add all of the tests 2016-11-02 14:37:30 -04:00
Timothy Clem
185f1de69c Better handling of else blocks 2016-11-02 11:16:57 -07:00
Timothy Clem
2c1497ab99 Handle else blocks in begin statements 2016-11-02 11:10:01 -07:00
Timothy Clem
fc73be16d7 Better handling of begin statements 2016-11-02 10:52:40 -07:00
joshvera
b27bf0e72c add string literals 2016-11-02 11:07:06 -04:00
joshvera
eff1394ee0 Add imaginary literals 2016-11-02 11:02:55 -04:00
joshvera
edd6ebd511 Add rune literals 2016-11-02 11:02:00 -04:00
joshvera
968186b2da generate tests 2016-11-02 10:50:05 -04:00
joshvera
e217e26a81 Add more terms to generate 2016-11-02 10:47:56 -04:00
joshvera
7580ec3248 add for, switch, and var stubs 2016-11-01 22:05:43 -04:00
joshvera
bbcfd2fcb7 add var declarations 2016-11-01 21:41:49 -04:00
joshvera
8e371856fa add imports 2016-11-01 21:36:43 -04:00
joshvera
fb99a1421a stub int literal 2016-11-01 16:33:43 -04:00
joshvera
533d43bd70 Parse function literals 2016-11-01 16:24:34 -04:00
joshvera
0a085edfeb stub function-literal 2016-11-01 14:36:23 -04:00
joshvera
05f3929b6a Merge remote-tracking branch 'origin/master' into go-parser 2016-11-01 12:48:15 -04:00
Timothy Clem
6cac25d2a9 Merge remote-tracking branch 'origin/master' into ruby 2016-11-01 08:50:54 -07:00
Rick Winfrey
fb73232449 Verify tests and generation are 👌 2016-11-01 10:19:04 -05:00
Rick Winfrey
d09d0d65d2 Remove EmptyResult constructor (no longer used) 2016-11-01 10:06:55 -05:00
Rick Winfrey
c058ac634d Remove auto-formatted alignment 2016-11-01 10:06:36 -05:00
Rick Winfrey
67adf75fdf ++JavaScript tests 2016-11-01 10:03:25 -05:00
Rick Winfrey
35ff284569 Remove warning unnecessary do 2016-11-01 09:52:09 -05:00
Rick Winfrey
d9adbe8783 Simplify JSONMetaRepo fields 2016-11-01 09:51:54 -05:00
joshvera
95037e1b75 Add const declarations 2016-10-31 21:09:57 -04:00
joshvera
917732c48b add const declarations 2016-10-31 19:23:25 -04:00
joshvera
3b3c800193 parse function calls 2016-10-31 18:22:10 -04:00
joshvera
19f42de32c ++tests 2016-10-31 17:29:40 -04:00
joshvera
16e492e705 ++go 2016-10-31 17:24:00 -04:00
joshvera
14271201ab update assignment.json 2016-10-31 17:14:18 -04:00
joshvera
52420da2dd remove go-test repo 2016-10-31 17:13:57 -04:00
Timothy Clem
5f20127044 Stub out expected todo for ruby control statements 2016-10-31 13:56:19 -07:00
Timothy Clem
37ac36e22c Regenerate with s/_/- and todos 2016-10-31 13:21:58 -07:00
Timothy Clem
2c96933c29 Generate to fix multiple-assignment 2016-10-31 13:14:58 -07:00
Timothy Clem
9ac247dbd4 Element reference parsing, control statement tests 2016-10-31 10:15:44 -07:00
Rick Winfrey
532a29aeec Rename SemanticGitDiffSpec.hs -> IntegrationFormatSpec.hs 2016-10-27 21:09:04 -05:00
Rick Winfrey
b2709315c5 Rename for better consistency 2016-10-27 20:51:23 -05:00
Rick Winfrey
cb28917573 Add JSON format tests to integration-test 2016-10-27 20:51:09 -05:00
Rick Winfrey
8c3d9d0d76 Add JSON output format JavaScript JSONTestCases 2016-10-27 20:46:12 -05:00
Rick Winfrey
16c6e1da59 ++diff-summary javascript test cases 2016-10-27 20:44:36 -05:00
Rick Winfrey
3cfbcd102d Update SemanticGitDiffSpec to handle ExpectedResult data type 2016-10-27 20:43:30 -05:00
Rick Winfrey
4936f282ad Simplify the structure of generator files; update GenerateTestCases 2016-10-27 20:42:46 -05:00
Rick Winfrey
df231ca64c Add ToJSON and FromJSON instances for JSONTestCase and ExpectedResult 2016-10-27 20:40:20 -05:00
Rick Winfrey
4ac2608749 Add HashMap 2016-10-27 20:23:31 -05:00
Timothy Clem
ba305a2a44 Parse module declarations 2016-10-27 12:47:27 -07:00
Timothy Clem
c21307b5f7 Parse for iterator syntax 2016-10-27 10:07:24 -07:00
Timothy Clem
539a68f06e Parse lambdas 2016-10-27 09:24:28 -07:00
Timothy Clem
f09c834e01 Parse array and percent array syntax 2016-10-27 08:30:34 -07:00
Timothy Clem
fec86e0a88 New tree-sitter and fix string delimiters 2016-10-27 08:24:43 -07:00
Timothy Clem
2a9e26f144 Support regex literals 2016-10-26 15:44:53 -07:00
Timothy Clem
644d101394 Support or, and operators 2016-10-26 15:22:59 -07:00
Rick Winfrey
682a1323fe Add ExpectedResult type
- This enables the use of Effects so that we can run multiple effects
that generate different IO values, but are typed singularly as an
ExpectedResult type
2016-10-26 17:02:04 -05:00
Rick Winfrey
a31a883b30 Auto formatting 2016-10-26 17:01:15 -05:00
Timothy Clem
5dd53c0b93 if/unless modifiers and (sort of) unless statements 2016-10-26 14:49:51 -07:00
Timothy Clem
3bbfb765a5 Parse if, with some caveats 2016-10-26 14:32:08 -07:00
Timothy Clem
013f6392ff Parse while and until statements and modifiers 2016-10-26 12:54:21 -07:00
Timothy Clem
986a3572d4 Merge remote-tracking branch 'origin/master' into ruby 2016-10-26 10:30:29 -07:00
Timothy Clem
1b6c70f4ee Parse yield and return 2016-10-26 10:27:38 -07:00
Timothy Clem
eb52ca6f90 Handle method arguments, updated tree-sitter-ruby 2016-10-26 10:14:39 -07:00
Timothy Clem
1bc5ba394a Classes, member invocation, case statements 2016-10-25 11:36:30 -07:00
Timothy Clem
649119c967 Method invocation 2016-10-24 12:23:10 -07:00
Timothy Clem
56c2dae42f Bring in LOTS more of the ruby grammar 2016-10-24 10:43:31 -07:00
Timothy Clem
994b7a613e Ruby math assignment (todo: broken) 2016-10-21 15:52:40 -07:00
joshvera
8b8e18c323 Map source_file to Module Syntax 2016-10-21 18:34:22 -04:00
Timothy Clem
b8463b6039 Ruby delimiters (sort of) 2016-10-21 14:41:04 -07:00
Timothy Clem
22c617e9e9 Ruby interpolation parsing 2016-10-21 13:55:00 -07:00
Timothy Clem
f5621a7ed0 Test parsing ruby numbers, strings, and symbols 2016-10-21 12:59:35 -07:00
joshvera
94239b4602 Merge remote-tracking branch 'origin/master' into go-parser 2016-10-21 13:53:33 -04:00
Rick Winfrey
5be0a11707 Update Import tests 2016-10-20 17:27:30 -05:00
Timothy Clem
caeeb79799 Regenerate ruby test corpus to get valid shas 2016-10-20 10:36:33 -07:00
Timothy Clem
00cb51b083 Fix multiline comment followed by comment bug 2016-10-20 10:07:15 -07:00
Rick Winfrey
1a787335b8 Update tests 2016-10-19 18:10:28 -05:00
Timothy Clem
e4bb574700 Catch integer literals and abbreviate in summaries 2016-10-19 11:02:02 -07:00
Timothy Clem
fc25ff9e86 Add ruby corpus as submodule 2016-10-19 10:36:56 -07:00
Timothy Clem
456bbb41ae Handle basic assignment for ruby 2016-10-19 10:34:49 -07:00
Timothy Clem
c213e85e9c Allow running integration tests only for one language
The --test-arguments can be passed like this:

stack build :integration-test --test-arguments "--language=ruby"

--language is naively parsed right now just to avoid getting in the way
of hspec's option parsing.
2016-10-19 10:15:58 -07:00
Rick Winfrey
1f5c73143d ++import.json tests 2016-10-18 16:54:15 -05:00
joshvera
d5532c9299 fix insert assignment test 2016-10-18 16:56:33 -04:00
joshvera
7809618716 Add template syntax support 2016-10-18 16:10:22 -04:00
joshvera
13c615731e Replace output with failing tests 2016-10-18 14:54:54 -04:00
joshvera
1bff390a85 Change var to assignment 2016-10-18 14:52:48 -04:00
joshvera
f262eb8b4e Add go.json generator and var.json 2016-10-18 14:49:45 -04:00
joshvera
ec00e4b0c3 Add go test submodule 2016-10-18 14:49:29 -04:00
Rick Winfrey
3b984eb470 ++javascript 2016-10-18 10:34:49 -05:00
Rick Winfrey
99e070e107 Remove if-else generated file 2016-10-17 18:51:23 -05:00
Rick Winfrey
43e082c85f Remove import generated file 2016-10-17 18:50:47 -05:00
Rick Winfrey
242654b05f Update tests 2016-10-17 18:41:03 -05:00
Rick Winfrey
dfc11385d8 ++tests 2016-10-14 13:40:07 -05:00
joshvera
1ec96efd63 bump tests 2016-10-14 12:19:31 -04:00
joshvera
3839a8605a Bump tests 2016-10-14 12:12:38 -04:00
Rick Winfrey
0262cb0879 Merge branch 'master' into improve-anonymous-funs 2016-10-13 17:56:39 -05:00
joshvera
ca129b2449 bump tests 2016-10-13 18:02:14 -04:00
Rick Winfrey
383573aa3d Merge branch 'master' into if-else-if 2016-10-13 17:01:23 -05:00
joshvera
4f978b7586 No quotes around anonymous functions 2016-10-13 17:58:17 -04:00
Rick Winfrey
80ebddae5c Bump tests 2016-10-13 16:44:36 -05:00
joshvera
98627b74b7 Merge remote-tracking branch 'origin/master' into improve-anonymous-funs 2016-10-13 17:39:42 -04:00
Josh Vera
9f9dc4feab Merge branch 'master' into improve-memory-usage 2016-10-13 16:21:11 -04:00
joshvera
b5ff4178e9 scope to getLabel 2016-10-13 16:16:50 -04:00
joshvera
be1ca766c1 Quote anonymous and brace exports 2016-10-13 12:56:27 -04:00
joshvera
73b947f71b Update tests 2016-10-13 12:08:44 -04:00
joshvera
10b6852882 update tests 2016-10-12 19:44:27 -04:00
joshvera
c608d62a3a Import from Diffing 2016-10-12 19:33:05 -04:00
joshvera
dfe8648a11 Fix tests 2016-10-12 19:19:36 -04:00
Timothy Clem
1859df9500 Test to no longer expect summaries for comments 2016-10-12 14:21:40 -07:00
Rick Winfrey
1234f5dbc3 ++javascript tests 2016-10-12 14:59:58 -05:00
Rick Winfrey
d222090c37 Update if-else.json tests 2016-10-12 14:55:59 -05:00
joshvera
6ba48666ed bump files 2016-10-11 16:18:26 -04:00
joshvera
440d168273 bump tests 2016-10-11 15:13:51 -04:00
joshvera
deb5a0f018 Fix SourceSpan in tests 2016-10-11 15:12:48 -04:00
joshvera
007a1580fe Merge remote-tracking branch 'origin/master' into add-source-spans 2016-10-11 13:03:43 -04:00
joshvera
e57c80940e bump tests 2016-10-11 12:52:26 -04:00
Rick Winfrey
329ce63a8e ++tests 2016-10-11 11:07:57 -05:00
joshvera
11d5cdcde7 Bump tests 2016-10-11 12:00:34 -04:00
joshvera
4fb07c28b6 Bump tests 2016-10-11 11:54:47 -04:00
joshvera
fbb6ddbff4 Bump tests 2016-10-11 11:26:57 -04:00
joshvera
a08cad66d0 ++javascript 2016-10-11 11:13:44 -04:00
joshvera
399d01af97 update tests 2016-10-11 11:12:20 -04:00
joshvera
624918b113 remove files 2016-10-11 11:10:16 -04:00
joshvera
d95283f4a1 Merge remote-tracking branch 'origin/master' into add-source-spans 2016-10-11 10:45:22 -04:00
Rick Winfrey
1569611257 Update JSONtestcases shas 2016-10-10 12:39:22 -05:00
Rick Winfrey
d6f9104237 Update tests 2016-10-07 16:43:01 -05:00
Rick Winfrey
9a3fccc1e1 Update tests 2016-10-07 15:58:51 -05:00
joshvera
f7e0cb53dd ++javascript 2016-10-07 11:29:44 -04:00
joshvera
c0a8483263 Merge remote-tracking branch 'origin/master' into add-source-spans 2016-10-07 11:28:57 -04:00
Rick Winfrey
4453cd1ad9 Move javascript diff summary JSON test case files 2016-10-07 10:26:45 -05:00
Rick Winfrey
bbe8b00b34 ++javascript 2016-10-07 10:21:14 -05:00
Rick Winfrey
3e23076ecc Merge branch 'master' into import-export-syntax 2016-10-07 10:20:11 -05:00
Timothy Clem
da90b74044 New parsing of function params 2016-10-06 15:20:05 -07:00
joshvera
15cd4777e6 Add SourceSpans to customize ToJSON output for These SourceSpan SourceSpan 2016-10-06 17:55:54 -04:00
joshvera
39e3a01533 Fix up DiffSummarySpec ranges 2016-10-06 15:12:14 -04:00
Timothy Clem
3d7c8cf67d Fix anonymous function parsing and summarizing 2016-10-06 12:05:10 -07:00
Timothy Clem
976b299071 Fix quoted strings 2016-10-06 11:42:21 -07:00
joshvera
f1a1c759b0 Fix some test errors 2016-10-06 14:20:58 -04:00
Timothy Clem
68b1cfac64 And the repo path is slightly different 2016-10-06 09:04:03 -07:00
Timothy Clem
02853cc422 Path still not quite right 2016-10-06 09:02:38 -07:00
Timothy Clem
47731b3faa Bring back the right path here 2016-10-06 08:56:27 -07:00
Timothy Clem
068481b35b Merge remote-tracking branch 'origin/master' into project-reorg 2016-10-06 08:45:04 -07:00
Timothy Clem
f004a5c3db New path for test corpus 2016-10-05 17:16:59 -07:00
Timothy Clem
6cbfa91475 Try out moving project around 2016-10-05 16:17:46 -07:00
joshvera
b7df878c4b Update specs 2016-10-05 17:41:00 -04:00
joshvera
4f41619c8e Merge remote-tracking branch 'origin/master' into rws-large-diffs 2016-10-05 12:17:29 -04:00
joshvera
07b7b7598e Rename prependSummary to appendSummary and update tests 2016-10-05 11:56:42 -04:00
joshvera
1f52815f9c Merge 'origin/master' into rws-large-diffs 2016-10-03 19:02:36 -04:00
Rick Winfrey
cf64cf41d9 Update DiffSummarySpec 2016-10-03 16:39:29 -05:00
Timothy Clem
45a12c54f0 Fix testDiff in DiffSummarySpecs too 2016-09-30 14:15:02 -07:00
joshvera
bfe57829d6 Merge remote-tracking branch 'origin/master' into rws-large-diffs 2016-09-27 10:34:19 -04:00
Timothy Clem
b5c45f8c7c New expected json output for dictionary 2016-09-20 10:31:50 -07:00
Timothy Clem
bf2c5966ba Merge branch 'master' of https://github.com/github/semantic-diff into improve-number-summaries 2016-09-20 08:01:37 -07:00
Timothy Clem
7c390d9081 Merge branch 'master' of https://github.com/github/semantic-diff into improve-number-summaries 2016-09-19 15:27:00 -07:00
Timothy Clem
d632011a3c Fix up tests 2016-09-19 15:23:07 -07:00
Rob Rix
8cec95aad4 Merge branch 'master' into pretty-print-expectations
# Conflicts:
#	script/cibuild-semantic-diff
#	script/cibuild-semantic-diff-linux
#	test/RangeSpec.hs
#	test/Spec.hs
2016-09-20 05:56:12 +09:00
Timothy Clem
edb69e2c69 Fix test, category printed as NumberLiteral now 2016-09-19 13:33:02 -07:00
Rob Rix
38d6bbe644 Merge branch 'master' into ghc8 2016-09-17 20:45:58 -04:00
joshvera
925fdfaeaf remove &&& import 2016-09-16 11:52:31 -04:00
joshvera
0535744ebc more imports 2016-09-16 11:48:58 -04:00
Rob Rix
e6372deeb6 🔥 a redundant constraint. 2016-09-15 18:38:18 -04:00
Rob Rix
8d465b96ab Annotate the leaf type. 2016-09-15 18:34:54 -04:00
Rob Rix
97b7f27683 Give a type signature for decorate.
This fixes a problem where ghc will loop forever trying to infer the
type.
2016-09-15 18:32:57 -04:00
Rob Rix
d0395cd227 🔥 some redundant parens. 2016-09-15 18:12:32 -04:00
Rob Rix
64d1d6b407 Monoid/Semigroup stuff. 2016-09-15 17:21:37 -04:00
Rick Winfrey
1a25bf9a11 Add RangeSpec to specs 2016-09-14 16:45:34 -05:00
Rick Winfrey
a4c5a26533 Add pretty diff expectations to semantic diff tests 2016-09-14 16:45:23 -05:00
Rob Rix
86d2a3950f Revert "🔥 a redundant import."
This reverts commit dc5698979818d0057eb558ec3ce2d8e09c941f44.
2016-09-14 02:44:26 -04:00
Rob Rix
85bb9d577a Revert "Move totalSpan into Source."
This reverts commit 3085a4efe5b6b3e8807df6a05db784afccab58e2.
2016-09-14 02:41:28 -04:00
Rob Rix
25306dba99 🔥 a redundant import. 2016-09-14 02:19:24 -04:00
Rob Rix
6317228466 Move totalSpan into Source. 2016-09-14 01:57:51 -04:00
Rob Rix
a6633a5351 🔥 a redundant binding. 2016-09-13 15:10:49 -04:00
Rob Rix
1c335df1f0 Verify that sourceSpanToRange computes correct ranges within lines. 2016-09-13 15:04:17 -04:00
Rob Rix
e6f4db8ee8 Compute the insetting of SourceSpans & Ranges. 2016-09-13 15:03:58 -04:00
Rob Rix
50e5f8a411 Verify that sourceSpanToRange computes multi-line ranges. 2016-09-13 14:27:52 -04:00
Rob Rix
8de562b88e Verify that totalSpan covers multiple lines. 2016-09-13 14:27:36 -04:00
Rob Rix
1b890bcde4 Verify that totalSpan covers single lines. 2016-09-13 14:27:29 -04:00
Rob Rix
8bdf162874 Rename the line-by-line test. 2016-09-13 14:27:15 -04:00
Rob Rix
c157962785 Add a helper to compute the total span of some source. 2016-09-13 14:27:05 -04:00
Rob Rix
6ce0ce5e26 Indentation. 2016-09-13 13:14:02 -04:00
Rob Rix
c5fed4ac25 Test sourceSpanToRange across arbitrary sources. 2016-09-13 12:37:59 -04:00
Rob Rix
61dd23789d Rename the test. 2016-09-13 12:32:28 -04:00
Rob Rix
5459bd4313 🔥 This was wrong. 2016-09-13 12:23:25 -04:00
Rob Rix
77ddc0abd8 Source spans are zero-indexed. 2016-09-13 12:23:05 -04:00
Rob Rix
b7d9ab1875 Add a trivial test of SourceSpan -> Range computation. 2016-09-13 12:09:18 -04:00
Rob Rix
076f5c0d1e Stub in a spec for sourceSpanToRange. 2016-09-13 11:59:46 -04:00
Rob Rix
b5d14e702c Test that actualLineRanges is exhaustive. 2016-09-13 11:56:43 -04:00
Rob Rix
04519db7a9 Verify that actualLineRanges produces the intended # of lines. 2016-09-13 11:39:27 -04:00
Rob Rix
8d5bc01a75 Run the Source spec. 2016-09-13 11:39:05 -04:00
Rob Rix
dcc164d09f Add a spec for Source. 2016-09-13 11:35:10 -04:00
Rob Rix
2b34916554 Build and run RangeSpec 😔 2016-09-13 11:18:38 -04:00
joshvera
d3440439dc Merge remote-tracking branch 'origin/master' into rws-large-diffs 2016-09-12 14:55:20 -04:00
joshvera
dbb687b33e Split Term and Diff into SyntaxTerm and SyntaxDiff types as well 2016-09-09 14:51:20 -04:00
Rob Rix
8d955c3f96 Placate hlint. 2016-09-09 14:47:24 -04:00
Rob Rix
98637ad656 Generalize Term/TermF & Diff/DiffF over the functor. 2016-09-09 14:46:50 -04:00
joshvera
499f5da329 Export isBranchInfo and clean up some warnings 2016-08-25 12:22:58 -04:00
joshvera
17da45b320 Moved isBranchInfo to DiffSummary 2016-08-24 15:28:10 -04:00
joshvera
3b33c6860f Update some test diffs 2016-08-22 10:33:42 -04:00
joshvera
9064e5f047 Fix up semantic-diff-tests 2016-08-22 10:33:26 -04:00
Rob Rix
7009d9ac2b Move the multiple hunks fixture back to the main diffs list. 2016-08-18 15:33:14 -04:00
Rob Rix
00689650dd Use the defaultFeatureVectorDecorator in the tests. 2016-08-18 14:03:36 -04:00
Rob Rix
d169e6fa66 Spacing. 2016-08-18 12:51:07 -04:00
Rob Rix
b14a7765e6 Copy in b. 2016-08-18 11:40:39 -04:00
Rob Rix
ecaff655c1 Extract a function to copy terms in. 2016-08-18 11:40:33 -04:00
Rob Rix
cabf1a887e Compute recursive as copies instead of replacements.
This should make us more accurate to the tests of Interpreter.
2016-08-18 11:37:55 -04:00
Rob Rix
02bb72ee0b Move compare to the where clause. 2016-08-18 11:25:21 -04:00
Rob Rix
8aa0f082a6 Bump _q_ in all of the specs.
Figure it’s best if they use the same value for the parameter.
2016-08-18 11:23:21 -04:00
joshvera
c09887b8df update semantic-diff tests 2016-08-17 11:24:12 -04:00
joshvera
b4133bdcac Map comma operators to flattened indexed nodes 2016-08-16 17:24:06 -04:00
Rob Rix
9dcbe04297 Move the multiple hunks fixture to the todo list.
See also #682.
2016-08-12 13:43:00 -04:00
Rob Rix
e820b43469 🔥 a redundant import. 2016-08-12 13:40:41 -04:00
Rob Rix
b91b305f32 Re-enable the RWS insertion bias tests. 2016-08-12 13:22:55 -04:00
Rob Rix
443df7da7c Merge branch 'unbiased-branch-diff-tests-that-actually-test-branch-diff-bias' into unbiased-branch-diffs
# Conflicts:
#	src/Diffing.hs
#	test/CorpusSpec.hs
#	tools/semantic-git-diff/test/corpus/diff-summaries.json
2016-08-12 13:04:33 -04:00
Rob Rix
d9be26396c Make the RWS test pending on #683. 2016-08-12 12:58:37 -04:00
Rob Rix
2b35110d0a 🔥 the faulty tests of unbiased branch diffs. 2016-08-12 12:24:38 -04:00
Rob Rix
ff4861e2fb Add the unbiased insertion test to the Interpreter spec. 2016-08-12 12:16:48 -04:00
Rob Rix
d3c333ae64 🔥 the faulty tests of unbiased insertions. 2016-08-12 11:59:44 -04:00
Rob Rix
b1e893b3f8 Add a concrete test of unbiased insertions. 2016-08-12 11:59:09 -04:00
Rob Rix
ada00d0485 The RWS unbiased tests require disjoint syntax constructors. 2016-08-12 11:44:29 -04:00
Rob Rix
5462278d0f Use the replacing combinator in the tests. 2016-08-12 11:44:23 -04:00
Rob Rix
bcaf909957 Revert "Mark the (failing) rws tests as pending for the time being."
This reverts commit a9025cacda01db216590e99dd36e867611e0f953.
2016-08-12 11:44:18 -04:00
Rob Rix
fa983e5561 Add a concrete test of unbiased deletions. 2016-08-12 11:40:30 -04:00
Rob Rix
2eead056e1 The RWS unbiased tests require disjoint syntax constructors. 2016-08-12 09:56:24 -04:00
Rob Rix
7bbbc4cbea Use the replacing combinator in the tests. 2016-08-12 09:53:16 -04:00
Rob Rix
0eb43f47a3 Use wrap in the RWS correctness test. 2016-08-12 09:46:45 -04:00
Rob Rix
df25851902 Revert "Mark the (failing) rws tests as pending for the time being."
This reverts commit a9025cacda01db216590e99dd36e867611e0f953.
2016-08-12 09:13:52 -04:00
Rob Rix
73f73fdb40 Mark the (failing) rws tests as pending for the time being. 2016-08-11 15:24:02 -04:00
Rob Rix
86fd5b21fd Use the replacing smart constructor. 2016-08-11 14:42:17 -04:00
Rob Rix
0346b5d8f1 Use galign to ensure that the constructors are disjoint. 2016-08-11 14:32:10 -04:00
Rob Rix
0fc0e80ed9 Revert "Revert "Ensure that the syntaxes are disjoint.""
This reverts commit cfe27aec6f0764f451c493439086e03a1bdcf176.
2016-08-11 13:33:33 -04:00
Rob Rix
d9b48b6def Revert "Ensure that the syntaxes are disjoint."
This reverts commit 43ebf52752a8cf22ae18633a5667966fd3f74aa0.
2016-08-11 13:28:51 -04:00
Rob Rix
70a622ca84 Ensure that the syntaxes are disjoint. 2016-08-11 13:27:45 -04:00
Rob Rix
fd23564dd5 Use a single root function for both interpreter tests. 2016-08-11 13:05:36 -04:00
Rob Rix
3eb05a31b1 Test the interpreter against insertions as well. 2016-08-11 13:03:22 -04:00
Rob Rix
fd2274b997 Use a single annotation for both children. 2016-08-11 13:00:54 -04:00
Rob Rix
261e82fd21 Extract a constructor for the root terms. 2016-08-11 12:54:14 -04:00
Rob Rix
7d8eb02ec8 Strip the diff and terms in the rws correctness test. 2016-08-11 12:50:56 -04:00
Rob Rix
3bb86389ed Strip the diff in the replacement of unicode equivalent terms test. 2016-08-11 12:48:41 -04:00
Rob Rix
15b515e7a1 Strip the diff in the correctness test. 2016-08-11 12:48:27 -04:00
Rob Rix
336f37d0c8 Strip diffs in the unbiased test. 2016-08-11 12:45:40 -04:00
Rob Rix
0aef8a8467 Use stripDiff in the RWS spec. 2016-08-11 12:44:49 -04:00
Rob Rix
8d22e7bd85 Pointfree definition of root. 2016-08-11 12:37:19 -04:00
Rob Rix
7bb5d7cd36 Use a single function to compute both roots. 2016-08-11 12:36:41 -04:00
Rob Rix
b551f9c3d9 Test that the bias of interpreter by reversing the inputs & output. 2016-08-11 12:34:32 -04:00
Rob Rix
af831671bc Interpreter uses category equality. 2016-08-11 12:32:44 -04:00
Rob Rix
544a6d3daf RWS uses category equality for its comparisons. 2016-08-11 12:31:44 -04:00
Rob Rix
fd6701973f Replace termA/termB with functions. 2016-08-11 12:25:30 -04:00
Rob Rix
fb847d9d3f Add a test that interpreter is unbiased for deletions. 2016-08-11 12:23:34 -04:00
Rob Rix
e4c55a8dbd Add (failing) tests of rws’ bias. 2016-08-11 11:53:51 -04:00
Rob Rix
f7055f16e8 Extract the decorating of arbitrary terms. 2016-08-11 10:27:11 -04:00
joshvera
21cb7f71d7 Merge 'origin/master' into one-json-to-rule-them-all 2016-08-10 17:33:11 -04:00
joshvera
59932277f9 Merge remote-tracking branch 'origin/master' into one-json-to-rule-them-all 2016-08-10 13:49:26 -04:00
joshvera
ae0f18593b Remove redundant imports 2016-08-10 12:18:53 -04:00
joshvera
347f4fbb4b Concat outputs in CorpusSpec 2016-08-10 12:17:33 -04:00
joshvera
1c1938080c Use either path in output 2016-08-10 11:00:40 -04:00
joshvera
dfbc5e1867 infix 2016-08-10 10:58:41 -04:00
joshvera
d09c1314a4 infix 2016-08-10 10:56:28 -04:00
joshvera
1574e74bcb Normalize names before unioning 2016-08-10 10:55:48 -04:00
joshvera
9df1399168 output the inserted/deleted path in the patch header 2016-08-09 16:14:46 -04:00
joshvera
25a53ac718 add file addition and deletion tests 2016-08-09 16:14:46 -04:00
joshvera
c286b39146 Fix oids 2016-08-09 16:14:46 -04:00
joshvera
07dfb0f5d8 handle missing files in CorpusSpec 2016-08-09 16:14:46 -04:00
joshvera
55afdaba17 Add new file patch test 2016-08-09 16:14:46 -04:00
joshvera
0bee997724 fix tests 2016-08-08 14:59:51 -04:00
joshvera
ce149af0f6 ++js-test ++tree-sitter-parsers 2016-08-01 12:23:15 -04:00
joshvera
1c5f94631c s/diffSummary/diffSummaries 2016-07-29 18:38:46 -04:00
joshvera
b354ed61d9 ++js-test 2016-07-29 16:57:30 -04:00
joshvera
b242555021 ++js-test 2016-07-29 16:34:09 -04:00
joshvera
04a976969e ++js-test 2016-07-29 16:16:58 -04:00
joshvera
380e980250 annotate sources 2016-07-29 14:34:28 -04:00
joshvera
1ba42a9d0f Add Ranges to DiffSummarySpec 2016-07-29 14:31:02 -04:00
joshvera
aa99744db7 Remove SourceSpan from Record 2016-07-29 14:12:44 -04:00
joshvera
fbc9e335a3 Merge remote-tracking branch 'origin/master' into error-syntax 2016-07-29 11:44:38 -04:00
joshvera
5caa439bec ++js-test 2016-07-28 14:29:24 -04:00
joshvera
8b0f496b90 Merge remote-tracking branch 'origin/master' into error-syntax 2016-07-27 19:00:27 -04:00
joshvera
ba7d599aa3 Add SourceSpan to tests 2016-07-27 18:49:21 -04:00
joshvera
b5b3391786 add missing unwrap 2016-07-26 16:44:33 -04:00
joshvera
4bd4a93a0c ++js-test 2016-07-26 16:34:28 -04:00
joshvera
804a8457a5 ++js-test for errors.js 2016-07-26 16:30:12 -04:00
joshvera
5eece69994 Use any 2016-07-26 16:29:46 -04:00
Rob Rix
cfddd9ca75 Merge branch 'master' into sequenceable 2016-07-26 15:43:02 -04:00
Rob Rix
e5f9d1ed28 Test the Mergeable laws over lists. 2016-07-26 15:27:32 -04:00
Rob Rix
475ec475b6 Weaken the identity laws to be non-empty. 2016-07-26 15:27:16 -04:00
Rob Rix
dd0b0322fc Add a property demonstrating the relationship between sequenceAlt over [Maybe a] & pure . catMaybes. 2016-07-26 14:56:02 -04:00
Rob Rix
cfb7361b9c Scale the list generator. 2016-07-26 14:44:25 -04:00
joshvera
044aa782c1 partially apply isBranchNode 2016-07-26 14:36:56 -04:00
joshvera
e7000b7de3 s/expression_statement/expression_statements 2016-07-26 14:26:31 -04:00
joshvera
799643147b partially apply isBranchNode 2016-07-26 14:04:15 -04:00
joshvera
de925c533d use Foldable.any 2016-07-26 13:55:05 -04:00
joshvera
84edc4b8ce use bind 2016-07-26 13:45:50 -04:00
joshvera
4809ad0f2f Use bind 2016-07-26 13:44:12 -04:00
Rob Rix
2ee68cc4b2 Add an identity law over merge. 2016-07-26 13:30:09 -04:00
Rob Rix
794fffbf47 Clean up the generator. 2016-07-26 13:25:16 -04:00
Rob Rix
b987a40377 sequenceAlt’s relationship with merge is the inverse of merge’s relationship with sequenceAlt. 2016-07-26 13:23:14 -04:00
Rob Rix
7ff92d968e Run the merge laws over Syntax. 2016-07-26 13:17:33 -04:00
Rob Rix
e98844e937 Run the merge laws over Identity. 2016-07-26 13:17:13 -04:00
Rob Rix
7d4d14c99b Run the merge laws over Maybe. 2016-07-26 13:16:46 -04:00
Rob Rix
8f25cbd473 🔥 some redundant constraints. 2016-07-26 13:13:45 -04:00
Rob Rix
f64164d872 Generalize a constraint away. 2016-07-26 13:12:32 -04:00
Rob Rix
a967e800bb Move the alternative instances helper down. 2016-07-26 13:12:09 -04:00
Rob Rix
be973b5bae Generalize out a helper function to validate laws against alternative instances. 2016-07-26 13:11:52 -04:00
Rob Rix
5430f45850 Verify the merge laws over []/Maybe. 2016-07-26 13:06:18 -04:00
Rob Rix
df4621622a Formulate a merge law. 2016-07-26 13:03:13 -04:00
Rob Rix
475c97190c Parallelize the Mergeable spec. 2016-07-26 12:47:38 -04:00
Rob Rix
5d6b1cd047 Test the sequenceAlt laws over Syntax. 2016-07-26 05:39:02 -04:00
Rob Rix
7af29fcf10 Define the identity law over pure. 2016-07-26 04:25:45 -04:00
Rob Rix
6806438949 Generalize the sequenceAlt laws over the inner alternative functor. 2016-07-26 04:23:03 -04:00
Rob Rix
f76b334b8c Validate the sequenceAltLaws against the Identity instance. 2016-07-26 04:16:40 -04:00
Rob Rix
a0cf6ce702 Validate the relationship between sequenceAlt and merge. 2016-07-26 04:15:56 -04:00
Rob Rix
d1bbe1c029 Validate the sequenceAltLaws against Maybe. 2016-07-26 04:08:19 -04:00
Rob Rix
88bb767ff7 Group the law invocations by functor. 2016-07-26 04:07:46 -04:00
Rob Rix
734254194c Define sequenceAltLaws to take a generator of Mergeable values. 2016-07-26 04:06:51 -04:00
Rob Rix
fa3b7d126e Factor the sequenceAlt law properties into a separate function. 2016-07-26 04:04:24 -04:00
Rob Rix
93c53ed90a Stub in a property test for the proposed identity law. 2016-07-26 04:02:52 -04:00
Rob Rix
b03f1d3b91 Stub in a spec function. 2016-07-26 03:58:14 -04:00
Rob Rix
8f15a59282 Stub in a spec for the Mergeable stuff. 2016-07-26 03:56:52 -04:00
joshvera
4ab572c94b Merge remote-tracking branch 'origin/master' into property-tests 2016-07-25 12:30:23 -04:00
joshvera
9686a7e53b Remove extra split2.html 2016-07-22 17:10:11 -04:00
joshvera
b5119dab1e Include Info 2016-07-22 14:51:08 -04:00
joshvera
485fc884a4 Merge branch 'syntax-redux' into property-tests 2016-07-22 14:39:54 -04:00
joshvera
b27eac56d9 Merge remote-tracking branch 'origin/master' into syntax-redux 2016-07-22 12:38:34 -04:00
joshvera
70f9329f1a Merge remote-tracking branch 'origin/master' into syntax-redux 2016-07-22 12:36:03 -04:00
Rob Rix
389b2ddfa6 Use joinCrosswalk in the spec. 2016-07-22 11:40:04 -04:00
Rob Rix
faa195ea8f Add a drop-in for Crosswalk over Bicrosswalkable Joins. 2016-07-22 11:39:56 -04:00
Rob Rix
0016bb92ea Merge branch 'master' into generalize-rws-over-the-functor 2016-07-21 11:49:55 -04:00
joshvera
a4851ba063 type signatures 2016-07-15 20:32:48 -04:00
joshvera
78bb7779a4 Test annotatedSummaries 2016-07-15 17:11:45 -04:00
joshvera
ed2f8bd57d Delete comments 2016-07-15 15:24:40 -04:00
Rob Rix
4b33b24a05 Labels are computed from the entire term. 2016-07-15 14:45:37 -04:00
joshvera
ea814432a6 Add a property test to check number of LeafInfos in diff summaries match leaves in diff patches 2016-07-15 14:10:31 -04:00
joshvera
e57f30f20b DiffInfo are now either LeafInfos or BranchInfos 2016-07-15 13:18:45 -04:00
Rob Rix
85659ec988 Fix up the asymmetrical context fixture. 2016-07-15 11:31:43 -04:00
Rob Rix
529334a552 Fix up the dictionary fixture. 2016-07-15 11:30:49 -04:00
Rob Rix
292a8f0a07 Fix up the multiline insert fixture. 2016-07-15 11:29:15 -04:00
Rob Rix
fcc4df2232 Fix up the insert fixture. 2016-07-15 11:27:48 -04:00
Rob Rix
2d1dea1270 Fix up the nested insert fixture. 2016-07-15 11:26:18 -04:00
Rob Rix
49291bf1ab Fix up the newline-at-eof fixture. 2016-07-15 11:26:11 -04:00
Rob Rix
5af6188b17 Fix up the no-newline-at-eof fixture. 2016-07-15 11:23:18 -04:00
Rob Rix
ce4ad3d9bc Fix up the reformat fixture. 2016-07-15 11:20:55 -04:00
Rob Rix
5bc2cd93f1 Only annotate terms & diffs with costs, not sizes. 2016-07-15 11:17:53 -04:00
Rob Rix
97e8dfadb1 DiffSummarySpec doesn’t depend on Info. 2016-07-15 09:41:12 -04:00
Rob Rix
82ce5fffad AlignmentSpec doesn’t depend on Info at all. 2016-07-15 09:39:03 -04:00
joshvera
13671e5d14 Add patchAnnotations to DiffInfo to track discarded branch nodes 2016-07-14 19:35:23 -04:00
Rob Rix
300bd2b84c Renderer takes an annotation type parameter. 2016-07-14 16:36:47 -04:00
joshvera
9a01466bfc Merge branch 'syntax-redux' into pretty-print-summaries 2016-07-14 15:30:15 -04:00
Rick Winfrey
85ddbcbcba Merge branch 'syntax-redux' of github.com:github/semantic-diff into syntax-redux 2016-07-14 14:26:07 -05:00
joshvera
27c338331f Merge remote-tracking branch 'origin/master' into syntax-redux 2016-07-14 15:22:46 -04:00
Rick Winfrey
2354cfa45a Add diff summary property test verifying no changes results in no diff summaries. 2016-07-14 14:21:14 -05:00
joshvera
453334d966 Use wl-pprint-text to pretty print diff summaries 2016-07-14 14:44:18 -04:00
joshvera
58ff433dd0 Merge remote-tracking branch 'origin/master' into pretty-print-summaries 2016-07-14 14:38:46 -04:00
joshvera
a9adce2610 other patches should be the same as summary patches 2016-07-14 13:01:16 -04:00
joshvera
922e845c78 Add property test to test diff summary constructors 2016-07-14 11:52:40 -04:00
joshvera
59426b86f6 Add megaparsec to pretty print summaries 2016-07-13 14:32:53 -04:00
joshvera
7169a51265 Use wl-pprint-text to pretty print diff summaries 2016-07-13 11:58:43 -04:00
Rob Rix
c41d3f4280 Correct the fixtures to account for the removal of dictionaries. 2016-07-12 23:34:53 -04:00
Rob Rix
4f967e0e1a 🔥 Data.OrderedMap. 2016-07-12 23:27:20 -04:00
Rob Rix
c7728b7c1c Test the reflexivity of alignment modulo These. 2016-07-12 18:24:24 -04:00
Rob Rix
ae9b0e55f3 Test against integer keys/values. 2016-07-12 18:11:09 -04:00
Rob Rix
449c564179 Test the upper bound on input length. 2016-07-12 18:10:10 -04:00
Rob Rix
5a721f0a90 Test that align is length-preserving. 2016-07-12 18:09:12 -04:00
Rob Rix
4869729770 Silence a warning. 2016-07-12 18:09:01 -04:00
Rick Winfrey
177af03bd3 Merge branch 'master' into syntax-redux 2016-07-12 17:03:35 -05:00
Rob Rix
87e1ce7020 Revert "Show the Term itself."
This reverts commit aea84cbec83972add52909b0813ad9362808553f.
2016-07-12 17:29:47 -04:00
Rob Rix
4818d723b3 Show the Term itself. 2016-07-12 17:20:44 -04:00
Rob Rix
3ff027e12c Place hlint about wrap. 2016-07-12 17:19:44 -04:00
Rob Rix
d6c994a852 🔥 a blank line apparently. 2016-07-12 17:19:38 -04:00
Rob Rix
feb39e540f Test that nil is the right- and left-identity modulo This/That. 2016-07-12 17:16:24 -04:00
Rob Rix
3d73efc6d3 Placate hlint. 2016-07-12 17:16:10 -04:00
joshvera
a484cb8348 Update fixtures to account for method_call and object/pair categories 2016-07-08 16:30:13 -04:00
joshvera
8c698cb52c Remove stray HTML file 2016-07-08 16:00:14 -04:00
joshvera
3779bf36b0 Expect to parse JS method calls 2016-07-08 15:59:37 -04:00
Rob Rix
2108cddff6 Test rws’ behaviour w.r.t. ordering. 2016-07-07 10:37:55 -04:00
joshvera
1efd68d122 Merge remote-tracking branch 'origin/master' into syntax-redux 2016-07-06 16:22:25 -04:00
joshvera
6641bdf906 ++js-test 2016-07-06 12:58:37 -04:00
joshvera
4eebbb288c Add backbone submodule 2016-07-06 12:38:47 -04:00
Rick Winfrey
13c60c9e86 ++js-test 2016-07-05 17:33:19 -05:00
Rob Rix
f91860d68f 🔥 DataKinds here, too. 2016-07-05 10:11:29 -04:00
Rob Rix
51f0995c91 🔥 DataKinds. 2016-07-05 09:56:48 -04:00
Rob Rix
4cfa993239 Move the Arbitrary gram functions into Data.RandomWalkSimilarity. 2016-07-05 09:18:53 -04:00
Rob Rix
e3a43b77a9 Fix overloaded string warning. 2016-06-30 15:02:28 -04:00
Rob Rix
b0b8aa0616 Test that Interpreter produces zero-cost diffs of equal terms. 2016-06-30 13:34:31 -04:00
Rob Rix
28abcd1b38 Move Record’s Arbitrary instance into Data.Record. 2016-06-30 12:49:50 -04:00
Rob Rix
58138d5867 Scale down the sizes by a factor of four. 2016-06-30 12:37:41 -04:00
Rob Rix
a5af331f71 Generate a pair of inputs.
This allows scaling to work correctly.
2016-06-30 12:37:27 -04:00
Rob Rix
d89422d3ed Define childrenOf in tacit style. 2016-06-30 11:28:18 -04:00
Rob Rix
cb71ba3467 Use the Foldable instance instead of specifying the constructor. 2016-06-30 11:27:37 -04:00
Rick Winfrey
c034926304 ++js 2016-06-29 16:07:37 -05:00
Rob Rix
27cc162e1c Test against a set of children instead of sorting.
This reverts commit e5fb9a7a89da22373e7614d0163b64bb3a994b24.
2016-06-29 11:28:08 -04:00
Rob Rix
bd11e9e0ee Enumerate and sort to pass the test. 2016-06-29 10:58:06 -04:00
joshvera
e03c712482 js-test 2016-06-28 16:38:18 -04:00
Rob Rix
83a88d0e32 Only allow comparisons between terms with the same category. 2016-06-28 15:02:41 -04:00
Rob Rix
99c36635b4 Use Categories for the annotations. 2016-06-28 14:09:51 -04:00
joshvera
9292d3294d ++js-test 2016-06-28 13:04:40 -04:00
Rob Rix
e003549ef0 Rewrite to share the lists of child terms. 2016-06-27 15:38:45 -04:00
Rob Rix
38ecc3bb0a Test that rws produces correct diffs. 2016-06-27 15:37:32 -04:00
Rob Rix
833802eb8a Text, not String. 2016-06-27 15:32:09 -04:00
Rob Rix
b8ba07522b Test that Interpreter produces correct diffs. 2016-06-27 15:28:11 -04:00
Rob Rix
2de9468ed1 Sort the imports. 2016-06-27 15:28:04 -04:00
Rob Rix
9611a27887 🔥 test/ArbitraryTerm.hs. 2016-06-27 15:03:04 -04:00
Rob Rix
b405286065 Tidy up AlignmentSpec. 2016-06-27 15:02:28 -04:00
Rob Rix
aa5d6e4deb Test that afterTerm recovers the second term. 2016-06-27 13:24:50 -04:00
Rob Rix
8035c1844c Test that beforeTerm recovers the first term. 2016-06-27 13:23:43 -04:00
Rob Rix
c70c936d60 Use shouldBe instead of ==. 2016-06-27 13:21:32 -04:00
Rob Rix
1dd10050f6 Move some tests around. 2016-06-27 13:18:20 -04:00
Rob Rix
346bec0d0b Clean up redundant imports and use Text, not String. 2016-06-27 13:16:56 -04:00
Rob Rix
10b5bdaab4 Use Text, not String. 2016-06-27 13:16:48 -04:00
Rob Rix
85f39fd5a8 Move some tests out of TermSpec into Diff.Spec. 2016-06-27 13:15:03 -04:00
Rob Rix
ad4a34ebb0 🔥 a redundant import. 2016-06-27 13:12:37 -04:00
Rob Rix
b4107426de Stub in a spec for Diff. 2016-06-27 13:12:06 -04:00
Rob Rix
8fe92c025c Pare the unicode replacement test down further. 2016-06-27 13:08:12 -04:00
Rob Rix
db17330b4d Clean up the InterpreterSpec test by extracting the infos. 2016-06-27 13:03:58 -04:00
Rob Rix
c0eceb273c We no longer have to hide this symbol. 2016-06-27 11:46:22 -04:00
Rob Rix
0b37ae936b Diff terms of records. 2016-06-23 16:30:43 -04:00
Rob Rix
ed552da2af Swap the d/bag arguments in featureVector. 2016-06-23 10:34:23 -04:00
Rob Rix
a9f251e42f Test against trees annotated with their labels directly. 2016-06-23 10:19:45 -04:00
Rob Rix
a657295ae6 Generalize pqGrams over a getLabel accessor again. 2016-06-23 10:18:39 -04:00
Rob Rix
c85c87ad65 Okay FINE, hlint! 2016-06-23 10:11:48 -04:00
Rob Rix
6133903e8c Extract the label from a record. 2016-06-23 09:52:15 -04:00
Rob Rix
220687da5e 🔥 the old spec. 2016-06-23 09:51:55 -04:00
Rob Rix
1170bfdcb2 Rename Data.Gram to Data.RandomWalkSimilarity. 2016-06-22 17:59:28 -04:00
Rob Rix
f553cac094 Specialize pqGrams to Cofree of Syntax. 2016-06-22 16:17:54 -04:00
Rob Rix
ea717c6582 Test that we produce grams with bases of length q. 2016-06-22 15:55:39 -04:00
Rob Rix
e15af19835 🔥 a redundant import. 2016-06-22 15:55:15 -04:00
Rob Rix
0092655cb6 Clean up the tests. 2016-06-22 15:55:11 -04:00
Rob Rix
f1d190326c Remove children from the unpacking function. 2016-06-22 15:18:37 -04:00
Rob Rix
ad380bf08d Limit the p,q-gram test to p > 0 & q > 0. 2016-06-22 15:02:10 -04:00
Rob Rix
f2c5dd3d8c Test that the stems are of length p. 2016-06-22 13:46:06 -04:00
Rob Rix
7da6fde412 Test that pqGrams produces grams with stems of length p. 2016-06-22 11:27:30 -04:00
Rob Rix
4cb3261069 Correct the property by limiting it to d > 0. 2016-06-22 11:07:43 -04:00
Rob Rix
0bef12d722 Test that featureVector produces d-vectors. 2016-06-22 11:04:27 -04:00
Rob Rix
cc8fcb926e Include the Gram spec. 2016-06-22 10:45:43 -04:00
Rob Rix
52e274b57d Stub in the spec itself. 2016-06-22 10:45:31 -04:00
Rob Rix
d5e807257e Hush, hlint. 2016-06-22 10:43:02 -04:00
Rob Rix
51392382ef Stub in a spec for Data.Gram. 2016-06-22 10:41:13 -04:00
joshvera
0a574871c9 Merge remote-tracking branch 'origin/master' into syntax-redux 2016-06-21 17:08:40 -04:00
Rick Winfrey
4f41232901 ++js-test 2016-06-17 17:00:42 -05:00
Rick Winfrey
532e49871d ++js-test 2016-06-17 15:31:21 -05:00
Rick Winfrey
dae03ef31e ++js-test 2016-06-17 14:57:22 -05:00
Rick Winfrey
bbaf6e24fa ++js-test 2016-06-17 14:35:13 -05:00
Rick Winfrey
c5232f023c ++js-test 2016-06-17 14:23:41 -05:00
Rob Rix
1668e94427 Define Info as a synonym over Data.Record. 2016-06-17 13:33:50 -04:00
joshvera
c086cac867 ++js-test 2016-06-16 10:47:41 -07:00
joshvera
283a4a77a0 Remove test/diffs/style.css 2016-06-16 10:39:57 -07:00
Rick Winfrey
308a690cdb ++js-test 2016-06-16 11:20:34 -05:00
Rick Winfrey
c2c3681749 Update test/repos/js-test pin 2016-06-15 13:18:44 -05:00
Rick Winfrey
efe1339df5 Update js-test 2016-06-15 11:12:16 -05:00
joshvera
66b6b1e460 ++js-test 2016-06-14 17:44:38 -07:00
joshvera
e56b8268f1 ++js-test 2016-06-14 14:20:37 -07:00
joshvera
a0f415dece ++js-test 2016-06-14 14:01:27 -07:00
Rick Winfrey
6eea045aee Updating js-test submodule pin 2016-06-13 17:13:24 -05:00
joshvera
bd48f58478 Added a split-test to js-test 2016-06-10 18:56:32 -04:00
joshvera
68c6e40fc3 ++js-test 2016-06-10 17:02:01 -04:00
joshvera
c229d43934 Fix DiffSummary tests
now that parentAnnotations are Categories
2016-06-10 16:42:11 -04:00
Rick Winfrey
9ec08a7d2e Update js-test submodule to contain correct shas 2016-06-10 15:22:51 -05:00
joshvera
d20937f2b1 Parse functions 2016-06-10 15:10:37 -04:00
Rick Winfrey
129ece7820 Add test/repos/js-test submodule 2016-06-10 12:26:37 -05:00
Rob Rix
dfa3b3fd66 Merge branch 'master' into benchmark-alignment 2016-06-06 13:05:00 -04:00
Rob Rix
a18b5bb4f0 🔥 a redundant import. 2016-06-06 13:04:35 -04:00
Rob Rix
c9763c43ba Use the sizing functions in TermSpec. 2016-06-06 12:26:06 -04:00
Rob Rix
29a725b125 Move ArbitraryDiff into semantic-diff proper. 2016-06-06 12:07:07 -04:00
Rob Rix
1109fdf32c 🔥 redundant imports. 2016-06-06 11:51:30 -04:00
Rob Rix
0321a97285 🔥 arbitraryLeaf. 2016-06-06 11:51:25 -04:00
Rob Rix
8780ea3f26 Move the Arbitrary instances for Join (,) and Join These into semantic-diff proper. 2016-06-06 11:50:45 -04:00
Rob Rix
4eb76ff3a3 Move the Arbitrary instance for Data.These into semantic-diff proper. 2016-06-06 11:46:30 -04:00
Rob Rix
378b577175 Move the Arbitrary instance for Patch into semantic-diff proper. 2016-06-06 11:43:38 -04:00
Rob Rix
a613fa0369 Merge branch 'push-benchmarks-to-graphite' into benchmark-alignment 2016-06-06 11:36:48 -04:00
Rob Rix
6e66837cc0 Capitalize the Program category in the JSON fixtures. 2016-06-06 08:19:38 -04:00
Rob Rix
a43be167f6 Merge branch 'master' into cache-cost-on-info 2016-06-03 16:24:02 -04:00
Rob Rix
7802d4916c 🔥 FlexibleInstances & RecordWildCards pragmas. 2016-06-03 16:02:06 -04:00
Rob Rix
f39e3df33b Pass a DiffConstructor to diffTerms. 2016-06-03 02:59:48 -04:00
Rob Rix
bcbb590b1f Add a cost field to Info. 2016-06-02 23:34:16 -04:00
Rob Rix
f2eccbb275 🔥 the contortionist pointfree definition of info. 2016-06-02 22:55:11 -04:00
Rob Rix
43757e8a61 🔥 Categorizable.
This reverts commit be59b0c161362baae63308478177819828be7e1b.
2016-06-02 19:10:41 -04:00
Rob Rix
4ea9eba71c Merge branch 'master' into render-diff-summaries-as-json 2016-06-01 16:23:39 -04:00
Rob Rix
ef47e435aa Merge branch 'master' into benchmark-alignment
# Conflicts:
#	test/TermSpec.hs
2016-06-01 16:22:02 -04:00
Rob Rix
d1884c2908 Put the term generator sizing test into its own group. 2016-06-01 12:30:05 -04:00
joshvera
6bb2be56cc update fixtures 2016-06-01 12:17:07 -04:00
Rob Rix
6a7ec24640 Test that we generate terms of the specified size. 2016-06-01 11:52:43 -04:00
Rob Rix
2064d3af8a Depend on semantic-diff’s definition of ArbitraryTerm in the tests. 2016-06-01 09:16:47 -04:00
Rob Rix
ad8a6fd241 Simplify the definition of arbitrary over ArbitraryTerm. 2016-05-31 20:33:13 -04:00
Rob Rix
514c513f13 Simplify the definition of shrink over ArbitraryTerm. 2016-05-31 20:31:32 -04:00
Rob Rix
36168c1698 Rename unTerm to toTerm. 2016-05-31 20:29:12 -04:00
Rob Rix
484ed765f0 Use the field accessor to define unTerm. 2016-05-31 20:17:49 -04:00
Rob Rix
50c6c6c4fa Define a field accessor for ArbitraryTerm. 2016-05-31 20:17:42 -04:00
Rob Rix
2696635aa4 ArbitraryTerm uses the TermF type synonym. 2016-05-31 20:15:24 -04:00
Rob Rix
37f960b6d1 ArbitraryTerm wraps CofreeF. 2016-05-31 20:14:38 -04:00
joshvera
465da6bae5 one more 2016-05-31 17:02:24 -04:00
joshvera
55f286d8be Replace instance of comparable 2016-05-31 17:01:01 -04:00
joshvera
cf21fddc08 Fix up tests 2016-05-31 16:38:47 -04:00
Rob Rix
f1ff739394 Correct the types in the spec. 2016-05-31 16:15:40 -04:00
Rob Rix
2887d0c2a1 Merge branch 'master' into fix-invalid-slice 2016-05-31 13:28:50 -04:00
Rob Rix
07190fb6d1 Add a regression test for #573. 2016-05-30 19:04:16 -04:00
Rob Rix
8e45e5973d Correct the nested-insert fixture. 2016-05-30 13:54:33 -04:00
Rob Rix
f4ff8d0b89 Correct the insert fixture. 2016-05-30 13:54:28 -04:00
Rob Rix
49f477f5b0 📝 Verbatim. 2016-05-30 12:46:25 -04:00
Rob Rix
3fbfe43935 Prepend a newline to avoid being indented by expected:/but got:. 2016-05-30 12:44:09 -04:00
Rob Rix
89733ccdef Test the fixtures in Verbatim. 2016-05-30 12:42:43 -04:00
Rob Rix
643e37477f Derive an NFData instance for Verbatim. 2016-05-30 12:42:19 -04:00
Rob Rix
f10c0b305d Enable GeneralizedNewtypeDeriving. 2016-05-30 12:42:11 -04:00
Rob Rix
46b43c63e9 This is Text, now. 2016-05-30 12:40:41 -04:00
Rob Rix
7fe5be7fe2 Verbatim wraps Text. 2016-05-30 12:39:43 -04:00
Rob Rix
7a52507e94 Derive an Eq instance for Verbatim. 2016-05-30 12:39:39 -04:00
Rob Rix
3774bfb816 We treat this argument as a FilePath. 2016-05-30 12:38:21 -04:00
Rob Rix
d584832b6b We treat this argument as a FilePath. 2016-05-30 12:37:45 -04:00
Rob Rix
93b36a852f Add a Show instance for Verbatim which emits the unquoted string. 2016-05-30 12:37:05 -04:00
Rob Rix
58883000b1 Add a Verbatim newtype wrapping a String. 2016-05-30 12:36:52 -04:00
Rob Rix
160417d5a6 Move nested-insert out of the todos list. 2016-05-30 10:20:43 -04:00
Rob Rix
06c7437e66 Move insert out of the todos list. 2016-05-30 10:20:31 -04:00
Rob Rix
f77d8e023c Do the mapping all in one go. 2016-05-27 15:43:45 -04:00
Rob Rix
8ea9b44aef Traverse instead of sequenceA/fmap. 2016-05-27 15:43:14 -04:00
Rob Rix
a48404b53a Don’t use unionThese in the spec. 2016-05-27 15:42:36 -04:00
Rob Rix
0cbc8e514f Correct the fixtures for a couple of cases. 2016-05-27 15:30:39 -04:00
Rob Rix
ecb37f8f00 Correct the commented-out PrettyDiff full output thing. 2016-05-27 15:30:27 -04:00
Rob Rix
962b637d24 Update the asymmetrical-context fixture. 2016-05-27 15:16:50 -04:00
Rob Rix
1e6af52d35 Update the multiline-insert fixture. 2016-05-27 15:16:44 -04:00
Rob Rix
3351d2a2e3 Move the multiline-insert fixture into the done folder. 2016-05-27 15:16:22 -04:00
Rob Rix
ee9dd67bdf Move the asymmetrical-context test into the done dir. 2016-05-27 15:16:12 -04:00
Rob Rix
1153970864 Rebuild the other JSON fixtures now that we preserve ordering again. 2016-05-27 15:11:37 -04:00
Rob Rix
cdaa21d7d9 Move the newline-at-eof test into the functioning set. 2016-05-27 15:11:18 -04:00
Rob Rix
610d6e05da 🔥 some redundant imports. 2016-05-27 15:10:54 -04:00
Rob Rix
f60faefee5 🔥 a redundant import of Identity. 2016-05-27 14:05:29 -04:00
Rob Rix
14e9a3372f alignBranch takes a list of lines, not of aligned children. 2016-05-27 13:58:50 -04:00
Rob Rix
ebefc1c124 🔥 a redundant import. 2016-05-27 09:36:36 -04:00
Rob Rix
de6d7edec2 Merge branch 'master' into cofree-and-bifunctors-sitting-in-a-tree-a-l-i-g-n-edly
# Conflicts:
#	semantic-diff.cabal
#	src/Alignment.hs
#	src/Control/Comonad/Cofree.hs
#	src/Data/Adjoined.hs
#	src/Diffing.hs
#	src/Interpreter.hs
#	src/Prologue.hs
#	src/Renderer/JSON.hs
#	src/Renderer/Patch.hs
#	src/Renderer/Split.hs
#	src/SplitDiff.hs
#	src/Term.hs
#	test/AlignmentSpec.hs
#	test/ArbitraryTerm.hs
#	test/PatchOutputSpec.hs
2016-05-27 09:35:26 -04:00
Rob Rix
cfe15a5afa Merge branch 'master' into cofree-and-bifunctors-sitting-in-a-tree-a-l-i-g-n-edly
# Conflicts:
#	src/Alignment.hs
#	src/Control/Comonad/Cofree.hs
#	src/Data/Adjoined.hs
#	src/Data/Align.hs
#	src/Data/Bifunctor/These.hs
#	src/Data/Coalescent.hs
#	src/Data/Copointed.hs
#	src/Data/Functor/Both.hs
#	src/Data/Option.hs
#	src/Line.hs
#	src/Patch.hs
#	src/Range.hs
#	src/Renderer/JSON.hs
#	src/Renderer/Patch.hs
#	src/Renderer/Split.hs
#	src/SplitDiff.hs
#	stack.yaml
#	test/AlignmentSpec.hs
#	test/CorpusSpec.hs
#	test/Data/Adjoined/Spec.hs
#	test/Data/Functor/Both/Spec.hs
2016-05-26 15:25:45 -04:00
joshvera
ebd5d20171 Remove duplicate imports 2016-05-26 14:04:27 -04:00
joshvera
473ec980b1 Merge remote-tracking branch 'origin/master' into diff-summaries 2016-05-26 13:40:54 -04:00
joshvera
85553f281c Remove duplicate Prologue import 2016-05-26 13:13:30 -04:00
joshvera
ed144bbb1f Fix tests 2016-05-26 13:11:34 -04:00
joshvera
8180b37285 Use Protolude via the Prologue module and add NoImplicitPrelude 2016-05-26 12:58:04 -04:00
Rob Rix
8313074e50 Test that we preserve child lines in the output. 2016-05-26 11:39:24 -04:00
Rob Rix
7854e32c51 Unique the keys on both sides.
This avoids false negatives in the tests where, if we generate two
children with the same key, we appear to drop one of the keys.
2016-05-26 10:16:26 -04:00
Rob Rix
5933a0809d Move branchElementContents into toAlignBranchInputs. 2016-05-26 09:37:06 -04:00
Rob Rix
f48e5c37bc Move alignBranchElement into toAlignBranchInputs. 2016-05-26 09:36:44 -04:00
Rob Rix
6ef8758d7e Add a test case for symmetrical reformatted nodes and context following them. 2016-05-26 09:31:25 -04:00
Rob Rix
3820ab3e66 Filter out bogus empty ranges. 2016-05-25 17:10:38 -04:00
Rob Rix
0025b044f7 Increment the ranges for successive lines. 2016-05-25 17:10:30 -04:00
Rob Rix
b0d154271c Take the actual lines on both sides.
We were getting the wrong ranges.
2016-05-25 17:10:14 -04:00
Rob Rix
5fad7be0f5 🔥 the unused Arbitrary instance over PrettyDiff. 2016-05-25 14:31:47 -04:00
Rob Rix
04e36c4dcb 🔥 alignmentFromBranchElements. 2016-05-25 14:14:38 -04:00
Rob Rix
2ea50d9387 Roll toSourcesAndRanges into toAlignedChildren. 2016-05-25 14:13:27 -04:00
Rob Rix
b4d0749d52 🔥 the top-level bothContents binding. 2016-05-25 13:32:33 -04:00
Rob Rix
eb15740170 Roll toSources into toSourcesAndRanges. 2016-05-25 11:18:49 -04:00
Rob Rix
e5a2c384fc Test that alignBranch covers every line of the input ranges. 2016-05-25 11:13:34 -04:00
Rob Rix
6caf9d3930 Extract alignment from the property test. 2016-05-25 10:59:16 -04:00
Rob Rix
5c1b0809ec Shrink BranchElement by crosswalking. 2016-05-25 10:54:41 -04:00
Rob Rix
5237c7ccc5 Revert "Add a BranchAlignment type."
This reverts commit c85b9fcca08b147c8f2c7bae573f7b30c08f14f4.
2016-05-25 10:43:24 -04:00
Rob Rix
3663cc612b Revert "Add an Arbitrary instance over BranchAlignment."
This reverts commit 17e215b1aec6fdb80212133fe362a9c5120e0b8f.
2016-05-25 10:43:20 -04:00
Rob Rix
e524b4e0fe Revert "Add a Show instance over BranchAlignment."
This reverts commit afd605d4e80d759c8d75b3d912e2e5f36bcc217c.
2016-05-25 10:43:15 -04:00
Rob Rix
d42c071a08 Add a Show instance over BranchAlignment. 2016-05-25 10:42:44 -04:00
Rob Rix
366dba33b3 Add an Arbitrary instance over BranchAlignment. 2016-05-25 10:42:35 -04:00
Rob Rix
03ec660dbc Add a BranchAlignment type. 2016-05-25 10:41:17 -04:00
Rob Rix
13aaee7526 Correct branch element alignment to use crosswalk. 2016-05-25 10:34:22 -04:00
Rob Rix
dbd1030a34 Derive the Show instance for BranchElement. 2016-05-25 10:26:44 -04:00
Rob Rix
1f0d0eb714 Test that alignBranch covers every child in the input. 2016-05-25 09:54:42 -04:00
Rob Rix
c1198065e2 Correct the assignment of ranges to lines. 2016-05-25 09:54:21 -04:00
Rob Rix
6fb9383fb1 Rewrite keysOfAlignedChildren in tacit style in hopes of finding an infinite loop. 2016-05-24 16:21:12 -04:00
Rob Rix
79ef67e6e3 Find the keys of aligned children. 2016-05-24 13:36:12 -04:00
Rob Rix
10a689090b Implement a function to find the key in branch elements that have any. 2016-05-24 13:36:04 -04:00
Rob Rix
a594f54279 Implement construction of arbitrary PrettyDiffs. 2016-05-24 13:04:28 -04:00
Rob Rix
e0e7f0fa4a Add a toPrettyDiff function to abstract the construction of pretty diffs away. 2016-05-24 13:04:10 -04:00
Rob Rix
24a732322c Forgot to commit the import of Control.Monad.State. 2016-05-24 12:00:03 -04:00
joshvera
72dea795d2 Remove literal string from tests 2016-05-23 13:57:04 -04:00
Rob Rix
f3f7b5e6b9 Aligned children contain ranges. 2016-05-21 00:08:01 -04:00
Rob Rix
f720901dbc Compute the aligned children from a list of branch elements. 2016-05-20 23:51:24 -04:00
Rob Rix
e4dd1e7cd8 Compute the sources and ranges in a single step. 2016-05-20 23:49:17 -04:00
Rob Rix
bdb02a4bf4 Compute the ranges for a list of elements. 2016-05-20 23:46:14 -04:00
Rob Rix
db6f2b6430 Arbitrary BranchElements’ contents contain their key, not a fresh key. 2016-05-20 23:19:44 -04:00
Rob Rix
96f94c9bdb Shrink Child contents respecting their prefixes/suffixes. 2016-05-20 23:13:36 -04:00
Rob Rix
ff3691eac4 🔥 showThese. 2016-05-20 23:13:17 -04:00
Rob Rix
9acdb24243 🔥 toSource. 2016-05-20 22:42:46 -04:00
Rob Rix
5d9de67ecc Use the Applicative instance to generate BranchElements. 2016-05-20 22:41:48 -04:00
Rob Rix
ea79ce4f04 Rewrite BranchElement/Source computations correctly. 2016-05-20 22:41:38 -04:00
Rob Rix
61c2bf0ccc Simplify the Show instance for BranchElement. 2016-05-20 22:33:06 -04:00
Rob Rix
111b12846a Arbitrary BranchElements have their contents set appropriately up front. 2016-05-20 22:32:00 -04:00
Rob Rix
bfcd3193da Add a convenience to extract the contents from a branch element. 2016-05-20 22:25:41 -04:00
Rob Rix
26d31fa12a Remove the comments describing the contents of Margin & Child since we no longer guarantee them. 2016-05-20 22:19:35 -04:00
Rob Rix
24af4c4af5 Add a function to align branch elements into their lines. 2016-05-20 22:17:39 -04:00
Rob Rix
30bfae37aa Child, not Child'. 2016-05-20 22:13:36 -04:00
Rob Rix
e1110869e3 🔥 Child. 2016-05-20 22:11:48 -04:00
Rob Rix
2eba6e726e toSource(s)/toChildLists operate over BranchElements. 2016-05-20 22:11:22 -04:00
Rob Rix
ed00a34bee Shrink BranchElements. 2016-05-20 22:08:22 -04:00
Rob Rix
c7ed296e8b Don’t re-quote the contents of branch elements. 2016-05-20 22:04:09 -04:00
Rob Rix
f830256a5c Pretty-print Margin elements. 2016-05-20 22:03:39 -04:00
Rob Rix
f09f9cf3a2 Extract showThese to the top. 2016-05-20 22:03:13 -04:00
Rob Rix
097220a454 Pretty-print Child elements differently. 2016-05-20 22:02:29 -04:00
Rob Rix
919f32a650 Spike out an Arbitrary instance for BranchElement. 2016-05-20 21:59:46 -04:00
Rob Rix
419bcfe776 Add a Show instance over BranchElement. 2016-05-20 21:54:33 -04:00
Rob Rix
3aaa9f79ca Stub in a type representing the elements of branches. 2016-05-20 21:50:52 -04:00
Rob Rix
6eabdd06eb Compute a pair of Sources from a list of child lines. 2016-05-20 21:50:41 -04:00
Rob Rix
048c9d34c2 Add a function to compute lists of children. 2016-05-20 21:50:08 -04:00
Rob Rix
2541405fdc Compute a Source from a list of children. 2016-05-20 21:49:29 -04:00
Rob Rix
aff7fbbc47 Ensure that we do not shrink when both childContents and childMargin are empty. 2016-05-20 16:40:25 -04:00
Rob Rix
0e86c8149a Ensure that we can shrink when either childContents or childMargin is empty. 2016-05-20 16:39:58 -04:00
Rob Rix
21fac60bf1 Shrink contents and margins string-wise but not character-wise.
🎩 @rewinfrey
2016-05-20 16:32:28 -04:00
Rob Rix
bd286bfbce Implement shrink over Child. 2016-05-20 16:29:09 -04:00
Rob Rix
97f6183a55 Destructure the child using RecordWildcards. 2016-05-20 16:13:15 -04:00
Rob Rix
2b65c06ffc Add a Show instance for Child.
🎩 @rewinfrey
2016-05-20 16:07:13 -04:00
Rob Rix
1ae30309b4 Newlines are less common than other padding characters. 2016-05-20 16:06:49 -04:00
Rob Rix
f8e007bb46 Children contain asterisks and newlines. 2016-05-20 15:50:31 -04:00
Rob Rix
b0c0f13b61 Children have a string of contents. 2016-05-20 15:50:15 -04:00
Rob Rix
765ac74532 Generate arbitrary margins of spaces and newlines. 2016-05-20 15:44:47 -04:00
Rob Rix
5efb5d8987 Write the childMargin type as String to silence hlint. 2016-05-20 15:44:24 -04:00
Rob Rix
391b1da75e Arbitrary child keys are alphanumeric. 2016-05-20 15:41:20 -04:00
Rob Rix
f2835ac7a6 Child keys are strings. 2016-05-20 15:40:40 -04:00
Rob Rix
13a90624de Stub in a quick Arbitrary instance for Child. 2016-05-20 15:34:20 -04:00
Rob Rix
72455cdecd Add a datatype to represent children for alignBranch property tests. 2016-05-20 15:34:11 -04:00
Rob Rix
5355143395 Add some pending properties. 2016-05-20 13:05:38 -04:00
Rob Rix
018f289fb5 Abstract PrettyDiff over a type parameter. 2016-05-20 12:39:56 -04:00
Rob Rix
cb2ffd188c Add a test case of ungreedy asymmetrical node alignment. 2016-05-19 16:16:35 -04:00
Rob Rix
2df52eec1d Ditto for the json output. 2016-05-19 14:04:16 -04:00
Rob Rix
172a0aaa47 We no longer extend an expression statement over the end of the line, apparently. 2016-05-19 14:00:22 -04:00
Rob Rix
1d2ec4c5f0 The expected alignment of this case has changed. 2016-05-19 13:54:29 -04:00
Rob Rix
20627f764f Test alignBranch instead of alignChildrenInRanges. 2016-05-19 13:40:10 -04:00
Rob Rix
ac17a13167 Test that context-only lines are paired up before the asymmetrical halves of split-up symmetrical children. 2016-05-19 12:52:51 -04:00
Rob Rix
d25f7ddc7f Test that we align deletions on a line before insertions. 2016-05-19 12:22:48 -04:00
Rob Rix
1979f4e32f Make it convenient to show the raw structures for strange failure cases. 2016-05-19 12:22:33 -04:00
Rob Rix
80f58f01e3 Do some gymnastics to allow our DSL to construct terms/diffs uniformly. 2016-05-19 12:12:11 -04:00
Rob Rix
198304d45d Use the insert/delete constructors in the test fixtures. 2016-05-19 11:10:48 -04:00
Rob Rix
7bc9a358a5 Add PatchConstructible instances to Patch/SplitPatch. 2016-05-19 11:04:19 -04:00
Rob Rix
04ef584b6c Add a typeclass to make patches/split patches. 2016-05-19 11:03:45 -04:00
Rob Rix
3e63b464f7 Test that symmetrical nodes are split if forced by earlier symmetrical nodes. 2016-05-19 09:01:15 -04:00
Rob Rix
c50493175b Remove the redundant tests of asymmetrical nodes preceding/following symmetrical ones. 2016-05-19 00:21:41 -04:00
Rob Rix
24f98f7db9 Test that symmetrical nodes force alignment on both sides. 2016-05-19 00:19:08 -04:00
Rob Rix
17403fc2b2 Fix up the test of symmetrical nodes and following asymmetrical ones. 2016-05-19 00:18:49 -04:00
Rob Rix
b86ce458b0 Test that symmetrical nodes force alignment of later asymmetrical nodes on the same line. 2016-05-19 00:15:03 -04:00
Rob Rix
7d591e737f Test that symmetrical nodes force alignment of earlier asymmetrical nodes on the same line. 2016-05-19 00:13:49 -04:00
Rob Rix
5c2d9b6b01 Change a test name. 2016-05-19 00:13:26 -04:00
Rob Rix
dc8d0d4fdf Add punctuation characters to a test case to clarify the failure. 2016-05-18 17:22:16 -04:00
joshvera
68948287f8 Add a summary renderer 2016-05-18 12:01:16 -04:00
joshvera
aade9415aa Add replacement summaries 2016-05-18 10:24:08 -04:00
joshvera
ab3b8faf32 hey look it works 2016-05-18 10:18:26 -04:00