Subversion Repositories Applications.papyrus

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2150 mathias 1
if(!dojo._hasResource["dojox.collections.tests._base"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
2
dojo._hasResource["dojox.collections.tests._base"] = true;
3
dojo.provide("dojox.collections.tests._base");
4
dojo.require("dojox.collections");
5
 
6
tests.register("dojox.collections.tests._base", [
7
	function testDictionaryEntry(t){
8
		var d=new dojox.collections.DictionaryEntry("foo","bar");
9
		t.assertEqual("bar", d.valueOf());
10
		t.assertEqual("bar", d.toString());
11
	},
12
 
13
	function testIterator(t){
14
		var itr=new dojox.collections.Iterator(["foo","bar","baz","zoo"]);
15
		t.assertEqual("foo", itr.element);	//	test initialization
16
		t.assertTrue(!itr.atEnd());
17
		t.assertEqual("foo", itr.get());	//	make sure the first get doesn't advance.
18
		t.assertEqual("bar", itr.get());
19
		t.assertEqual("baz", itr.get());
20
		t.assertEqual("zoo", itr.get());
21
		t.assertTrue(itr.atEnd());
22
		t.assertEqual(null, itr.get());
23
 
24
		itr.reset();
25
		t.assertTrue(!itr.atEnd());
26
		t.assertEqual("foo", itr.element);
27
 
28
		//	test map
29
		var a=itr.map(function(elm){
30
			return elm+"-mapped";
31
		});
32
		itr=new dojox.collections.Iterator(a);
33
		t.assertEqual("foo-mapped", itr.element);	//	test initialization
34
		t.assertTrue(!itr.atEnd());
35
		t.assertEqual("foo-mapped", itr.get());	//	make sure the first get doesn't advance.
36
		t.assertEqual("bar-mapped", itr.get());
37
		t.assertEqual("baz-mapped", itr.get());
38
		t.assertEqual("zoo-mapped", itr.get());
39
		t.assertTrue(itr.atEnd());
40
		t.assertEqual(null, itr.get());
41
	},
42
 
43
	function testDictionaryIterator(t){
44
		/*
45
			in the context of any of the Dictionary-based collections, the
46
			element would normally return a DictionaryEntry.  However, since
47
			the DictionaryIterator is really an iterator of pure objects,
48
			we will just test with an object here.  This means all property
49
			names are lost in the translation, but...that's why there's a
50
			DictionaryEntry object :)
51
		*/
52
		var itr=new dojox.collections.DictionaryIterator({
53
			first:"foo", second:"bar", third:"baz", fourth:"zoo"
54
		});
55
		t.assertEqual("foo", itr.element);	//	test initialization
56
		t.assertTrue(!itr.atEnd());
57
		t.assertEqual("foo", itr.get());	//	make sure the first get doesn't advance.
58
		t.assertEqual("bar", itr.get());
59
		t.assertEqual("baz", itr.get());
60
		t.assertEqual("zoo", itr.get());
61
		t.assertTrue(itr.atEnd());
62
		t.assertEqual(null, itr.get());
63
 
64
		itr.reset();
65
		t.assertTrue(!itr.atEnd());
66
		t.assertEqual("foo", itr.element);
67
 
68
		//	test map
69
		var a=itr.map(function(elm){
70
			return elm+"-mapped";
71
		});
72
		itr=new dojox.collections.Iterator(a);
73
		t.assertEqual("foo-mapped", itr.element);	//	test initialization
74
		t.assertTrue(!itr.atEnd());
75
		t.assertEqual("foo-mapped", itr.get());	//	make sure the first get doesn't advance.
76
		t.assertEqual("bar-mapped", itr.get());
77
		t.assertEqual("baz-mapped", itr.get());
78
		t.assertEqual("zoo-mapped", itr.get());
79
		t.assertTrue(itr.atEnd());
80
		t.assertEqual(null, itr.get());
81
	}
82
]);
83
 
84
}