diff --git a/src/twig.tests.js b/src/twig.tests.js index edcd599d..00faba75 100644 --- a/src/twig.tests.js +++ b/src/twig.tests.js @@ -5,6 +5,12 @@ module.exports = function (Twig) { 'use strict'; Twig.tests = { empty(value) { + // Handle boolean true + if (value === true) { + return false; + } + + // Handle null or undefined if (value === null || value === undefined) { return true; } diff --git a/test/test.tests.js b/test/test.tests.js index 2da23b1b..20ac54aa 100644 --- a/test/test.tests.js +++ b/test/test.tests.js @@ -22,6 +22,18 @@ describe('Twig.js Tests ->', function () { twig({data: '{{ ["1"] is empty }}'}).render().should.equal('false'); }); + it('should identify booleans', function () { + // Array + twig({data: '{{ foo is empty }}'}).render( { foo: true } ).should.equal('false'); + twig({data: '{{ foo is empty }}'}).render( { foo: false }).should.equal('true'); + }); + + it('should identify null or undefined', function () { + // Array + twig({data: '{{ foo is empty }}'}).render( {foo: null} ).should.equal('true'); + twig({data: '{{ foo is empty }}'}).render( {foo: undefined} ).should.equal('true'); + }); + it('should identify empty objects', function () { // Object twig({data: '{{ {} is empty }}'}).render().should.equal('true');