1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- suite('serialization', function () {
- setup(function () {
- var documents = [{
- id: 'a',
- title: 'Mr. Green kills Colonel Mustard',
- body: 'Mr. Green killed Colonel Mustard in the study with the candlestick. Mr. Green is not a very nice fellow.',
- wordCount: 19
- },{
- id: 'b',
- title: 'Plumb waters plant',
- body: 'Professor Plumb has a green plant in his study',
- wordCount: 9
- },{
- id: 'c',
- title: 'Scarlett helps Professor',
- body: 'Miss Scarlett watered Professor Plumbs green plant while he was away from his office last week.',
- wordCount: 16
- },{
- id: 'd',
- title: 'All about JavaScript',
- body: 'JavaScript objects have a special __proto__ property',
- wordCount: 7
- }]
- this.idx = lunr(function () {
- this.ref('id')
- this.field('title')
- this.field('body')
- documents.forEach(function (document) {
- this.add(document)
- }, this)
- })
- this.serializedIdx = JSON.stringify(this.idx)
- this.loadedIdx = lunr.Index.load(JSON.parse(this.serializedIdx))
- })
- test('search', function () {
- var idxResults = this.idx.search('green'),
- serializedResults = this.loadedIdx.search('green')
- assert.deepEqual(idxResults, serializedResults)
- })
- test('__proto__ double serialization', function () {
- var doubleLoadedIdx = lunr.Index.load(JSON.parse(JSON.stringify(this.loadedIdx))),
- idxResults = this.idx.search('__proto__'),
- doubleSerializedResults = doubleLoadedIdx.search('__proto__')
- assert.deepEqual(idxResults, doubleSerializedResults)
- })
- })
|