aboutsummaryrefslogtreecommitdiff
path: root/engine/js/tests/ElggPriorityListTest.js
diff options
context:
space:
mode:
authorewinslow <ewinslow@36083f99-b078-4883-b0ff-0f9b5a30f544>2010-11-02 04:23:04 +0000
committerewinslow <ewinslow@36083f99-b078-4883-b0ff-0f9b5a30f544>2010-11-02 04:23:04 +0000
commitf7ae28ea45656d2821262998e9a71c351dcced8c (patch)
treec0bed93d6a879ca0ee3c2c35a58c8290c10afbe0 /engine/js/tests/ElggPriorityListTest.js
parentaf335c48fc3f4a741e7b5650db46aac48183c244 (diff)
downloadelgg-f7ae28ea45656d2821262998e9a71c351dcced8c.tar.gz
elgg-f7ae28ea45656d2821262998e9a71c351dcced8c.tar.bz2
Refs #2538: Added Elggy event system. Javascript boot sequence mimics PHP.
git-svn-id: http://code.elgg.org/elgg/trunk@7186 36083f99-b078-4883-b0ff-0f9b5a30f544
Diffstat (limited to 'engine/js/tests/ElggPriorityListTest.js')
-rw-r--r--engine/js/tests/ElggPriorityListTest.js47
1 files changed, 47 insertions, 0 deletions
diff --git a/engine/js/tests/ElggPriorityListTest.js b/engine/js/tests/ElggPriorityListTest.js
new file mode 100644
index 000000000..2549e0ee0
--- /dev/null
+++ b/engine/js/tests/ElggPriorityListTest.js
@@ -0,0 +1,47 @@
+ElggPriorityListTest = TestCase("ElggPriorityListTest");
+
+ElggPriorityListTest.prototype.setUp = function() {
+ this.list = new elgg.ElggPriorityList();
+};
+
+ElggPriorityListTest.prototype.tearDown = function() {
+ this.list = null;
+};
+
+ElggPriorityListTest.prototype.testInsert = function() {
+ this.list.insert('foo');
+
+ assertEquals('foo', this.list.priorities_[500][0]);
+
+ this.list.insert('bar', 501);
+
+ assertEquals('foo', this.list.priorities_[501][0]);
+};
+
+ElggPriorityListTest.prototype.testInsertRespectsPriority = function() {
+ var values = [5, 4, 3, 2, 1, 0];
+
+ for (var i in values) {
+ this.list.insert(values[i], values[i]);
+ }
+
+ this.list.forEach(function(elem, idx)) {
+ assertEquals(elem, idx);
+ }
+};
+
+ElggPriorityListTest.prototype.testInsertHandlesDuplicatePriorities = function() {
+ values = [0, 1, 2, 3, 4, 5, 6, 7, 8 , 9];
+
+ for (var i in values) {
+ this.list.insert(values[i], values[i]/3);
+ }
+
+ this.list.forEach(function(elem, idx) {
+ assertEquals(elem, idx);
+ });
+};
+
+ElggPriorityListTest.prototype.testEveryDefaultsToTrue = function() {
+ assertTrue(this.list.every(function() {}));
+}; \ No newline at end of file