ordered-list.js 2.1 KB

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