You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
pegjs/test/spec/unit/compiler/passes/report-undefined-rules.spec.js

36 lines
888 B
JavaScript

"use strict";
const chai = require( "chai" );
const helpers = require( "./helpers" );
const pass = require( "pegjs-dev" ).compiler.passes.check.reportUndefinedRules;
chai.use( helpers );
const expect = chai.expect;
describe( "compiler pass |reportUndefinedRules|", function () {
it( "reports undefined rules", function () {
expect( pass ).to.reportError( "start = undefined", {
message: "Rule \"undefined\" is not defined.",
location: {
start: { offset: 8, line: 1, column: 9 },
end: { offset: 17, line: 1, column: 18 }
}
} );
} );
it( "checks allowedStartRules", function () {
expect( pass ).to.reportError( "start = 'a'", {
message: "Start rule \"missing\" is not defined."
}, {
allowedStartRules: [ "missing" ]
} );
} );
} );