| 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);
 
 
  |