expression-language
Version:
Javascript implementation of symfony/expression-language
27 lines (26 loc) • 994 B
JavaScript
;
var _SerializedParsedExpression = _interopRequireDefault(require("../SerializedParsedExpression"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
test('constructor stores the expression and serialized nodes', () => {
let serialized = new _SerializedParsedExpression.default('25 + 30', '{"name":"BinaryNode"}');
expect(serialized.expression).toBe('25 + 30');
expect(serialized.nodes).toBe('{"name":"BinaryNode"}');
});
test('getNodes parses the serialized JSON nodes', () => {
let serialized = new _SerializedParsedExpression.default('25', JSON.stringify({
name: 'ConstantNode',
attributes: {
value: 25
}
}));
expect(serialized.getNodes()).toEqual({
name: 'ConstantNode',
attributes: {
value: 25
}
});
});
test('getNodes throws on invalid JSON', () => {
let serialized = new _SerializedParsedExpression.default('25', 'not valid json');
expect(() => serialized.getNodes()).toThrow();
});