Extend QUnit a bit more cleanly
This commit is contained in:
parent
abf33d3feb
commit
f3970bfa5c
|
@ -1,26 +1,29 @@
|
||||||
parses = function(parser, input, expected) {
|
(function(global) {
|
||||||
deepEqual(parser.parse(input), expected);
|
|
||||||
};
|
|
||||||
|
|
||||||
parsesWithStartRule = function(parser, input, startRule, expected) {
|
var extensions = {
|
||||||
deepEqual(parser.parse(input, startRule), expected);
|
parses: function(parser, input, expected) {
|
||||||
};
|
QUnit.deepEqual(parser.parse(input), expected);
|
||||||
|
},
|
||||||
|
|
||||||
doesNotParse = function(parser, input) {
|
parsesWithStartRule: function(parser, input, startRule, expected) {
|
||||||
raises(function() { parser.parse(input); }, parser.SyntaxError);
|
QUnit.deepEqual(parser.parse(input, startRule), expected);
|
||||||
};
|
},
|
||||||
|
|
||||||
doesNotParseWithMessage = function(parser, input, message) {
|
doesNotParse: function(parser, input) {
|
||||||
raises(
|
QUnit.raises(function() { parser.parse(input); }, parser.SyntaxError);
|
||||||
|
},
|
||||||
|
|
||||||
|
doesNotParseWithMessage: function(parser, input, message) {
|
||||||
|
QUnit.raises(
|
||||||
function() { parser.parse(input); },
|
function() { parser.parse(input); },
|
||||||
function(e) {
|
function(e) {
|
||||||
return e instanceof parser.SyntaxError && e.message === message;
|
return e instanceof parser.SyntaxError && e.message === message;
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
};
|
},
|
||||||
|
|
||||||
doesNotParseWithDetails = function(parser, input, expected, found, message) {
|
doesNotParseWithDetails: function(parser, input, expected, found, message) {
|
||||||
raises(
|
QUnit.raises(
|
||||||
function() { parser.parse(input); },
|
function() { parser.parse(input); },
|
||||||
function(e) {
|
function(e) {
|
||||||
var i;
|
var i;
|
||||||
|
@ -36,10 +39,10 @@ doesNotParseWithDetails = function(parser, input, expected, found, message) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
};
|
},
|
||||||
|
|
||||||
doesNotParseWithPos = function(parser, input, offset, line, column) {
|
doesNotParseWithPos: function(parser, input, offset, line, column) {
|
||||||
raises(
|
QUnit.raises(
|
||||||
function() { parser.parse(input); },
|
function() { parser.parse(input); },
|
||||||
function(e) {
|
function(e) {
|
||||||
return e instanceof parser.SyntaxError
|
return e instanceof parser.SyntaxError
|
||||||
|
@ -48,16 +51,22 @@ doesNotParseWithPos = function(parser, input, offset, line, column) {
|
||||||
&& e.column === column;
|
&& e.column === column;
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
},
|
||||||
|
|
||||||
|
parserParses: function(input, expected) {
|
||||||
|
QUnit.parses(PEG.parser, input, expected);
|
||||||
|
},
|
||||||
|
|
||||||
|
parserDoesNotParse: function(input) {
|
||||||
|
QUnit.doesNotParse(PEG.parser, input);
|
||||||
|
},
|
||||||
|
|
||||||
|
parserDoesNotParseWithMessage: function(input, message) {
|
||||||
|
QUnit.doesNotParseWithMessage(PEG.parser, input, message);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
parserParses = function(input, expected) {
|
QUnit.extend(QUnit, extensions);
|
||||||
parses(PEG.parser, input, expected);
|
QUnit.extend(global, extensions);
|
||||||
};
|
|
||||||
|
|
||||||
parserDoesNotParse = function(input) {
|
})(this);
|
||||||
doesNotParse(PEG.parser, input);
|
|
||||||
};
|
|
||||||
|
|
||||||
parserDoesNotParseWithMessage = function(input, message) {
|
|
||||||
doesNotParseWithMessage(PEG.parser, input, message);
|
|
||||||
};
|
|
||||||
|
|
Loading…
Reference in a new issue