| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- "use strict";
- var assert = require("assert"),
- Variables = require("../../../../lib/pipeline/expressions/Variables"),
- VariablesIdGenerator = require("../../../../lib/pipeline/expressions/VariablesIdGenerator"),
- VariablesParseState = require("../../../../lib/pipeline/expressions/VariablesParseState");
- module.exports = {
- "VariablesParseState": {
- "constructor": {
- "Should be able to construct": function canConstruct() {
- var idGen = new VariablesIdGenerator(),
- vps = new VariablesParseState(idGen);
- },
- "Should throw given invalid args": function throwsForArgs() {
- assert.throws(function() {
- var vps = new VariablesParseState();
- });
- assert.throws(function() {
- var vps = new VariablesParseState(1);
- });
- assert.throws(function() {
- var vps = new VariablesParseState('hi');
- });
- assert.throws(function() {
- var vps = new VariablesParseState({});
- });
- assert.throws(function() {
- var vps = new VariablesParseState([]);
- });
- assert.throws(function() {
- var vps = new VariablesParseState(new Date());
- });
- }
- },
- "#defineVariable": {
- "Cannot define ROOT variable": function noCanRootDef() {
- var idGen = new VariablesIdGenerator(),
- vps = new VariablesParseState(idGen);
- assert.throws(function() {
- vps.defineVariable('ROOT', 5);
- });
- },
- "Should return new ids": function returnsNewIds() {
- var idGen = new VariablesIdGenerator(),
- vps = new VariablesParseState(idGen),
- firstId = vps.defineVariable('hi', 'bye'),
- secondId = vps.defineVariable('bye', 'hi');
- assert.notEqual(firstId, secondId);
- }
- },
- "#getVariable": {
- "Can retrieve defined variables": function getVariable() {
- var idGen = new VariablesIdGenerator(),
- vps = new VariablesParseState(idGen),
- firstId = vps.defineVariable('hi', 'bye'),
- firstVariable = vps.getVariable('hi');
- assert.equal(firstVariable, firstId);
- },
- "Can retrieve root id": function getVariable() {
- var idGen = new VariablesIdGenerator(),
- vps = new VariablesParseState(idGen),
- firstVariable = vps.getVariable('ROOT');
- assert.equal(firstVariable, Variables.ROOT_ID);
- }
- }
- }
- };
- if (!module.parent)(new(require("mocha"))()).ui("exports").reporter("spec").addFile(__filename).run(process.exit);
|