diff options
Diffstat (limited to 'includes/js/dojo/tests/_base/array.js')
-rw-r--r-- | includes/js/dojo/tests/_base/array.js | 301 |
1 files changed, 0 insertions, 301 deletions
diff --git a/includes/js/dojo/tests/_base/array.js b/includes/js/dojo/tests/_base/array.js deleted file mode 100644 index 6611257..0000000 --- a/includes/js/dojo/tests/_base/array.js +++ /dev/null @@ -1,301 +0,0 @@ -if(!dojo._hasResource["tests._base.array"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. -dojo._hasResource["tests._base.array"] = true; -dojo.provide("tests._base.array"); - -tests.register("tests._base.array", - [ - function testIndexOf(t){ - var foo = [128, 256, 512]; - var bar = ["aaa", "bbb", "ccc"]; - - t.assertEqual(1, dojo.indexOf([45, 56, 85], 56)); - t.assertEqual(1, dojo.indexOf([Number, String, Date], String)); - t.assertEqual(1, dojo.indexOf(foo, foo[1])); - t.assertEqual(2, dojo.indexOf(foo, foo[2])); - t.assertEqual(1, dojo.indexOf(bar, bar[1])); - t.assertEqual(2, dojo.indexOf(bar, bar[2])); - t.assertEqual(-1, dojo.indexOf({a:1}, "a")); - - foo.push(bar); - t.assertEqual(3, dojo.indexOf(foo, bar)); - }, - - function testIndexOfFromIndex(t){ - var foo = [128, 256, 512]; - var bar = ["aaa", "bbb", "ccc"]; - - t.assertEqual(-1, dojo.indexOf([45, 56, 85], 56, 2)); - t.assertEqual(1, dojo.indexOf([45, 56, 85], 56, 1)); - t.assertEqual(1, dojo.indexOf([45, 56, 85], 56, -1)); - // Make sure going out of bounds doesn't throw us in an infinite loop - t.assertEqual(-1, dojo.indexOf([45, 56, 85], 56, 3)); - }, - - function testLastIndexOf(t){ - var foo = [128, 256, 512]; - var bar = ["aaa", "bbb", "aaa", "ccc"]; - - t.assertEqual(1, dojo.indexOf([45, 56, 85], 56)); - t.assertEqual(1, dojo.indexOf([Number, String, Date], String)); - t.assertEqual(1, dojo.lastIndexOf(foo, foo[1])); - t.assertEqual(2, dojo.lastIndexOf(foo, foo[2])); - t.assertEqual(1, dojo.lastIndexOf(bar, bar[1])); - t.assertEqual(2, dojo.lastIndexOf(bar, bar[2])); - t.assertEqual(2, dojo.lastIndexOf(bar, bar[0])); - }, - - function testLastIndexOfFromIndex(t){ - t.assertEqual(1, dojo.lastIndexOf([45, 56, 85], 56, 1)); - t.assertEqual(-1, dojo.lastIndexOf([45, 56, 85], 85, 1)); - t.assertEqual(-1, dojo.lastIndexOf([45, 56, 85], 85, -1)); - t.assertEqual(0, dojo.lastIndexOf([45, 56, 45], 45, 0)); - }, - - function testForEach(t){ - var foo = [128, "bbb", 512]; - dojo.forEach(foo, function(elt, idx, array){ - switch(idx){ - case 0: t.assertEqual(128, elt); break; - case 1: t.assertEqual("bbb", elt); break; - case 2: t.assertEqual(512, elt); break; - default: t.assertTrue(false); - } - }); - - var noException = true; - try{ - dojo.forEach(undefined, function(){}); - }catch(e){ - noException = false; - } - t.assertTrue(noException); - }, - - function testForEach_str(t){ - var bar = 'abc'; - dojo.forEach(bar, function(elt, idx, array){ - switch(idx){ - case 0: t.assertEqual("a", elt); break; - case 1: t.assertEqual("b", elt); break; - case 2: t.assertEqual("c", elt); break; - default: t.assertTrue(false); - } - }); - }, - // FIXME: test forEach w/ a NodeList()? - - function testForEach_string_callback(t){ - // Test using strings as callback", which accept the parameters with - // the names "item", "index" and "array"! - var foo = [128, "bbb", 512]; - // Test that the variable "item" contains the value of each item. - this._res = ""; - dojo.forEach(foo, 'this._res+=item', this); - t.assertEqual(this._res, "128bbb512"); - // Test that the variable "index" contains each index. - this._res = []; - dojo.forEach(foo, 'this._res.push(index)', this); - t.assertEqual(this._res, [0,1,2]); - // Test that the variable "array" always contains the entire array. - this._res = []; - dojo.forEach(foo, 'this._res.push(array)', this); - t.assertEqual(this._res, [[128, "bbb", 512],[128, "bbb", 512],[128, "bbb", 512]]); - // Catch undefined variable usage (I used to use "i" :-)). - var caughtException = false; - try{ - dojo.forEach(foo, 'this._res+=i', this); - }catch(e){ - caughtException = true; - } - t.assertTrue(caughtException); - }, - - // FIXME: test forEach w/ a NodeList()? - function testEvery(t){ - var foo = [128, "bbb", 512]; - - t.assertTrue( - dojo.every(foo, function(elt, idx, array){ - t.assertEqual(Array, array.constructor); - t.assertTrue(dojo.isArray(array)); - t.assertTrue(typeof idx == "number"); - if(idx == 1){ t.assertEqual("bbb" , elt); } - return true; - }) - ); - - t.assertTrue( - dojo.every(foo, function(elt, idx, array){ - switch(idx){ - case 0: t.assertEqual(128, elt); return true; - case 1: t.assertEqual("bbb", elt); return true; - case 2: t.assertEqual(512, elt); return true; - default: return false; - } - }) - ); - - t.assertFalse( - dojo.every(foo, function(elt, idx, array){ - switch(idx){ - case 0: t.assertEqual(128, elt); return true; - case 1: t.assertEqual("bbb", elt); return true; - case 2: t.assertEqual(512, elt); return false; - default: return true; - } - }) - ); - - }, - - function testEvery_str(t){ - var bar = 'abc'; - t.assertTrue( - dojo.every(bar, function(elt, idx, array){ - switch(idx){ - case 0: t.assertEqual("a", elt); return true; - case 1: t.assertEqual("b", elt); return true; - case 2: t.assertEqual("c", elt); return true; - default: return false; - } - }) - ); - - t.assertFalse( - dojo.every(bar, function(elt, idx, array){ - switch(idx){ - case 0: t.assertEqual("a", elt); return true; - case 1: t.assertEqual("b", elt); return true; - case 2: t.assertEqual("c", elt); return false; - default: return true; - } - }) - ); - }, - // FIXME: test NodeList for every()? - - function testSome(t){ - var foo = [128, "bbb", 512]; - t.assertTrue( - dojo.some(foo, function(elt, idx, array){ - t.assertEqual(3, array.length); - return true; - }) - ); - - t.assertTrue( - dojo.some(foo, function(elt, idx, array){ - if(idx < 1){ return true; } - return false; - }) - ); - - t.assertFalse( - dojo.some(foo, function(elt, idx, array){ - return false; - }) - ); - - t.assertTrue( - dojo.some(foo, function(elt, idx, array){ - t.assertEqual(Array, array.constructor); - t.assertTrue(dojo.isArray(array)); - t.assertTrue(typeof idx == "number"); - if(idx == 1){ t.assertEqual("bbb" , elt); } - return true; - }) - ); - }, - - function testSome_str(t){ - var bar = 'abc'; - t.assertTrue( - dojo.some(bar, function(elt, idx, array){ - t.assertEqual(3, array.length); - switch(idx){ - case 0: t.assertEqual("a", elt); return true; - case 1: t.assertEqual("b", elt); return true; - case 2: t.assertEqual("c", elt); return true; - default: return false; - } - }) - ); - - t.assertTrue( - dojo.some(bar, function(elt, idx, array){ - switch(idx){ - case 0: t.assertEqual("a", elt); return true; - case 1: t.assertEqual("b", elt); return true; - case 2: t.assertEqual("c", elt); return false; - default: return true; - } - }) - ); - - t.assertFalse( - dojo.some(bar, function(elt, idx, array){ - return false; - }) - ); - }, - // FIXME: need to add scoping tests for all of these!!! - - function testFilter(t){ - var foo = ["foo", "bar", 10]; - - t.assertEqual(["foo"], - dojo.filter(foo, function(elt, idx, array){ - return idx < 1; - }) - ); - - t.assertEqual(["foo"], - dojo.filter(foo, function(elt, idx, array){ - return elt == "foo"; - }) - ); - - t.assertEqual([], - dojo.filter(foo, function(elt, idx, array){ - return false; - }) - ); - - t.assertEqual([10], - dojo.filter(foo, function(elt, idx, array){ - return typeof elt == "number"; - }) - ); - }, - - function testFilter_str(t){ - var foo = "thinger blah blah blah"; - t.assertEqual(["t", "h", "i"], - dojo.filter(foo, function(elt, idx, array){ - return idx < 3; - }) - ); - - t.assertEqual([], - dojo.filter(foo, function(elt, idx, array){ - return false; - }) - ); - }, - - function testMap(t){ - t.assertEqual([], - dojo.map([], function(){ return true; }) - ); - - t.assertEqual([1, 2, 3], - dojo.map(["cat", "dog", "mouse"], function(elt, idx, array){ - return idx+1; - }) - ); - } - ] -); - - -} |