📄 array.js
字号:
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.assertTrue(dojo.indexOf([45, 56, 85], 56) == 1); t.assertTrue(dojo.indexOf([Number, String, Date], String) == 1); t.assertTrue(dojo.indexOf(foo, foo[1]) == 1); t.assertTrue(dojo.indexOf(foo, foo[2]) == 2); t.assertTrue(dojo.indexOf(bar, bar[1]) == 1); t.assertTrue(dojo.indexOf(bar, bar[2]) == 2); foo.push(bar); t.assertTrue(dojo.indexOf(foo, bar) == 3); }, function testIndexOfFromIndex(t){ var foo = [128, 256, 512]; var bar = ["aaa", "bbb", "ccc"]; // FIXME: what happens w/ negative indexes? t.assertEqual(-1, dojo.indexOf([45, 56, 85], 56, 2)); t.assertEqual(1, dojo.indexOf([45, 56, 85], 56, 1)); }, function testLastIndexOf(t){ var foo = [128, 256, 512]; var bar = ["aaa", "bbb", "aaa", "ccc"]; t.assertTrue(dojo.indexOf([45, 56, 85], 56) == 1); t.assertTrue(dojo.indexOf([Number, String, Date], String) == 1); t.assertTrue(dojo.lastIndexOf(foo, foo[1]) == 1); t.assertTrue(dojo.lastIndexOf(foo, foo[2]) == 2); t.assertTrue(dojo.lastIndexOf(bar, bar[1]) == 1); t.assertTrue(dojo.lastIndexOf(bar, bar[2]) == 2); t.assertTrue(dojo.lastIndexOf(bar, bar[0]) == 2); }, function testLastIndexOfFromIndex(t){ // FIXME: what happens w/ negative indexes? t.assertEqual(1, dojo.lastIndexOf([45, 56, 85], 56, 1)); t.assertEqual(-1, dojo.lastIndexOf([45, 56, 85], 85, 1)); }, 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 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; }) ); } ]);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -