Comparison on NULL is always false (#27)

* All values in Liquid are truthy except nil and false.

* The falsy values are null, undefined and false.

* comparison on null
This commit is contained in:
chenos
2017-03-21 14:54:26 +08:00
committed by Jun Yang
parent 66774865f4
commit e72f295bd0
2 changed files with 53 additions and 4 deletions
+49
View File
@@ -52,4 +52,53 @@ describe('tags/if', function() {
return expect(liquid.parseAndRender(src, ctx))
.to.eventually.equal('a');
});
it('should return else when comparison on null 1', function() {
var src = "{% if null < 10 %}yes{% else %}no{% endif %}";
return expect(liquid.parseAndRender(src, ctx))
.to.eventually.equal('no');
});
it('should return else when comparison on null 2', function() {
var src = "{% if null <= 10 %}yes{% else %}no{% endif %}";
return expect(liquid.parseAndRender(src, ctx))
.to.eventually.equal('no');
});
it('should return else when comparison on null 3', function() {
var src = "{% if null >= 10 %}yes{% else %}no{% endif %}";
return expect(liquid.parseAndRender(src, ctx))
.to.eventually.equal('no');
});
it('should return else when comparison on null 4', function() {
var src = "{% if null > 10 %}yes{% else %}no{% endif %}";
return expect(liquid.parseAndRender(src, ctx))
.to.eventually.equal('no');
});
it('should return else when comparison on null 5', function() {
var src = "{% if 10 < null %}yes{% else %}no{% endif %}";
return expect(liquid.parseAndRender(src, ctx))
.to.eventually.equal('no');
});
it('should return else when comparison on null 6', function() {
var src = "{% if 10 <= null %}yes{% else %}no{% endif %}";
return expect(liquid.parseAndRender(src, ctx))
.to.eventually.equal('no');
});
it('should return else when comparison on null 7', function() {
var src = "{% if 10 >= null %}yes{% else %}no{% endif %}";
return expect(liquid.parseAndRender(src, ctx))
.to.eventually.equal('no');
});
it('should return else when comparison on null 8', function() {
var src = "{% if 10 > null %}yes{% else %}no{% endif %}";
return expect(liquid.parseAndRender(src, ctx))
.to.eventually.equal('no');
});
});