UNPKG

expression-language

Version:

Javascript implementation of symfony/expression-language

56 lines (55 loc) 2.86 kB
"use strict"; var _ExpressionLanguage = _interopRequireDefault(require("../../ExpressionLanguage")); var _DateProvider = _interopRequireDefault(require("../DateProvider")); var _date = require("locutus/php/datetime/date"); var _strtotime = require("locutus/php/datetime/strtotime"); var _CompileRuntime = _interopRequireDefault(require("../../CompileRuntime")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } test('date evaluate', () => { let el = new _ExpressionLanguage.default(null, [new _DateProvider.default()]); let result = el.evaluate('date("Y-m-d")'); expect(result).toBe((0, _date.date)("Y-m-d")); }); test('date compile', () => { let el = new _ExpressionLanguage.default(null, [new _DateProvider.default()]); let compiled = el.compile('date("Y-m-d")'); expect(compiled).toBe('__runtime.date("Y-m-d")'); let fn = new Function('__runtime', 'return ' + compiled + ';'); expect(fn(_CompileRuntime.default)).toBe((0, _date.date)("Y-m-d")); }); test('strtotime evaluate', () => { let el = new _ExpressionLanguage.default(null, [new _DateProvider.default()]); let result = el.evaluate('strtotime("yesterday")'); expect(result).toBe((0, _strtotime.strtotime)("yesterday")); }); test('date evaluate with timestamp', () => { let el = new _ExpressionLanguage.default(null, [new _DateProvider.default()]); let result = el.evaluate('date("Y-m-d", 0)'); expect(result).toBe((0, _date.date)("Y-m-d", 0)); }); test('date compile with timestamp', () => { let el = new _ExpressionLanguage.default(null, [new _DateProvider.default()]); let result = el.compile('date("Y-m-d", 0)'); expect(result).toBe('__runtime.date("Y-m-d", 0)'); let fn = new Function('__runtime', 'return ' + result + ';'); expect(fn(_CompileRuntime.default)).toBe((0, _date.date)("Y-m-d", 0)); }); test('strtotime compile', () => { let el = new _ExpressionLanguage.default(null, [new _DateProvider.default()]); let compiled = el.compile('strtotime("yesterday")'); expect(compiled).toBe('__runtime.strtotime("yesterday")'); let fn = new Function('__runtime', 'return ' + compiled + ';'); expect(fn(_CompileRuntime.default)).toBe((0, _strtotime.strtotime)("yesterday")); }); test('strtotime evaluate with now', () => { let el = new _ExpressionLanguage.default(null, [new _DateProvider.default()]); let result = el.evaluate('strtotime("+1 day", 0)'); expect(result).toBe((0, _strtotime.strtotime)("+1 day", 0)); }); test('strtotime compile with now', () => { let el = new _ExpressionLanguage.default(null, [new _DateProvider.default()]); let result = el.compile('strtotime("+1 day", 0)'); expect(result).toBe('__runtime.strtotime("+1 day", 0)'); let fn = new Function('__runtime', 'return ' + result + ';'); expect(fn(_CompileRuntime.default)).toBe((0, _strtotime.strtotime)("+1 day", 0)); });