1 | var lop = require("../");
|
2 | var Parser = lop.Parser;
|
3 | var rules = lop.rules;
|
4 | var testing = lop.testing;
|
5 | var Tokeniser = require("./Tokeniser");
|
6 |
|
7 | exports.canParseUsingParser = function(test) {
|
8 | var tokens = new Tokeniser({keywords: []}).tokenise("! blah");
|
9 |
|
10 | var name = rules.sequence.capture(rules.token("identifier"), "name");
|
11 | var rule = rules.sequence(
|
12 | rules.token("identifier", "!"),
|
13 | name
|
14 | );
|
15 |
|
16 | var parser = new Parser();
|
17 | var result = parser.parseTokens(rule, tokens);
|
18 |
|
19 | testing.assertIsSuccess(test, result);
|
20 | test.deepEqual(result.value().get(name), "blah");
|
21 |
|
22 | test.done();
|
23 | };
|
24 |
|
25 | var parseString = function(parser, string) {
|
26 | return parser(new TokenIterator(tokens));
|
27 | };
|