@masala/parser
Version:
56 lines (36 loc) • 1.02 kB
JavaScript
import {C} from '../../lib/parsec/index';
export default {
setUp: function (done) {
done();
},
'expect p.first() to work':function(test){
let text = 'abc';
let parser = C.letter().rep().first();
test.equal('a', parser.val(text));
test.done();
},
'expect p.last() to work':function(test){
let text = 'abc';
let parser = C.letter().rep().last();
test.equal('c', parser.val(text));
test.done();
},
'expect p.at() to work':function(test){
let text = 'abc';
let parser = C.letter().rep().map(t => t.at(2));
test.equal('c', parser.val(text));
test.done();
},
'expect p.array to fail if not a tupleParser':function(test){
let text = 'abc';
let parser = C.letters().array();
let found = false;
try{
parser.val(text);
}catch (e) {
found = true;
}
test.ok(found);
test.done();
}
}