Tests: Require specific modules instead of the whole library

Requiring the whole library was a relict from the time where the tests
were exercising the browser build when run in the browser.
redux
David Majda 7 years ago
parent 9f36131637
commit 6817f3b964

@ -2,15 +2,13 @@
let chai = require("chai"); let chai = require("chai");
let helpers = require("./helpers"); let helpers = require("./helpers");
let peg = require("../../../../lib/peg"); let pass = require("../../../../lib/compiler/passes/generate-bytecode");
chai.use(helpers); chai.use(helpers);
let expect = chai.expect; let expect = chai.expect;
describe("compiler pass |generateBytecode|", function() { describe("compiler pass |generateBytecode|", function() {
let pass = peg.compiler.passes.generate.generateBytecode;
function bytecodeDetails(bytecode) { function bytecodeDetails(bytecode) {
return { return {
rules: [{ bytecode: bytecode }] rules: [{ bytecode: bytecode }]

@ -1,6 +1,6 @@
"use strict"; "use strict";
let peg = require("../../../../lib/peg"); let parser = require("../../../../lib/parser");
module.exports = function(chai, utils) { module.exports = function(chai, utils) {
let Assertion = chai.Assertion; let Assertion = chai.Assertion;
@ -44,7 +44,7 @@ module.exports = function(chai, utils) {
} }
} }
let ast = peg.parser.parse(grammar); let ast = parser.parse(grammar);
utils.flag(this, "object")(ast, options); utils.flag(this, "object")(ast, options);
@ -58,7 +58,7 @@ module.exports = function(chai, utils) {
}); });
Assertion.addMethod("reportError", function(grammar, props) { Assertion.addMethod("reportError", function(grammar, props) {
let ast = peg.parser.parse(grammar); let ast = parser.parse(grammar);
let passed, result; let passed, result;

@ -2,15 +2,13 @@
let chai = require("chai"); let chai = require("chai");
let helpers = require("./helpers"); let helpers = require("./helpers");
let peg = require("../../../../lib/peg"); let pass = require("../../../../lib/compiler/passes/remove-proxy-rules");
chai.use(helpers); chai.use(helpers);
let expect = chai.expect; let expect = chai.expect;
describe("compiler pass |removeProxyRules|", function() { describe("compiler pass |removeProxyRules|", function() {
let pass = peg.compiler.passes.transform.removeProxyRules;
describe("when a proxy rule isn't listed in |allowedStartRules|", function() { describe("when a proxy rule isn't listed in |allowedStartRules|", function() {
it("updates references and removes it", function() { it("updates references and removes it", function() {
expect(pass).to.changeAST( expect(pass).to.changeAST(

@ -2,15 +2,13 @@
let chai = require("chai"); let chai = require("chai");
let helpers = require("./helpers"); let helpers = require("./helpers");
let peg = require("../../../../lib/peg"); let pass = require("../../../../lib/compiler/passes/report-duplicate-labels");
chai.use(helpers); chai.use(helpers);
let expect = chai.expect; let expect = chai.expect;
describe("compiler pass |reportDuplicateLabels|", function() { describe("compiler pass |reportDuplicateLabels|", function() {
let pass = peg.compiler.passes.check.reportDuplicateLabels;
describe("in a sequence", function() { describe("in a sequence", function() {
it("reports labels duplicate with labels of preceding elements", function() { it("reports labels duplicate with labels of preceding elements", function() {
expect(pass).to.reportError("start = a:'a' a:'a'", { expect(pass).to.reportError("start = a:'a' a:'a'", {

@ -2,15 +2,13 @@
let chai = require("chai"); let chai = require("chai");
let helpers = require("./helpers"); let helpers = require("./helpers");
let peg = require("../../../../lib/peg"); let pass = require("../../../../lib/compiler/passes/report-duplicate-rules");
chai.use(helpers); chai.use(helpers);
let expect = chai.expect; let expect = chai.expect;
describe("compiler pass |reportDuplicateRules|", function() { describe("compiler pass |reportDuplicateRules|", function() {
let pass = peg.compiler.passes.check.reportDuplicateRules;
it("reports duplicate rules", function() { it("reports duplicate rules", function() {
expect(pass).to.reportError([ expect(pass).to.reportError([
"start = 'a'", "start = 'a'",

@ -2,15 +2,13 @@
let chai = require("chai"); let chai = require("chai");
let helpers = require("./helpers"); let helpers = require("./helpers");
let peg = require("../../../../lib/peg"); let pass = require("../../../../lib/compiler/passes/report-infinite-recursion");
chai.use(helpers); chai.use(helpers);
let expect = chai.expect; let expect = chai.expect;
describe("compiler pass |reportInfiniteRecursion|", function() { describe("compiler pass |reportInfiniteRecursion|", function() {
let pass = peg.compiler.passes.check.reportInfiniteRecursion;
it("reports direct left recursion", function() { it("reports direct left recursion", function() {
expect(pass).to.reportError("start = start", { expect(pass).to.reportError("start = start", {
message: "Possible infinite loop when parsing (left recursion: start -> start).", message: "Possible infinite loop when parsing (left recursion: start -> start).",

@ -2,15 +2,13 @@
let chai = require("chai"); let chai = require("chai");
let helpers = require("./helpers"); let helpers = require("./helpers");
let peg = require("../../../../lib/peg"); let pass = require("../../../../lib/compiler/passes/report-infinite-repetition");
chai.use(helpers); chai.use(helpers);
let expect = chai.expect; let expect = chai.expect;
describe("compiler pass |reportInfiniteRepetition|", function() { describe("compiler pass |reportInfiniteRepetition|", function() {
let pass = peg.compiler.passes.check.reportInfiniteRepetition;
it("reports infinite loops for zero_or_more", function() { it("reports infinite loops for zero_or_more", function() {
expect(pass).to.reportError("start = ('')*", { expect(pass).to.reportError("start = ('')*", {
message: "Possible infinite loop when parsing (repetition used with an expression that may not consume any input).", message: "Possible infinite loop when parsing (repetition used with an expression that may not consume any input).",

@ -2,15 +2,13 @@
let chai = require("chai"); let chai = require("chai");
let helpers = require("./helpers"); let helpers = require("./helpers");
let peg = require("../../../../lib/peg"); let pass = require("../../../../lib/compiler/passes/report-undefined-rules");
chai.use(helpers); chai.use(helpers);
let expect = chai.expect; let expect = chai.expect;
describe("compiler pass |reportUndefinedRules|", function() { describe("compiler pass |reportUndefinedRules|", function() {
let pass = peg.compiler.passes.check.reportUndefinedRules;
it("reports undefined rules", function() { it("reports undefined rules", function() {
expect(pass).to.reportError("start = undefined", { expect(pass).to.reportError("start = undefined", {
message: "Rule \"undefined\" is not defined.", message: "Rule \"undefined\" is not defined.",

@ -1,7 +1,7 @@
"use strict"; "use strict";
let chai = require("chai"); let chai = require("chai");
let peg = require("../../lib/peg"); let parser = require("../../lib/parser");
let expect = chai.expect; let expect = chai.expect;
@ -170,7 +170,7 @@ describe("PEG.js grammar parser", function() {
let Assertion = chai.Assertion; let Assertion = chai.Assertion;
Assertion.addMethod("parseAs", function(expected) { Assertion.addMethod("parseAs", function(expected) {
let result = peg.parser.parse(utils.flag(this, "object")); let result = parser.parse(utils.flag(this, "object"));
stripLocation(result); stripLocation(result);
@ -188,7 +188,7 @@ describe("PEG.js grammar parser", function() {
let passed, result; let passed, result;
try { try {
result = peg.parser.parse(utils.flag(this, "object")); result = parser.parse(utils.flag(this, "object"));
passed = true; passed = true;
} catch (e) { } catch (e) {
result = e; result = e;

Loading…
Cancel
Save