store_test.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. module('lunr.Store')
  2. test('adding document tokens to the document store', function () {
  3. var docStore = new lunr.Store,
  4. tokens = ['eggs', 'ham']
  5. docStore.set(1, tokens)
  6. deepEqual(docStore.get(1), tokens)
  7. })
  8. test('getting the number of items in the document store', function () {
  9. var docStore = new lunr.Store
  10. equal(docStore.length, 0)
  11. docStore.set(1, 'foo')
  12. equal(docStore.length, 1)
  13. })
  14. test('checking whether the store contains a key', function () {
  15. var store = new lunr.Store
  16. ok(!store.has('foo'))
  17. store.set('foo', 1)
  18. ok(store.has('foo'))
  19. })
  20. test('removing an element from the store', function () {
  21. var store = new lunr.Store
  22. store.set('foo', 1)
  23. ok(store.has('foo'))
  24. equal(store.length, 1)
  25. store.remove('foo')
  26. ok(!store.has('foo'))
  27. equal(store.length, 0)
  28. })
  29. test('serialising', function () {
  30. var store = new lunr.Store
  31. deepEqual(store.toJSON(), { store: {}, length: 0 })
  32. store.set(1, ['eggs', 'ham'])
  33. deepEqual(store.toJSON(), { store: { 1: ['eggs', 'ham'] }, length: 1 })
  34. })
  35. test('loading serialised data', function () {
  36. var serialisedData = {
  37. length: 1,
  38. store: {
  39. 1: ['eggs', 'ham']
  40. }
  41. }
  42. var store = lunr.Store.load(serialisedData)
  43. equal(store.length, 1)
  44. deepEqual(store.get(1), lunr.SortedSet.load(['eggs', 'ham']))
  45. })