UNPKG

expression-language

Version:

Javascript implementation of symfony/expression-language

27 lines (26 loc) 1.39 kB
"use strict"; var _ConstantNode = _interopRequireDefault(require("../Node/ConstantNode")); var _ParsedExpression = _interopRequireDefault(require("../ParsedExpression")); var _index = require("../index"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } test('serialize ParsedExpression', () => { let expression = new _ParsedExpression.default('25', new _ConstantNode.default(25)); let serialized = JSON.stringify(expression); let unserialized = _ParsedExpression.default.fromJSON(serialized); expect(unserialized.expression).toEqual(expression.expression); expect(unserialized.nodes.name).toEqual(expression.nodes.name); expect(unserialized.nodes.attributes).toMatchObject(expression.nodes.attributes); }); test('serialize more complex ParsedExpression', () => { let expressionString = "25 + 30"; let parser = new _index.Parser(); let nodes = parser.parse((0, _index.tokenize)(expressionString)); let expression = new _ParsedExpression.default(expressionString, nodes); let serialized = JSON.stringify(expression); let unserialized = _ParsedExpression.default.fromJSON(serialized); expect(unserialized.expression).toEqual(expressionString); expect(unserialized.nodes.length).toEqual(expression.nodes.length); for (let i = 0; i < unserialized.nodes.length; i++) { expect(unserialized.nodes[i]).toEqual(nodes[i]); } });