diff --git a/firebase-query.html b/firebase-query.html index 56fa75e..2e9cced 100644 --- a/firebase-query.html +++ b/firebase-query.html @@ -252,7 +252,7 @@ query = query.endAt(endAt); } - if (equalTo) { + if (equalTo !== null) { query = query.equalTo(equalTo); } diff --git a/test/firebase-query.html b/test/firebase-query.html index ec5e0da..bfcff11 100644 --- a/test/firebase-query.html +++ b/test/firebase-query.html @@ -204,6 +204,30 @@ }); }); + suite('equalTo query', function() { + var query; + + setup(function() { + query = fixture('BasicQuery'); + query.path = root + '/equalTo'; + return query.transactionsComplete; + }); + + test('should allow an equalTo query with a `false` value', function() { + query.orderByChild = 'thing'; + query.equalTo = false; + + return setFirebaseValue(query.path, { + a: {thing: true}, + b: {thing: false}, + c: {thing: false} + }).then(function() { + expect(query.data[0].$key).to.be.eql('b'); + expect(query.data.length).to.be.eql(2); + }); + }); + }); + suite('coordinating with dom-repeat', function() { var query; var domRepeat;