UNPKG

expression-language

Version:

Javascript implementation of symfony/expression-language

39 lines (38 loc) 2.34 kB
"use strict"; var _ConstantNode = _interopRequireDefault(require("../ConstantNode")); var _UnaryNode = _interopRequireDefault(require("../UnaryNode")); var _Compiler = _interopRequireDefault(require("../../Compiler")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } function getEvaluateData() { return [[-1, new _UnaryNode.default('-', new _ConstantNode.default(1))], [3, new _UnaryNode.default('+', new _ConstantNode.default(3))], [false, new _UnaryNode.default('!', new _ConstantNode.default(true))], [false, new _UnaryNode.default('not', new _ConstantNode.default(true))], [-6, new _UnaryNode.default('~', new _ConstantNode.default(5))]]; } function getCompileData() { return [['(-1)', new _UnaryNode.default('-', new _ConstantNode.default(1))], ['(+3)', new _UnaryNode.default('+', new _ConstantNode.default(3))], ['(!true)', new _UnaryNode.default('!', new _ConstantNode.default(true))], ['(!true)', new _UnaryNode.default('not', new _ConstantNode.default(true))], ['(~5)', new _UnaryNode.default('~', new _ConstantNode.default(5))]]; } function getDumpData() { return [['(- 1)', new _UnaryNode.default('-', new _ConstantNode.default(1))], ['(+ 3)', new _UnaryNode.default('+', new _ConstantNode.default(3))], ['(! true)', new _UnaryNode.default('!', new _ConstantNode.default(true))], ['(not true)', new _UnaryNode.default('not', new _ConstantNode.default(true))], ['(~ 5)', new _UnaryNode.default('~', new _ConstantNode.default(5))]]; } test('evaluate UnaryNode', () => { for (let evaluateParams of getEvaluateData()) { //console.log("Evaluating: ", evaluateParams); let evaluated = evaluateParams[1].evaluate(evaluateParams[3] || {}, evaluateParams[2]); //console.log("Evaluated: ", evaluated); if (evaluateParams[0] !== null && typeof evaluateParams[0] === "object") { expect(evaluated).toMatchObject(evaluateParams[0]); } else { expect(evaluated).toBe(evaluateParams[0]); } } }); test('compile UnaryNode', () => { for (let compileParams of getCompileData()) { let compiler = new _Compiler.default({}); compileParams[1].compile(compiler); expect(compiler.getSource()).toBe(compileParams[0]); } }); test('dump UnaryNode', () => { for (let dumpParams of getDumpData()) { expect(dumpParams[1].dump()).toBe(dumpParams[0]); } });