expression-language
Version:
Javascript implementation of symfony/expression-language
56 lines (55 loc) • 2.86 kB
JavaScript
"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));
});