r9900 - apps/modules/trunk/test/tests

[email protected] Tue, 15 Sep 2009 16:48:28 +0200 (CEST)
Newsgroups gmane.comp.java.helma.cvs
Message-ID <20090915144828.8B9603D0E3@mia>
Author: hannes
Date: 2009-09-15 16:48:28 +0200 (Tue, 15 Sep 2009)
New Revision: 9900

Modified:
   apps/modules/trunk/test/tests/HopObjectCollection.js
Log:
Add test for collection order

Details at http://dev.helma.org/trac/helma/changeset/9900

Modified: apps/modules/trunk/test/tests/HopObjectCollection.js
===================================================================
--- apps/modules/trunk/test/tests/HopObjectCollection.js	2009-09-15 13:33:08 UTC (rev 9899)
+++ apps/modules/trunk/test/tests/HopObjectCollection.js	2009-09-15 14:48:28 UTC (rev 9900)
@@ -3,7 +3,9 @@
     "testAddRemoveSmall",
     "testAddRemoveLarge",
     "testListSmall",
-    "testListLarge"
+    "testListLarge",
+    "testOrderLarge",
+    "testOrderSmall"
 ];
 
 var helma, ikea;
@@ -57,7 +59,7 @@
     function iterate(list, start, length) {
         assertEqual(list.length, length);
         for (var i = 0; i < length; i++) {
-            assertEqual(list[i].name, "Person " + org.name + " " + (start + i).format("0000"));
+            assertEqual(list[i].name, "Person " + org.name + (start + i).format(" 0000"));
         }
     }
     iterate(org.persons.list(), 0, size);
@@ -67,6 +69,27 @@
     iterate(org.persons.list(1, size - 2), 1, size - 2);
 }
 
+function testOrderLarge() {
+    testOrder(ikea, ikea.persons.size() - 2);
+    testOrder(ikea, Math.floor(ikea.persons.size() / 2));
+    testOrder(ikea, 2);
+}
+
+function testOrderSmall() {
+    testOrder(helma, helma.persons.size() - 1);
+    testOrder(helma, 1);
+    testOrder(helma, 0);
+}
+
+function testOrder(org, pos) {
+    var person = new Person();
+    person.name = "Person " + org.name + pos.format(" 0000") + "B";
+    person.organisation = org;
+    root.persons.add(person);
+    res.commit();
+    assertEqual(pos + 1, org.persons.indexOf(person));
+}
+
 function cleanup() {
     var persons = root.persons.list();
     for each (var person in persons) {
@@ -83,7 +106,7 @@
 
     for (var i = 0; i < size; i++) {
         var person = new Person();
-        person.name = "Person " + name + " " + i.format("0000");
+        person.name = "Person " + name + i.format(" 0000");
         person.organisation = org;
         root.persons.add(person);
     }