mirror of
https://github.com/harttle/liquidjs.git
synced 2026-09-20 06:50:47 -07:00
Merge branch 'chenos-master'
This commit is contained in:
+5
-1
@@ -5,7 +5,11 @@ var operators = {
|
|||||||
'<': (l, r) => l < r,
|
'<': (l, r) => l < r,
|
||||||
'>=': (l, r) => l >= r,
|
'>=': (l, r) => l >= r,
|
||||||
'<=': (l, r) => l <= r,
|
'<=': (l, r) => l <= r,
|
||||||
'contains': (l, r) => l.indexOf(r) > -1,
|
'contains': (l, r) => {
|
||||||
|
if (!l) return false;
|
||||||
|
if (typeof l.indexOf !== 'function') return false;
|
||||||
|
return l.indexOf(r) > -1;
|
||||||
|
},
|
||||||
'and': (l, r) => l && r,
|
'and': (l, r) => l && r,
|
||||||
'or': (l, r) => l || r
|
'or': (l, r) => l || r
|
||||||
};
|
};
|
||||||
|
|||||||
+8
-7
@@ -13,7 +13,9 @@ describe('expression', function() {
|
|||||||
scope = Scope.factory({
|
scope = Scope.factory({
|
||||||
one: 1,
|
one: 1,
|
||||||
two: 2,
|
two: 2,
|
||||||
x: 'XXX'
|
x: 'XXX',
|
||||||
|
y: undefined,
|
||||||
|
z: null
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -22,12 +24,6 @@ describe('expression', function() {
|
|||||||
expect(evalValue('"foo"')).to.equal("foo");
|
expect(evalValue('"foo"')).to.equal("foo");
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should throw on illegal expression', function() {
|
|
||||||
expect(function() {
|
|
||||||
evalExp('1 contains "x"', scope);
|
|
||||||
}).to.throw();
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should eval variables', function() {
|
it('should eval variables', function() {
|
||||||
expect(evalValue('23', scope)).to.equal(23);
|
expect(evalValue('23', scope)).to.equal(23);
|
||||||
expect(evalValue('one', scope)).to.equal(1);
|
expect(evalValue('one', scope)).to.equal(1);
|
||||||
@@ -48,6 +44,11 @@ describe('expression', function() {
|
|||||||
expect(evalExp('one<=two', scope)).to.equal(true);
|
expect(evalExp('one<=two', scope)).to.equal(true);
|
||||||
expect(evalExp('x contains "x"', scope)).to.equal(false);
|
expect(evalExp('x contains "x"', scope)).to.equal(false);
|
||||||
expect(evalExp('x contains "X"', scope)).to.equal(true);
|
expect(evalExp('x contains "X"', scope)).to.equal(true);
|
||||||
|
expect(evalExp('1 contains "x"', scope)).to.equal(false);
|
||||||
|
expect(evalExp('y contains "x"', scope)).to.equal(false);
|
||||||
|
expect(evalExp('z contains "x"', scope)).to.equal(false);
|
||||||
|
expect(evalExp('(1..5) contains 3', scope)).to.equal(true);
|
||||||
|
expect(evalExp('(1..5) contains 6', scope)).to.equal(false);
|
||||||
expect(evalExp('"<=" == "<="', scope)).to.equal(true);
|
expect(evalExp('"<=" == "<="', scope)).to.equal(true);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user