preloadstore-test.js 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. import PreloadStore from 'misago/utils/preloadstore';
  2. module('PreloadStore');
  3. test('has(key) method returns true for existing keys', function() {
  4. ok(PreloadStore.has('staticUrl'));
  5. ok(PreloadStore.has('mediaUrl'));
  6. ok(PreloadStore.has('misagoSettings'));
  7. });
  8. test('has(key) method returns false for undefined keys', function() {
  9. equal(PreloadStore.has('notExisting'), false);
  10. });
  11. test('get(key) method returns value for defined key', function() {
  12. equal(PreloadStore.get('misagoSettings'), window.MisagoData.misagoSettings);
  13. equal(PreloadStore.get('mediaUrl'), window.MisagoData.mediaUrl);
  14. });
  15. test('get(key) method returns undefined for undefined key', function() {
  16. equal(PreloadStore.get('undefinedKey'), undefined);
  17. });
  18. test('get(key, default) method returns default value for undefined key', function() {
  19. var key = 'undefinedKey';
  20. var defaultValue = 'Default value';
  21. equal(PreloadStore.get(key, defaultValue), defaultValue);
  22. ok(!PreloadStore.has(key));
  23. });
  24. test('get(key, default) method returns value for defined key', function() {
  25. var key = 'mediaUrl';
  26. equal(PreloadStore.get(key, 'Default Value'), window.MisagoData.mediaUrl);
  27. ok(PreloadStore.has(key));
  28. });
  29. test('set(key, value) method sets new value', function() {
  30. var key = 'testKey';
  31. var value = 'Lo Bob!';
  32. equal(PreloadStore.set(key, value), value);
  33. equal(PreloadStore.get(key), value);
  34. ok(PreloadStore.has(key));
  35. });
  36. test('pop(key, default) method returns default undefined for key', function() {
  37. var key = 'undefinedKey';
  38. var defaultValue = 'Default value';
  39. equal(PreloadStore.get(key, defaultValue), defaultValue);
  40. ok(!PreloadStore.has(key));
  41. });
  42. test('pop(key, default) method returns and deletes value for key', function() {
  43. var key = 'undefinedKey';
  44. var realValue = 'valid value!';
  45. var defaultValue = 'Default value';
  46. PreloadStore.set(key, realValue);
  47. equal(PreloadStore.pop(key, defaultValue), realValue);
  48. equal(PreloadStore.pop(key, defaultValue), defaultValue);
  49. ok(!PreloadStore.has(key));
  50. });