Subversion Repositories Applications.papyrus

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2150 mathias 1
if(!dojo._hasResource["dojox.wire.tests.programmatic._base"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
2
dojo._hasResource["dojox.wire.tests.programmatic._base"] = true;
3
dojo.provide("dojox.wire.tests.programmatic._base");
4
 
5
dojo.require("dojox.wire._base");
6
 
7
tests.register("dojox.wire.tests.programmatic._base", [
8
 
9
	function test_create(t){
10
		var wire = dojox.wire.create({});
11
		t.assertTrue(wire instanceof dojox.wire.Wire);
12
 
13
		wire = dojox.wire.create({property: "a"});
14
		t.assertTrue(wire instanceof dojox.wire.Wire);
15
 
16
		wire = dojox.wire.create({attribute: "a"});
17
		t.assertTrue(wire instanceof dojox.wire.DataWire);
18
 
19
		wire = dojox.wire.create({path: "a"});
20
		t.assertTrue(wire instanceof dojox.wire.XmlWire);
21
 
22
		wire = dojox.wire.create({children: "a"});
23
		t.assertTrue(wire instanceof dojox.wire.CompositeWire);
24
 
25
		wire = dojox.wire.create({columns: "a"});
26
		t.assertTrue(wire instanceof dojox.wire.TableAdapter);
27
 
28
		wire = dojox.wire.create({nodes: "a"});
29
		t.assertTrue(wire instanceof dojox.wire.TreeAdapter);
30
 
31
		wire = dojox.wire.create({segments: "a"});
32
		t.assertTrue(wire instanceof dojox.wire.TextAdapter);
33
 
34
		wire = dojox.wire.create({wireClass: "dojox.wire.DataWire"});
35
		t.assertTrue(wire instanceof dojox.wire.DataWire);
36
	},
37
 
38
	function test_transfer(t){
39
		var source = {a: "A"};
40
		var target = {};
41
		dojox.wire.transfer(
42
			{object: source, property: "a"},
43
			{object: target, property: "a"});
44
		t.assertEqual(source.a, target.a);
45
	},
46
 
47
	function test_connect(t){
48
		var trigger = {transfer: function() {}, transferArgument: function() {}};
49
		var source = {a: "A"};
50
		var target = {};
51
		dojox.wire.connect({scope: trigger, event: "transfer"},
52
			{object: source, property: "a"},
53
			{object: target, property: "a"});
54
		trigger.transfer();
55
		t.assertEqual(source.a, target.a);
56
 
57
		// with argument
58
		target = {};
59
		dojox.wire.connect({scope: trigger, event: "transferArgument"},
60
			{property: "[0].a"},
61
			{object: target, property: "a"});
62
		trigger.transferArgument(source);
63
		t.assertEqual(source.a, target.a);
64
 
65
		// by topic
66
		target = {};
67
		dojox.wire.connect({topic: "transfer"},
68
			{object: source, property: "a"},
69
			{object: target, property: "a"});
70
		dojo.publish("transfer");
71
		t.assertEqual(source.a, target.a);
72
 
73
		// by topic with argument
74
		target = {};
75
		dojox.wire.connect({topic: "transferArgument"},
76
			{property: "[0].a"},
77
			{object: target, property: "a"});
78
		dojo.publish("transferArgument", [source]);
79
		t.assertEqual(source.a, target.a);
80
	},
81
 
82
	function test_disconnect(t){
83
		var trigger = {transferDisconnect: function() {}};
84
		var source = {a: "A"};
85
		var target = {};
86
		var connection = dojox.wire.connect({scope: trigger, event: "transferDisconnect"},
87
			{object: source, property: "a"},
88
			{object: target, property: "a"});
89
		trigger.transferDisconnect();
90
		t.assertEqual(source.a, target.a);
91
		delete target.a;
92
		dojox.wire.disconnect(connection);
93
		trigger.transferDisconnect();
94
		t.assertEqual(undefined, target.a);
95
 
96
		// by topic
97
		target = {};
98
		connection = dojox.wire.connect({topic: "transferDisconnect"},
99
			{object: source, property: "a"},
100
			{object: target, property: "a"});
101
		dojo.publish("transferDisconnect");
102
		t.assertEqual(source.a, target.a);
103
		delete target.a;
104
		dojox.wire.disconnect(connection);
105
		dojo.publish("transferDisconnect");
106
		t.assertEqual(undefined, target.a);
107
	}
108
 
109
]);
110
 
111
}