From 5d00815b4124f3e052f96a07c4b5e15be424efb1 Mon Sep 17 00:00:00 2001 From: David Majda Date: Sun, 6 Jan 2013 09:51:30 +0100 Subject: [PATCH] Improve |removeProxyRules| pass specs a bit --- .../passes/remove-proxy-rules.spec.js | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/spec/compiler/passes/remove-proxy-rules.spec.js b/spec/compiler/passes/remove-proxy-rules.spec.js index 63b4b0b..f72ac83 100644 --- a/spec/compiler/passes/remove-proxy-rules.spec.js +++ b/spec/compiler/passes/remove-proxy-rules.spec.js @@ -8,18 +8,21 @@ describe("compiler pass |removeProxyRules|", function() { function expressionDetails(details) { return { rules: [ - { name: "start", expression: details }, - { name: "proxied" } + { type: "rule", name: "start", expression: details }, + { type: "rule", name: "proxied" } ] }; } - var simpleDetails = expressionDetails({ expression: { name: "proxied" } }); + var proxiedRefDetails = { type: "rule_ref", name: "proxied" }, + simpleDetails = expressionDetails({ expression: proxiedRefDetails }); it("removes proxy rule from a rule", function() { expect(pass).toChangeAST(proxyGrammar('start = proxy'), { startRule: "proxied", - rules: [{ name: "proxied", expression: { type: "literal" } }] + rules: [ + { type: "rule", name: "proxied" } + ] }); }); @@ -33,11 +36,11 @@ describe("compiler pass |removeProxyRules|", function() { it("removes proxy rule from a choice", function() { expect(pass).toChangeAST( proxyGrammar('start = proxy / "a" / "b"'), - expressionDetails({ alternatives: [{ name: "proxied" }, {}, {}] }) + expressionDetails({ alternatives: [proxiedRefDetails, {}, {}] }) ); expect(pass).toChangeAST( proxyGrammar('start = "a" / "b" / proxy'), - expressionDetails({ alternatives: [{}, {}, { name: "proxied" }] }) + expressionDetails({ alternatives: [{}, {}, proxiedRefDetails] }) ); }); @@ -48,11 +51,11 @@ describe("compiler pass |removeProxyRules|", function() { it("removes proxy rule from a sequence", function() { expect(pass).toChangeAST( proxyGrammar('start = proxy "a" "b"'), - expressionDetails({ elements: [{ name: "proxied" }, {}, {}] }) + expressionDetails({ elements: [proxiedRefDetails, {}, {}] }) ); expect(pass).toChangeAST( proxyGrammar('start = "a" "b" proxy'), - expressionDetails({ elements: [{}, {}, { name: "proxied" }] }) + expressionDetails({ elements: [{}, {}, proxiedRefDetails] }) ); });