Comparing version 0.0.17 to 0.0.18
{ | ||
"name": "sift", | ||
"description": "mongodb query style array filtering", | ||
"version": "0.0.17", | ||
"version": "0.0.18", | ||
"repository": {}, | ||
@@ -6,0 +6,0 @@ "engines": {}, |
@@ -1,7 +0,11 @@ | ||
var expect = require("expect.js"), | ||
var _ = require('underscore'), | ||
expect = require("expect.js"), | ||
sift = require(".."), | ||
assert = require("assert"); | ||
describe("objects", function () { | ||
var topic = [{ | ||
var topic = [ | ||
{ | ||
name: 'craig', | ||
@@ -16,15 +20,20 @@ age: 90001, | ||
tags: ['photos', 'cook'], | ||
hobbies: [{ | ||
hobbies: [ | ||
{ | ||
name: 'programming', | ||
description: 'some desc' | ||
}, { | ||
}, | ||
{ | ||
name: 'cooking' | ||
}, { | ||
}, | ||
{ | ||
name: 'photography', | ||
places: ['haiti', 'brazil', 'costa rica'] | ||
}, { | ||
}, | ||
{ | ||
name: 'backpacking' | ||
} | ||
] | ||
}, { | ||
}, | ||
{ | ||
name: 'tim', | ||
@@ -39,8 +48,11 @@ age: 90001, | ||
tags: ['dj'], | ||
hobbies: [{ | ||
hobbies: [ | ||
{ | ||
name: 'biking', | ||
description: 'some desc' | ||
}, { | ||
}, | ||
{ | ||
name: 'DJ' | ||
}, { | ||
}, | ||
{ | ||
name: 'photography', | ||
@@ -157,3 +169,113 @@ places: ['costa rica'] | ||
assert.equal(sifted.length, 2); | ||
}) | ||
}); | ||
}); | ||
describe("nesting", function () { | ||
it("$eq for nested object", function () { | ||
var sifted = sift({'sub.num': {'$eq': 10}}, loremArr); | ||
assert(sifted.length > 0); | ||
sifted.forEach(function (v) { | ||
assert.equal(10, v.sub.num); | ||
}); | ||
}); | ||
it("$neq for nested object", function () { | ||
var sifted = sift({'sub.num': {'$ne': 10}}, loremArr); | ||
assert(sifted.length > 0); | ||
sifted.forEach(function (v) { | ||
assert.notEqual(10, v.sub.num); | ||
}); | ||
}); | ||
}); | ||
}); | ||
var loremArr = [ | ||
{ | ||
"num": 1, | ||
"pum": 1, | ||
"sub": { | ||
"num": 1, | ||
"pum": 1 | ||
} | ||
}, | ||
{ | ||
"num": 2, | ||
"pum": 2, | ||
"sub": { | ||
"num": 2, | ||
"pum": 2 | ||
} | ||
}, | ||
{ | ||
"num": 3, | ||
"pum": 3, | ||
"sub": { | ||
"num": 3, | ||
"pum": 3 | ||
} | ||
}, | ||
{ | ||
"num": 4, | ||
"pum": 4, | ||
"sub": { | ||
"num": 4, | ||
"pum": 4 | ||
} | ||
}, | ||
{ | ||
"num": 5, | ||
"pum": 5, | ||
"sub": { | ||
"num": 5, | ||
"pum": 5 | ||
} | ||
}, | ||
{ | ||
"num": 6, | ||
"pum": 6, | ||
"sub": { | ||
"num": 6, | ||
"pum": 6 | ||
} | ||
}, | ||
{ | ||
"num": 7, | ||
"pum": 7, | ||
"sub": { | ||
"num": 7, | ||
"pum": 7 | ||
} | ||
}, | ||
{ | ||
"num": 8, | ||
"pum": 8, | ||
"sub": { | ||
"num": 8, | ||
"pum": 8 | ||
} | ||
}, | ||
{ | ||
"num": 9, | ||
"pum": 9, | ||
"sub": { | ||
"num": 9, | ||
"pum": 9 | ||
} | ||
}, | ||
{ | ||
"num": 10, | ||
"pum": 10, | ||
"sub": { | ||
"num": 10, | ||
"pum": 10 | ||
} | ||
}, | ||
{ | ||
"num": 11, | ||
"pum": 11, | ||
"sub": { | ||
"num": 10, | ||
"pum": 10 | ||
} | ||
} | ||
]; |
Sorry, the diff of this file is not supported yet
50411
1413