accessors.js 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. (function (Misago) {
  2. 'use strict';
  3. QUnit.module("Accessors");
  4. QUnit.test("Misago.has accessor", function(assert) {
  5. var testObj = {valid: 'okay'};
  6. assert.equal(Misago.has(testObj, 'invalid'), false,
  7. "Misago.has() returned false for nonexisting key");
  8. assert.equal(Misago.has(testObj, 'valid'), true,
  9. "Misago.has() returned true for existing key");
  10. });
  11. QUnit.test("Misago.get accessor", function(assert) {
  12. var testObj = {valid: 'okay'};
  13. assert.equal(Misago.get(testObj, 'invalid'), undefined,
  14. "Misago.get() returned undefined for nonexisting key");
  15. assert.equal(Misago.get(testObj, 'invalid', 'fallback'), 'fallback',
  16. "Misago.get() returned fallback value for nonexisting key");
  17. assert.equal(Misago.get(testObj, 'valid'), 'okay',
  18. "Misago.get() returned value for existing key");
  19. assert.equal(Misago.get(testObj, 'valid', 'fallback'), 'okay',
  20. "Misago.get() returned value for existing key instead of fallback");
  21. });
  22. QUnit.test("Misago.pop accessor", function(assert) {
  23. var testObj = {valid: 'okay', other_valid: 'okay'};
  24. assert.equal(Misago.pop(testObj, 'invalid'), undefined,
  25. "Misago.pop() returned undefined for nonexisting key");
  26. assert.equal(Misago.pop(testObj, 'invalid', 'fallback'), 'fallback',
  27. "Misago.pop() returned fallback value for nonexisting key");
  28. assert.equal(Misago.pop(testObj, 'valid'), 'okay',
  29. "Misago.pop() returned value for existing key");
  30. assert.equal(Misago.pop(testObj, 'other_valid', 'fallback'), 'okay',
  31. "Misago.pop() returned value for existing key instead of fallback");
  32. assert.equal(Misago.has(testObj, 'valid'), false,
  33. "Misago.pop() removed valid key from object");
  34. assert.equal(Misago.has(testObj, 'other_valid'), false,
  35. "Misago.pop() removed other valid key from object");
  36. });
  37. }(Misago.prototype));