ordered-list.js 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. (function (Misago) {
  2. 'use strict';
  3. var list = null;
  4. QUnit.module("OrderedList", {
  5. beforeEach: function() {
  6. list = new Misago.OrderedList();
  7. }
  8. });
  9. QUnit.test("OrderedList stores and returns items", function(assert) {
  10. assert.equal(list.has('invalid_key'), false,
  11. "list.has() returned false for nonexisting key");
  12. list.add('valid_key', 'valid_value');
  13. assert.ok(list.has('valid_key'),
  14. "list.has() returned true for existing key");
  15. assert.equal(list.get('valid_key'), 'valid_value',
  16. "list.get() returned value for existing key");
  17. assert.equal(list.get('invalid_key', 'fallback'), 'fallback',
  18. "list.get() returned fallback value for nonexisting key");
  19. });
  20. QUnit.test("OrderedList orders and returns items", function(assert) {
  21. list.add('apple', 'apple');
  22. list.add('banana', 'banana');
  23. list.add('orange', 'orange');
  24. list.add('lichi', 'lichi', {before: '_end'});
  25. list.add('kiwi', 'kiwi', {before: 'banana'});
  26. list.add('melon', 'melon', {after: 'potato'});
  27. list.add('potato', 'potato');
  28. var unorderedList = list.values();
  29. assert.equal(list.isOrdered, false,
  30. "list.values() didn't set isOrdered flag on list");
  31. assert.equal(unorderedList[0], 'apple', 'unorderedList[0] is apple');
  32. assert.equal(unorderedList[1], 'banana', 'unorderedList[1] is banana');
  33. assert.equal(unorderedList[2], 'orange', 'unorderedList[2] is orange');
  34. assert.equal(unorderedList[3], 'lichi', 'unorderedList[3] is lichi');
  35. assert.equal(unorderedList[4], 'kiwi', 'unorderedList[4] is kiwi');
  36. assert.equal(unorderedList[5], 'melon', 'unorderedList[5] is melon');
  37. assert.equal(unorderedList[6], 'potato', 'unorderedList[6] is potato');
  38. var orderedList = list.order();
  39. assert.ok(list.isOrdered, "list.order() set isOrdered flag on list");
  40. assert.equal(orderedList[0], 'apple', 'orderedList[0] is apple');
  41. assert.equal(orderedList[1], 'kiwi', 'orderedList[1] is kiwi');
  42. assert.equal(orderedList[2], 'banana', 'orderedList[2] is banana');
  43. assert.equal(orderedList[3], 'orange', 'orderedList[3] is orange');
  44. assert.equal(orderedList[4], 'potato', 'orderedList[4] is potato');
  45. assert.equal(orderedList[5], 'melon', 'orderedList[5] is melon');
  46. assert.equal(orderedList[6], 'lichi', 'orderedList[6] is lichi');
  47. });
  48. }(Misago.prototype));