UNPKG

735 BJavaScriptView Raw
1var lop = require("../");
2var Parser = lop.Parser;
3var rules = lop.rules;
4var testing = lop.testing;
5var Tokeniser = require("./Tokeniser");
6
7exports.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
25var parseString = function(parser, string) {
26 return parser(new TokenIterator(tokens));
27};