Fix bug 428, add test which catches exception. What an annoying little bug.
[dygraphs.git] / auto_tests / tests / utils_test.js
index 05f7169..62b2c63 100644 (file)
@@ -80,60 +80,60 @@ UtilsTestCase.prototype.testUpdateDeepDecoupled = function() {
 UtilsTestCase.prototype.testIterator_nopredicate = function() {
   var array = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'];
   var iter = Dygraph.createIterator(array, 1, 4);
-  assertTrue(iter.hasNext());
-  assertEquals('b', iter.peek());
+  assertTrue(iter.hasNext);
+  assertEquals('b', iter.peek);
   assertEquals('b', iter.next());
-  assertTrue(iter.hasNext());
+  assertTrue(iter.hasNext);
 
-  assertEquals('c', iter.peek());
+  assertEquals('c', iter.peek);
   assertEquals('c', iter.next());
 
-  assertTrue(iter.hasNext());
+  assertTrue(iter.hasNext);
   assertEquals('d', iter.next());
 
-  assertTrue(iter.hasNext());
+  assertTrue(iter.hasNext);
   assertEquals('e', iter.next());
 
-  assertFalse(iter.hasNext());
+  assertFalse(iter.hasNext);
 }
 
 UtilsTestCase.prototype.testIterator_predicate = function() {
   var array = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'];
   var iter = Dygraph.createIterator(array, 1, 4,
       function(array, idx) { return array[idx] !== 'd' });
-  assertTrue(iter.hasNext());
-  assertEquals('b', iter.peek());
+  assertTrue(iter.hasNext);
+  assertEquals('b', iter.peek);
   assertEquals('b', iter.next());
-  assertTrue(iter.hasNext());
+  assertTrue(iter.hasNext);
 
-  assertEquals('c', iter.peek());
+  assertEquals('c', iter.peek);
   assertEquals('c', iter.next());
 
-  assertTrue(iter.hasNext());
+  assertTrue(iter.hasNext);
   assertEquals('e', iter.next());
 
-  assertFalse(iter.hasNext());
+  assertFalse(iter.hasNext);
 }
 
 UtilsTestCase.prototype.testIterator_empty = function() {
   var array = [];
   var iter = Dygraph.createIterator([], 0, 0);
-  assertFalse(iter.hasNext());
+  assertFalse(iter.hasNext);
 }
 
 UtilsTestCase.prototype.testIterator_outOfRange = function() {
   var array = ['a', 'b', 'c'];
   var iter = Dygraph.createIterator(array, 1, 4,
       function(array, idx) { return array[idx] !== 'd' });
-  assertTrue(iter.hasNext());
-  assertEquals('b', iter.peek());
+  assertTrue(iter.hasNext);
+  assertEquals('b', iter.peek);
   assertEquals('b', iter.next());
-  assertTrue(iter.hasNext());
+  assertTrue(iter.hasNext);
 
-  assertEquals('c', iter.peek());
+  assertEquals('c', iter.peek);
   assertEquals('c', iter.next());
 
-  assertFalse(iter.hasNext());
+  assertFalse(iter.hasNext);
 }
 
 // Makes sure full array is tested, and that the predicate isn't called
@@ -148,12 +148,25 @@ UtilsTestCase.prototype.testIterator_whole_array = function() {
           return true;
         };
       });
-  assertTrue(iter.hasNext());
+  assertTrue(iter.hasNext);
   assertEquals('a', iter.next());
-  assertTrue(iter.hasNext());
+  assertTrue(iter.hasNext);
   assertEquals('b', iter.next());
-  assertTrue(iter.hasNext());
+  assertTrue(iter.hasNext);
   assertEquals('c', iter.next());
-  assertFalse(iter.hasNext());
+  assertFalse(iter.hasNext);
   assertNull(iter.next());
-}
\ No newline at end of file
+}
+
+UtilsTestCase.prototype.testIterator_no_args = function() {
+  var array = ['a', 'b', 'c'];
+  var iter = Dygraph.createIterator(array);
+  assertTrue(iter.hasNext);
+  assertEquals('a', iter.next());
+  assertTrue(iter.hasNext);
+  assertEquals('b', iter.next());
+  assertTrue(iter.hasNext);
+  assertEquals('c', iter.next());
+  assertFalse(iter.hasNext);
+  assertNull(iter.next());
+}