1
1
mirror of https://github.com/github/semantic.git synced 2024-12-23 06:41:45 +03:00
Commit Graph

137 Commits

Author SHA1 Message Date
Rob Rix
19850efea1 Add callstacks to the spec rules. 2017-08-02 12:11:14 -04:00
Rob Rix
7da8799e08 🔥 Prologue & protolude. 2017-07-28 14:37:02 -04:00
Rob Rix
aa15a97d3e Test matching of alternations around pure. 2017-07-27 09:36:13 -04:00
Rob Rix
49449f5be2 Test that alternation distributes through committed choice & is nullable. 2017-07-26 18:42:36 -04:00
Rob Rix
a5236753e0 Test that alternation distributes through committed choice and matches single values. 2017-07-26 18:42:18 -04:00
Rob Rix
4038d4b1a3 Test that alternation distributes through committed choices and matches repeated values. 2017-07-26 18:41:24 -04:00
Rob Rix
2888a0d7f5 Test that committed choices of repetitions are nullable. 2017-07-26 18:40:19 -04:00
Rob Rix
786e6f6e60 Make sure that we match both when alternating repetitions. 2017-07-26 17:43:39 -04:00
Rob Rix
27f6d2ed25 Test that alternation distributes through children rules. 2017-07-26 12:14:12 -04:00
Rob Rix
898e119af9 Test that alternations of repetitions succeed. 2017-07-26 12:02:18 -04:00
Rob Rix
5c0d27c1a2 Test that overlapping choices match the right branch.
This currently fails due to the left-biased nature of how we merge committed choices.
2017-07-26 11:11:15 -04:00
Rob Rix
6e1be163b3 Test that overlapping choices match the left branch. 2017-07-26 11:09:52 -04:00
Rob Rix
32c03be782 Rename AssignmentState to State. 2017-07-22 16:13:42 -04:00
Rob Rix
09787f5e93 Combine the Error constructors. 2017-07-22 15:43:48 -04:00
Rob Rix
a04a05cf1a Combine ErrorCause into Error. 2017-07-22 15:31:43 -04:00
Rob Rix
83a0d9c60e Swap the order of the source & assignment. 2017-07-22 14:06:07 -04:00
Rob Rix
455f912941 Swap the order of the projection & source. 2017-07-22 14:04:52 -04:00
Rob Rix
d464da8089 runAssignment is exhaustive. 2017-07-22 13:59:45 -04:00
Timothy Clem
9f20e57740 Spacing 2017-07-21 09:08:57 -07:00
Timothy Clem
2f9f9f5752 Merge remote-tracking branch 'origin/master' into remove-sourceState 2017-07-21 09:07:33 -07:00
Timothy Clem
b934b97f27 s/Palatte/Palette 2017-07-21 09:00:30 -07:00
Timothy Clem
2880052c15 Remove sourceState from AssignmentState 2017-07-20 10:23:21 -07:00
Timothy Clem
1183c0265a err no longer used in these specs 2017-07-20 09:36:41 -07:00
Timothy Clem
6b1a3b0efd Fix zero width repetitions infinite loop
Introduces a stateCounter to detect progress and accepts one and only one zero width match.

Refactored tests a bit to not assert internal state unless specifically necessary.
2017-07-20 09:32:24 -07:00
Timothy Clem
ee0fb33a94 Demonstrate infinite loop with many (pure x) 2017-07-20 09:32:24 -07:00
Timothy Clem
0b23bf901f Use const 2017-07-20 09:32:24 -07:00
Timothy Clem
4cdac77633 Test out catchError 2017-07-20 09:32:24 -07:00
Timothy Clem
64d2175f58 Fix up assignment specs 2017-07-17 14:39:08 -07:00
Rob Rix
cf5794d9cc 🔥 a redundant import. 2017-07-12 15:57:14 -04:00
Rob Rix
e050a44cf4 Define a Node type for the intermediate representation of metadata. 2017-07-12 15:55:21 -04:00
Rob Rix
a1b30f7524 Fix up the tests. 2017-07-12 14:51:38 -04:00
Rob Rix
5c44267e27 Fix the specs. 2017-06-26 12:56:56 -04:00
Rob Rix
fe29a865c3 🔥 redundant hidden symbols. 2017-06-24 17:32:18 -04:00
Rob Rix
b7ea75a9bd Define Source abstractly. 2017-06-24 11:32:04 -04:00
Rob Rix
fc09d74b73 Rename the Source module to Data.Source. 2017-06-24 09:59:41 -04:00
Rob Rix
4097d4bfc0 Rename SourceSpan to Span and SourcePos to Pos. 2017-06-24 09:30:34 -04:00
Rob Rix
b019a2b237 Correct the spec. 2017-06-07 20:17:14 -04:00
Rob Rix
84c15e3e65 Don’t specify Node in the assignment spec. 2017-06-07 14:27:01 -04:00
Rob Rix
a66a76bb01 Construct the input AST using the node constructor. 2017-06-07 14:26:21 -04:00
Rob Rix
ddc58d3f83 Rename rec to node. 2017-06-07 14:23:37 -04:00
Rob Rix
51fcf532a8 Correct the spec. 2017-06-06 08:47:17 -04:00
Rick Winfrey
13077a3f9b Merge branch 'master' into python-assignment 2017-05-18 18:12:36 -07:00
Rob Rix
9c75981833 Construct well-formed nodes. 2017-05-17 15:36:53 -04:00
Rob Rix
516daa7e4f Correct the spec. 2017-05-17 15:35:15 -04:00
Rick Winfrey
fe41b97464 Fix HLint warnings 2017-05-12 09:45:07 -07:00
Rob Rix
b4face5176 Clarify one of the test descriptions. 2017-05-03 11:23:31 -04:00
Rob Rix
a96596b01c Update the tests. 2017-05-03 10:56:01 -04:00
Rob Rix
080f30c704 Test that withTokens preserves anonymous nodes. 2017-05-03 10:13:40 -04:00
Rob Rix
ad642922ec Test that anonymous nodes are not dropped after matching. 2017-05-03 10:09:31 -04:00
Rob Rix
80c3072508 Test that anonymous nodes are dropped at the start of input. 2017-05-03 10:07:53 -04:00
Rob Rix
ab1e7ac9e0 Give a list of symbol types to consider. 2017-05-03 10:03:02 -04:00
Rob Rix
7e0f13fc63 Bind the initial state to clarify the intent of the test. 2017-05-03 09:42:57 -04:00
Rob Rix
7ae74cdacc Use makeState to tidy up an expectation. 2017-05-03 09:42:18 -04:00
Rob Rix
72de8792c4 Construct Source with OverloadedStrings. 2017-05-03 09:40:52 -04:00
Rob Rix
1c968e3aab Use makeState in the assignment spec. 2017-05-03 09:39:24 -04:00
Rob Rix
bfd55c49c9 Correct a test. 2017-05-03 09:39:19 -04:00
Rob Rix
9193e91bf6 Correct some tests to only depend on the values. 2017-05-01 10:05:36 -04:00
Rob Rix
ccdb54e01e Make the tests compile. 2017-05-01 10:01:59 -04:00
Rob Rix
f991988eea Show the source of errors. 2017-04-26 14:54:29 -04:00
Rob Rix
e89ea96739 Test the specific error message we get for cascading children failures. 2017-04-26 11:45:58 -04:00
Rob Rix
447412be86 Define committed choice as a map of alternatives. 2017-04-26 11:29:13 -04:00
Rob Rix
fe1a04dc91 Differentiate between success and errors with no messages. 2017-04-26 11:27:56 -04:00
Rob Rix
55934f656b Correct indentation. 2017-04-24 10:44:37 -04:00
Rob Rix
de0cdc98aa Add SourcePos information to the tests. 2017-04-24 10:27:45 -04:00
Rob Rix
296d9bb03d Fix the tests. 2017-04-21 16:12:56 -04:00
Rob Rix
f97ed6cc37 Rename Content to Source. 2017-04-19 16:00:44 -04:00
Rob Rix
c589e229ee Rename rule to symbol. 2017-04-19 13:11:09 -04:00
Rob Rix
ccad5c275e Update the tests. 2017-04-18 11:06:24 -04:00
Rob Rix
5ad80666ad Test that children assignments match multiple nested children. 2017-04-10 11:24:30 -04:00
Rob Rix
b1b1d2bd2f Test that assignment continues after children assignments. 2017-04-10 10:52:12 -04:00
Rob Rix
c2482a0610 Test that children assignments nest. 2017-04-10 10:35:39 -04:00
Rob Rix
c9cf3d0bb8 Tidy up the repetition test. 2017-04-10 09:01:33 -04:00
Rob Rix
72ad4e027e Generalize the ast helper over the grammar type. 2017-04-07 21:26:02 -04:00
Rob Rix
a43ff988ae Test that rule assignment does not advance the cursor. 2017-04-07 14:59:13 -04:00
Rob Rix
79454112c5 Test that content assignment advances the cursor. 2017-04-07 14:57:44 -04:00
Rob Rix
c2a2b0b32b Test that content assignment produces nodes’ content. 2017-04-07 14:57:00 -04:00
Rob Rix
0cc5c84706 Move the rule assignment tests down. 2017-04-07 14:50:57 -04:00
Rob Rix
f082473b4f Rename the test for rule assignments. 2017-04-07 14:48:02 -04:00
Rob Rix
df130daceb Group the Applicative tests together. 2017-04-07 14:47:31 -04:00
Rob Rix
806d4a702f Group the Alternative tests together. 2017-04-07 14:47:23 -04:00
Rob Rix
71c5372d17 Test that children assignment fails if the subrule fails. 2017-04-07 14:43:53 -04:00
Rob Rix
b2da4ca89a Test that children assignments match if their subrule matches. 2017-04-07 14:42:25 -04:00
Rob Rix
dfb5cff0dc Test that children advances the cursor. 2017-04-07 14:39:13 -04:00
Rob Rix
03ea4a55fc Correct the test assignments. 2017-04-07 14:37:22 -04:00
Rob Rix
c27af0034e Rename stepAssignment to runAssignment. 2017-04-07 13:31:26 -04:00
Rob Rix
3a87919d22 Simplify the tests. 2017-04-07 12:36:14 -04:00
Rob Rix
76240b1d67 Refocus the existing assignment specs. 2017-04-07 12:21:45 -04:00