diff options
Diffstat (limited to 'includes/js/dojox/wire/tests/programmatic/_base.js')
-rw-r--r-- | includes/js/dojox/wire/tests/programmatic/_base.js | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/includes/js/dojox/wire/tests/programmatic/_base.js b/includes/js/dojox/wire/tests/programmatic/_base.js new file mode 100644 index 0000000..00f9abe --- /dev/null +++ b/includes/js/dojox/wire/tests/programmatic/_base.js @@ -0,0 +1,111 @@ +if(!dojo._hasResource["dojox.wire.tests.programmatic._base"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. +dojo._hasResource["dojox.wire.tests.programmatic._base"] = true; +dojo.provide("dojox.wire.tests.programmatic._base"); + +dojo.require("dojox.wire._base"); + +tests.register("dojox.wire.tests.programmatic._base", [ + + function test_create(t){ + var wire = dojox.wire.create({}); + t.assertTrue(wire instanceof dojox.wire.Wire); + + wire = dojox.wire.create({property: "a"}); + t.assertTrue(wire instanceof dojox.wire.Wire); + + wire = dojox.wire.create({attribute: "a"}); + t.assertTrue(wire instanceof dojox.wire.DataWire); + + wire = dojox.wire.create({path: "a"}); + t.assertTrue(wire instanceof dojox.wire.XmlWire); + + wire = dojox.wire.create({children: "a"}); + t.assertTrue(wire instanceof dojox.wire.CompositeWire); + + wire = dojox.wire.create({columns: "a"}); + t.assertTrue(wire instanceof dojox.wire.TableAdapter); + + wire = dojox.wire.create({nodes: "a"}); + t.assertTrue(wire instanceof dojox.wire.TreeAdapter); + + wire = dojox.wire.create({segments: "a"}); + t.assertTrue(wire instanceof dojox.wire.TextAdapter); + + wire = dojox.wire.create({wireClass: "dojox.wire.DataWire"}); + t.assertTrue(wire instanceof dojox.wire.DataWire); + }, + + function test_transfer(t){ + var source = {a: "A"}; + var target = {}; + dojox.wire.transfer( + {object: source, property: "a"}, + {object: target, property: "a"}); + t.assertEqual(source.a, target.a); + }, + + function test_connect(t){ + var trigger = {transfer: function() {}, transferArgument: function() {}}; + var source = {a: "A"}; + var target = {}; + dojox.wire.connect({scope: trigger, event: "transfer"}, + {object: source, property: "a"}, + {object: target, property: "a"}); + trigger.transfer(); + t.assertEqual(source.a, target.a); + + // with argument + target = {}; + dojox.wire.connect({scope: trigger, event: "transferArgument"}, + {property: "[0].a"}, + {object: target, property: "a"}); + trigger.transferArgument(source); + t.assertEqual(source.a, target.a); + + // by topic + target = {}; + dojox.wire.connect({topic: "transfer"}, + {object: source, property: "a"}, + {object: target, property: "a"}); + dojo.publish("transfer"); + t.assertEqual(source.a, target.a); + + // by topic with argument + target = {}; + dojox.wire.connect({topic: "transferArgument"}, + {property: "[0].a"}, + {object: target, property: "a"}); + dojo.publish("transferArgument", [source]); + t.assertEqual(source.a, target.a); + }, + + function test_disconnect(t){ + var trigger = {transferDisconnect: function() {}}; + var source = {a: "A"}; + var target = {}; + var connection = dojox.wire.connect({scope: trigger, event: "transferDisconnect"}, + {object: source, property: "a"}, + {object: target, property: "a"}); + trigger.transferDisconnect(); + t.assertEqual(source.a, target.a); + delete target.a; + dojox.wire.disconnect(connection); + trigger.transferDisconnect(); + t.assertEqual(undefined, target.a); + + // by topic + target = {}; + connection = dojox.wire.connect({topic: "transferDisconnect"}, + {object: source, property: "a"}, + {object: target, property: "a"}); + dojo.publish("transferDisconnect"); + t.assertEqual(source.a, target.a); + delete target.a; + dojox.wire.disconnect(connection); + dojo.publish("transferDisconnect"); + t.assertEqual(undefined, target.a); + } + +]); + +} |