1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- module('serialisation', {
- setup: function () {
- this.corpus = [{
- 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.'
- },{
- id: 'b',
- title: 'Plumb waters plant',
- body: 'Professor Plumb has a green plant in his study'
- },{
- id: 'c',
- title: 'Scarlett helps Professor',
- body: 'Miss Scarlett watered Professor Plumbs green plant while he was away from his office last week.'
- }]
- }
- })
- test('dumping and loading an index', function () {
- var idx = new lunr.Index
- idx.field('title', { boost: 10 })
- idx.field('body')
- this.corpus.forEach(function (doc) { idx.add(doc) })
- var dumpedIdx = JSON.stringify(idx),
- clonedIdx = lunr.Index.load(JSON.parse(dumpedIdx))
- deepEqual(idx.search('green plant'), clonedIdx.search('green plant'))
- })
- test('dumping and loading an index with a populated pipeline', function () {
- var idx = lunr(function () {
- this.field('title', { boost: 10 })
- this.field('body')
- })
- this.corpus.forEach(function (doc) { idx.add(doc) })
- var dumpedIdx = JSON.stringify(idx),
- clonedIdx = lunr.Index.load(JSON.parse(dumpedIdx))
- deepEqual(idx.pipeline._stack, clonedIdx.pipeline._stack)
- deepEqual(idx.search('water'), clonedIdx.search('water'))
- })
- test('dumping and loading an index with a custom tokenizer', function () {
- var customTokenizer = function () {},
- idx = lunr()
- lunr.tokenizer.registerFunction(customTokenizer, 'custom')
- idx.tokenizer(customTokenizer)
- var dumpedIdx = JSON.stringify(idx),
- clonedIndex = lunr.Index.load(JSON.parse(dumpedIdx))
- equal(clonedIndex.tokenizerFn, idx.tokenizerFn)
- })
|