diff options
author | mensonge <mensonge@b3834d28-1941-0410-a4f8-b48e95affb8f> | 2008-11-13 09:49:11 +0000 |
---|---|---|
committer | mensonge <mensonge@b3834d28-1941-0410-a4f8-b48e95affb8f> | 2008-11-13 09:49:11 +0000 |
commit | e44a7e37b6c7b5961adaffc62b9042b8d442938e (patch) | |
tree | 95b67c356e93163467db2451f2b8cce84ed5d582 /includes/js/dojox/wire/tests/markup | |
parent | a62b9742ee5e28bcec6872d88f50f25b820914f6 (diff) | |
download | semanticscuttle-e44a7e37b6c7b5961adaffc62b9042b8d442938e.tar.gz semanticscuttle-e44a7e37b6c7b5961adaffc62b9042b8d442938e.tar.bz2 |
New feature: basic Ajax suggestion for tags and implementation of Dojo toolkit
git-svn-id: https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/trunk@151 b3834d28-1941-0410-a4f8-b48e95affb8f
Diffstat (limited to 'includes/js/dojox/wire/tests/markup')
-rw-r--r-- | includes/js/dojox/wire/tests/markup/Action.html | 147 | ||||
-rw-r--r-- | includes/js/dojox/wire/tests/markup/Data.html | 105 | ||||
-rw-r--r-- | includes/js/dojox/wire/tests/markup/DataStore.html | 66 | ||||
-rw-r--r-- | includes/js/dojox/wire/tests/markup/DataStore.xml | 18 | ||||
-rw-r--r-- | includes/js/dojox/wire/tests/markup/Invocation.html | 53 | ||||
-rw-r--r-- | includes/js/dojox/wire/tests/markup/Service.html | 84 | ||||
-rw-r--r-- | includes/js/dojox/wire/tests/markup/Service/JSON.smd | 11 | ||||
-rw-r--r-- | includes/js/dojox/wire/tests/markup/Service/XML.smd | 11 | ||||
-rw-r--r-- | includes/js/dojox/wire/tests/markup/Service/a.json | 5 | ||||
-rw-r--r-- | includes/js/dojox/wire/tests/markup/Service/a.xml | 5 | ||||
-rw-r--r-- | includes/js/dojox/wire/tests/markup/Transfer.html | 157 |
11 files changed, 662 insertions, 0 deletions
diff --git a/includes/js/dojox/wire/tests/markup/Action.html b/includes/js/dojox/wire/tests/markup/Action.html new file mode 100644 index 0000000..75cbd49 --- /dev/null +++ b/includes/js/dojox/wire/tests/markup/Action.html @@ -0,0 +1,147 @@ +<html> +<head> +<title>Test Action</title> +<script type="text/javascript" src="../../../../dojo/dojo.js" djConfig="isDebug: true, parseOnLoad: true"></script> +<script type="text/javascript"> +dojo.provide("dojox.wire.ml.tests.markup.Action"); + +dojo.require("dojo.parser"); +dojo.require("doh.runner"); +dojo.require("dojox.wire.ml.Action"); +dojo.require("dojox.wire.ml.Transfer"); + +dojox.wire.ml.tests.markup.Action = { + transfer: function(){}, + source: {a: "A", b: "B"} +}; + +dojo.addOnLoad(function(){ + doh.register("dojox.wire.ml.tests.markup.Action", [ + function test_Action_triggerEvent(t){ + dojox.wire.ml.tests.markup.Action.target = {}; + dojox.wire.ml.tests.markup.Action.transfer(); + t.assertEqual(dojox.wire.ml.tests.markup.Action.source.a, dojox.wire.ml.tests.markup.Action.target.a); + t.assertEqual(dojox.wire.ml.tests.markup.Action.source.b, dojox.wire.ml.tests.markup.Action.target.b); + }, + + function test_Action_triggerTopic(t){ + dojox.wire.ml.tests.markup.Action.target = {}; + dojo.publish("transfer"); + t.assertEqual(dojox.wire.ml.tests.markup.Action.source.a, dojox.wire.ml.tests.markup.Action.target.a); + }, + + function test_ActionFilter_required(t){ + dojox.wire.ml.tests.markup.Action.target = {}; + dojo.publish("transferFilter"); + t.assertEqual(undefined, dojox.wire.ml.tests.markup.Action.target.a); + t.assertEqual("no required", dojox.wire.ml.tests.markup.Action.error); + dojox.wire.ml.tests.markup.Action.required = true; + dojo.publish("transferFilter"); + t.assertEqual(dojox.wire.ml.tests.markup.Action.source.a, dojox.wire.ml.tests.markup.Action.target.a); + }, + + function test_ActionFilter_requiredSpecificNumber(t){ + dojox.wire.ml.tests.markup.Action.value = null + dojox.wire.ml.tests.markup.Action.target = {}; + dojo.publish("transferFilterNumber"); + + t.assertEqual(undefined, dojox.wire.ml.tests.markup.Action.target.a); + + dojox.wire.ml.tests.markup.Action.value = 20; + dojo.publish("transferFilterNumber"); + t.assertEqual(dojox.wire.ml.tests.markup.Action.source.a, dojox.wire.ml.tests.markup.Action.target.a); + }, + + function test_ActionFilter_requiredSpecificBoolean(t){ + dojox.wire.ml.tests.markup.Action.value = null; + dojox.wire.ml.tests.markup.Action.target = {}; + dojo.publish("transferFilterBoolean"); + + t.assertEqual(undefined, dojox.wire.ml.tests.markup.Action.target.a); + + dojox.wire.ml.tests.markup.Action.value = true; + dojo.publish("transferFilterBoolean"); + t.assertEqual(dojox.wire.ml.tests.markup.Action.source.a, dojox.wire.ml.tests.markup.Action.target.a); + }, + + function test_ActionFilter_requiredSpecificString(t){ + dojox.wire.ml.tests.markup.Action.target = {}; + dojox.wire.ml.tests.markup.Action.value = null; + dojo.publish("transferFilterString"); + + t.assertEqual(undefined, dojox.wire.ml.tests.markup.Action.target.a); + + dojox.wire.ml.tests.markup.Action.value = "executeThis"; + dojo.publish("transferFilterString"); + t.assertEqual(dojox.wire.ml.tests.markup.Action.source.a, dojox.wire.ml.tests.markup.Action.target.a); + } + ]); + doh.run(); +}); +</script> +</head> +<body> +<div dojoType="dojox.wire.ml.Action" + trigger="dojox.wire.ml.tests.markup.Action" + triggerEvent="transfer"> + <div dojoType="dojox.wire.ml.Transfer" + source="dojox.wire.ml.tests.markup.Action.source.a" + target="dojox.wire.ml.tests.markup.Action.target.a"></div> + <div dojoType="dojox.wire.ml.Transfer" + source="dojox.wire.ml.tests.markup.Action.source.b" + target="dojox.wire.ml.tests.markup.Action.target.b"></div> +</div> +<div dojoType="dojox.wire.ml.Action" + triggerTopic="transfer"> + <div dojoType="dojox.wire.ml.Transfer" + source="dojox.wire.ml.tests.markup.Action.source.a" + target="dojox.wire.ml.tests.markup.Action.target.a"></div> +</div> +<div dojoType="dojox.wire.ml.Action" + triggerTopic="transferFilter"> + <div dojoType="dojox.wire.ml.ActionFilter" + required="dojox.wire.ml.tests.markup.Action.required" + message="no required" + error="dojox.wire.ml.tests.markup.Action.error"></div> + <div dojoType="dojox.wire.ml.Transfer" + source="dojox.wire.ml.tests.markup.Action.source.a" + target="dojox.wire.ml.tests.markup.Action.target.a"></div> +</div> + +<div dojoType="dojox.wire.ml.Action" + triggerTopic="transferFilterNumber"> + <div dojoType="dojox.wire.ml.ActionFilter" + required="dojox.wire.ml.tests.markup.Action.value" + requiredValue="20" + type="number"> + </div> + <div dojoType="dojox.wire.ml.Transfer" + source="dojox.wire.ml.tests.markup.Action.source.a" + target="dojox.wire.ml.tests.markup.Action.target.a"></div> +</div> + +<div dojoType="dojox.wire.ml.Action" + triggerTopic="transferFilterBoolean"> + <div dojoType="dojox.wire.ml.ActionFilter" + required="dojox.wire.ml.tests.markup.Action.value" + requiredValue="true" + type="boolean"> + </div> + <div dojoType="dojox.wire.ml.Transfer" + source="dojox.wire.ml.tests.markup.Action.source.a" + target="dojox.wire.ml.tests.markup.Action.target.a"></div> +</div> + +<div dojoType="dojox.wire.ml.Action" + triggerTopic="transferFilterString"> + <div dojoType="dojox.wire.ml.ActionFilter" + required="dojox.wire.ml.tests.markup.Action.value" + requiredValue="executeThis"> + </div> + <div dojoType="dojox.wire.ml.Transfer" + source="dojox.wire.ml.tests.markup.Action.source.a" + target="dojox.wire.ml.tests.markup.Action.target.a"></div> +</div> + +</body> +</html> diff --git a/includes/js/dojox/wire/tests/markup/Data.html b/includes/js/dojox/wire/tests/markup/Data.html new file mode 100644 index 0000000..b1107c0 --- /dev/null +++ b/includes/js/dojox/wire/tests/markup/Data.html @@ -0,0 +1,105 @@ +<html> +<head> +<title>Test Data</title> +<script type="text/javascript" src="../../../../dojo/dojo.js" djConfig="isDebug: true, parseOnLoad: true"></script> +<script type="text/javascript"> +dojo.provide("dojox.wire.ml.tests.markup.Data"); + +dojo.require("dojo.parser"); +dojo.require("doh.runner"); +dojo.require("dojox.wire.ml.Action"); +dojo.require("dojox.wire.ml.Data"); +dojo.require("dojox.wire.ml.Transfer"); + +dojox.wire.ml.tests.markup.Data = {}; + +dojo.addOnLoad(function(){ + doh.register("dojox.wire.ml.tests.markup.Data", [ + + function test_DataProperty(t){ + dojox.wire.ml.tests.markup.Data.target = {}; + dojo.publish("transfer"); + t.assertEqual("A", dojox.wire.ml.tests.markup.Data.target.a); + t.assertEqual(1, dojox.wire.ml.tests.markup.Data.target.b); + t.assertEqual(true, dojox.wire.ml.tests.markup.Data.target.c); + t.assertEqual("DA", dojox.wire.ml.tests.markup.Data.target.d.a); + t.assertEqual("DB", dojox.wire.ml.tests.markup.Data.target.d.b); + t.assertEqual("E1", dojox.wire.ml.tests.markup.Data.target.e[0]); + t.assertEqual("E2", dojox.wire.ml.tests.markup.Data.target.e[1]); + t.assertEqual("F", dojox.wire.ml.tests.markup.Data.target.f); + t.assertEqual("G", dojox.wire.ml.tests.markup.Data.target.g); + } + + ]); + doh.run(); +}); +</script> +</head> +<body> +<div dojoType="dojox.wire.ml.Data" + id="Data1"> + <div dojoType="dojox.wire.ml.DataProperty" + name="a" + value="A"></div> + <div dojoType="dojox.wire.ml.DataProperty" + name="b" + type="number" value="1"></div> + <div dojoType="dojox.wire.ml.DataProperty" + name="c" + type="boolean" value="true"></div> + <div dojoType="dojox.wire.ml.DataProperty" + name="d" + type="object"> + <div dojoType="dojox.wire.ml.DataProperty" + name="a" + value="DA"></div> + <div dojoType="dojox.wire.ml.DataProperty" + name="b" + value="DB"></div> + </div> + <div dojoType="dojox.wire.ml.DataProperty" + name="e" + type="array"> + <div dojoType="dojox.wire.ml.DataProperty" + value="E1"></div> + <div dojoType="dojox.wire.ml.DataProperty" + value="E2"></div> + </div> + <div dojoType="dojox.wire.ml.DataProperty" + name="f" + type="element" + value="x"> + <div dojoType="dojox.wire.ml.DataProperty" + name="text()" + value="F"></div> + <div dojoType="dojox.wire.ml.DataProperty" + name="@y" + value="G"></div> + </div> +</div> +<div dojoType="dojox.wire.ml.Action" + triggerTopic="transfer"> + <div dojoType="dojox.wire.ml.Transfer" + source="Data1.a" + target="dojox.wire.ml.tests.markup.Data.target.a"></div> + <div dojoType="dojox.wire.ml.Transfer" + source="Data1.b" + target="dojox.wire.ml.tests.markup.Data.target.b"></div> + <div dojoType="dojox.wire.ml.Transfer" + source="Data1.c" + target="dojox.wire.ml.tests.markup.Data.target.c"></div> + <div dojoType="dojox.wire.ml.Transfer" + source="Data1.d" + target="dojox.wire.ml.tests.markup.Data.target.d"></div> + <div dojoType="dojox.wire.ml.Transfer" + source="Data1.e" + target="dojox.wire.ml.tests.markup.Data.target.e"></div> + <div dojoType="dojox.wire.ml.Transfer" + source="Data1.f" + target="dojox.wire.ml.tests.markup.Data.target.f"></div> + <div dojoType="dojox.wire.ml.Transfer" + source="Data1.f.@y" + target="dojox.wire.ml.tests.markup.Data.target.g"></div> +</div> +</body> +</html> diff --git a/includes/js/dojox/wire/tests/markup/DataStore.html b/includes/js/dojox/wire/tests/markup/DataStore.html new file mode 100644 index 0000000..3c55f7e --- /dev/null +++ b/includes/js/dojox/wire/tests/markup/DataStore.html @@ -0,0 +1,66 @@ +<html> +<head> +<title>Test DataStore</title> +<script type="text/javascript" src="../../../../dojo/dojo.js" djConfig="isDebug: true, parseOnLoad: true"></script> +<script type="text/javascript"> +dojo.provide("dojox.wire.ml.tests.markup.DataStore"); + +dojo.require("dojo.parser"); +dojo.require("doh.runner"); +dojo.require("dojox.wire.ml.DataStore"); +dojo.require("dojox.wire.ml.Invocation"); +dojo.require("dojox.wire.ml.Transfer"); + +dojox.wire.ml.tests.markup.DataStore = { + request: {onComplete: function(){}, onError: function(){}} +}; + +dojo.addOnLoad(function(){ + doh.register("dojox.wire.ml.tests.markup.DataStore", [ + + function test_DataStore_url(t){ + var d = new doh.Deferred(); + dojo.connect(dojox.wire.ml.tests.markup.DataStore.request, "onComplete", function(){ + t.assertEqual("X1", dojox.wire.ml.tests.markup.DataStore.target[0].a); + t.assertEqual("Y2", dojox.wire.ml.tests.markup.DataStore.target[1].b); + t.assertEqual("Z3", dojox.wire.ml.tests.markup.DataStore.target[2].c); + d.callback(true); + }); + dojo.connect(dojox.wire.ml.tests.markup.DataStore.request, "onError", function(error){ + d.errback(error); + }); + dojo.publish("invokeFetch"); + return d; + } + + ]); + doh.run(); +}); +</script> +</head> +<body> +<div dojoType="dojox.wire.ml.DataStore" + id="DataStore1" + storeClass="dojox.data.XmlStore" + url="DataStore.xml"></div> +<div dojoType="dojox.wire.ml.Invocation" + triggerTopic="invokeFetch" + object="DataStore1" + method="fetch" + parameters="dojox.wire.ml.tests.markup.DataStore.request"> +</div> +<div dojoType="dojox.wire.ml.Transfer" + trigger="dojox.wire.ml.tests.markup.DataStore.request" + triggerEvent="onComplete" + source="arguments[0]" + sourceStore="DataStore1.store" + target="dojox.wire.ml.tests.markup.DataStore.target"> + <div dojoType="dojox.wire.ml.ColumnWire" + column="a" attribute="x"></div> + <div dojoType="dojox.wire.ml.ColumnWire" + column="b" attribute="y"></div> + <div dojoType="dojox.wire.ml.ColumnWire" + column="c" attribute="z"></div> +</div> +</body> +</html> diff --git a/includes/js/dojox/wire/tests/markup/DataStore.xml b/includes/js/dojox/wire/tests/markup/DataStore.xml new file mode 100644 index 0000000..eeff4c2 --- /dev/null +++ b/includes/js/dojox/wire/tests/markup/DataStore.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<dataStore> + <item> + <x>X1</x> + <y>Y1</y> + <z>Z1</z> + </item> + <item> + <x>X2</x> + <y>Y2</y> + <z>Z2</z> + </item> + <item> + <x>X3</x> + <y>Y3</y> + <z>Z3</z> + </item> +</dataStore> diff --git a/includes/js/dojox/wire/tests/markup/Invocation.html b/includes/js/dojox/wire/tests/markup/Invocation.html new file mode 100644 index 0000000..dd6f6e4 --- /dev/null +++ b/includes/js/dojox/wire/tests/markup/Invocation.html @@ -0,0 +1,53 @@ +<html> +<head> +<title>Test Invocation</title> +<script type="text/javascript" src="../../../../dojo/dojo.js" djConfig="isDebug: true, parseOnLoad:true "></script> +<script type="text/javascript"> +dojo.provide("dojox.wire.ml.tests.markup.Invocation"); + +dojo.require("dojo.parser"); +dojo.require("doh.runner"); +dojo.require("dojox.wire.ml.Invocation"); + +dojox.wire.ml.tests.markup.Invocation = { + invoke: function(p1, p2){return p1 + p2;}, + invokeError: function(p){throw new Error(p);}, + parameters: {a: "A", b: "B", c: "C"} +}; + +dojo.addOnLoad(function(){ + doh.register("dojox.wire.ml.tests.markup.Invocation", [ + + function test_Invocation_method(t){ + dojo.publish("invokeMethod"); + t.assertEqual("AB", dojox.wire.ml.tests.markup.Invocation.result); + }, + + function test_Invocation_topic(t){ + dojo.publish("invokeTopic"); + t.assertEqual("C", dojox.wire.ml.tests.markup.Invocation.error); + } + + ]); + doh.run(); +}); +</script> +</head> +<body> +<div dojoType="dojox.wire.ml.Invocation" + triggerTopic="invokeMethod" + object="dojox.wire.ml.tests.markup.Invocation" + method="invoke" + parameters="dojox.wire.ml.tests.markup.Invocation.parameters.a,dojox.wire.ml.tests.markup.Invocation.parameters.b" + result="dojox.wire.ml.tests.markup.Invocation.result"></div> +<div dojoType="dojox.wire.ml.Invocation" + triggerTopic="invokeTopic" + topic="invokeError" + parameters="dojox.wire.ml.tests.markup.Invocation.parameters.c"></div> +<div dojoType="dojox.wire.ml.Invocation" + triggerTopic="invokeError" + object="dojox.wire.ml.tests.markup.Invocation" + method="invokeError" + error="dojox.wire.ml.tests.markup.Invocation.error"></div> +</body> +</html> diff --git a/includes/js/dojox/wire/tests/markup/Service.html b/includes/js/dojox/wire/tests/markup/Service.html new file mode 100644 index 0000000..0448c61 --- /dev/null +++ b/includes/js/dojox/wire/tests/markup/Service.html @@ -0,0 +1,84 @@ +<html> +<head> +<title>Test Service</title> +<script type="text/javascript" src="../../../../dojo/dojo.js" djConfig="isDebug: true, parseOnLoad: true"></script> +<script type="text/javascript"> +dojo.provide("dojox.wire.ml.tests.markup.Service"); + +dojo.require("dojo.parser"); +dojo.require("doh.runner"); +dojo.require("dojox.wire.ml.Service"); +dojo.require("dojox.wire.ml.Invocation"); +dojo.require("dojox.wire.ml.Transfer"); + +dojox.wire.ml.tests.markup.Service = { + query: {name: "a"} +}; + +dojo.addOnLoad(function(){ + doh.register("dojox.wire.ml.tests.markup.Service", [ + + function test_Service_url(t){ + var d = new doh.Deferred(); + dojo.connect(dijit.byId("Invocation1"), "onComplete", function(result){ + t.assertEqual("a", dojox.wire.ml.tests.markup.Service.target.a); + var o = result.toObject(); + t.assertEqual("a", o.item.name); // test XmlElement.toObject() + t.assertEqual("b", o.item.data); // test XmlElement.toObject() + + d.callback(true); + }); + dojo.connect(dijit.byId("Invocation1"), "onError", function(error){ + d.errback(error); + }); + dojo.publish("invokeGetXml"); + return d; + }, + + function test_Service_serviceUrl(t){ + var d = new doh.Deferred(); + dojo.connect(dijit.byId("Invocation2"), "onComplete", function(){ + t.assertEqual("a", dojox.wire.ml.tests.markup.Service.result.item.name); + d.callback(true); + }); + dojo.connect(dijit.byId("Invocation2"), "onError", function(error){ + d.errback(error); + }); + dojo.publish("invokeGetJson"); + return d; + } + + ]); + doh.run(); +}); +</script> +</head> +<body> +<div dojoType="dojox.wire.ml.Service" + id="Service1" + url="Service/XML.smd"></div> +<div dojoType="dojox.wire.ml.Invocation" + id="Invocation1" + triggerTopic="invokeGetXml" + object="Service1" + method="get" + parameters="dojox.wire.ml.tests.markup.Service.query"> +</div> +<div dojoType="dojox.wire.ml.Transfer" + trigger="Invocation1" + triggerEvent="onComplete" + source="arguments[0].item.name" + target="dojox.wire.ml.tests.markup.Service.target.a"></div> +<div dojoType="dojox.wire.ml.Service" + id="Service2" + serviceType="JSON" + serviceUrl="Service/{name}.json"></div> +<div dojoType="dojox.wire.ml.Invocation" + id="Invocation2" + triggerTopic="invokeGetJson" + object="Service2" + method="get" + parameters="dojox.wire.ml.tests.markup.Service.query" + result="dojox.wire.ml.tests.markup.Service.result"></div> +</body> +</html> diff --git a/includes/js/dojox/wire/tests/markup/Service/JSON.smd b/includes/js/dojox/wire/tests/markup/Service/JSON.smd new file mode 100644 index 0000000..2ac9682 --- /dev/null +++ b/includes/js/dojox/wire/tests/markup/Service/JSON.smd @@ -0,0 +1,11 @@ +{ + "serviceType": "JSON", + "serviceURL": "Service/{name}.json", + "methods": [{ + "name": "get", + "parameters": [{ + "name": "name", + "type": "str" + }] + }] +} diff --git a/includes/js/dojox/wire/tests/markup/Service/XML.smd b/includes/js/dojox/wire/tests/markup/Service/XML.smd new file mode 100644 index 0000000..d833f88 --- /dev/null +++ b/includes/js/dojox/wire/tests/markup/Service/XML.smd @@ -0,0 +1,11 @@ +{ + "serviceType": "XML", + "serviceURL": "Service/{name}.xml", + "methods": [{ + "name": "get", + "parameters": [{ + "name": "name", + "type": "str" + }] + }] +} diff --git a/includes/js/dojox/wire/tests/markup/Service/a.json b/includes/js/dojox/wire/tests/markup/Service/a.json new file mode 100644 index 0000000..93fc00b --- /dev/null +++ b/includes/js/dojox/wire/tests/markup/Service/a.json @@ -0,0 +1,5 @@ +{ + "item": { + "name": "a" + } +} diff --git a/includes/js/dojox/wire/tests/markup/Service/a.xml b/includes/js/dojox/wire/tests/markup/Service/a.xml new file mode 100644 index 0000000..21e4367 --- /dev/null +++ b/includes/js/dojox/wire/tests/markup/Service/a.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<item> + <name>a</name> + <data><![CDATA[b]]></data> +</item> diff --git a/includes/js/dojox/wire/tests/markup/Transfer.html b/includes/js/dojox/wire/tests/markup/Transfer.html new file mode 100644 index 0000000..3ec11a4 --- /dev/null +++ b/includes/js/dojox/wire/tests/markup/Transfer.html @@ -0,0 +1,157 @@ +<html> +<head> +<title>Test Transfer</title> +<script type="text/javascript" src="../../../../dojo/dojo.js" djConfig="isDebug: true, parseOnLoad: true"></script> +<script type="text/javascript"> +dojo.provide("dojox.wire.ml.tests.markup.Transfer"); + +dojo.require("dojo.parser"); +dojo.require("doh.runner"); +dojo.require("dojox.data.dom"); +dojo.require("dojox.data.XmlStore"); +dojo.require("dojox.wire.ml.Action"); +dojo.require("dojox.wire.ml.Transfer"); + +dojox.wire.ml.tests.markup.Transfer = { + source: {a: "A", b: "B", c: [ + {d: "D1", e: "E1"}, + {d: "D2", e: "E2"} + ]} +}; + +dojo.addOnLoad(function(){ + doh.register("dojox.wire.ml.tests.markup.Transfer", [ + + function test_Transfer_attribute(t){ + dojox.wire.ml.tests.markup.Transfer.store = new dojox.data.XmlStore(); + dojox.wire.ml.tests.markup.Transfer.item = dojox.wire.ml.tests.markup.Transfer.store.newItem({tagName: "x"}); + dojox.wire.ml.tests.markup.Transfer.target = {}; + dojo.publish("transferData"); + t.assertEqual(dojox.wire.ml.tests.markup.Transfer.source.a, dojox.wire.ml.tests.markup.Transfer.target.a); + }, + + function test_Transfer_path(t){ + dojox.wire.ml.tests.markup.Transfer.element = dojox.data.dom.createDocument().createElement("x"); + dojox.wire.ml.tests.markup.Transfer.target = {}; + dojo.publish("transferXml"); + t.assertEqual(dojox.wire.ml.tests.markup.Transfer.source.a, dojox.wire.ml.tests.markup.Transfer.target.a); + }, + + function test_ChildWire(t){ + dojox.wire.ml.tests.markup.Transfer.target = {}; + dojo.publish("transferComposite"); + t.assertEqual(dojox.wire.ml.tests.markup.Transfer.source.a, dojox.wire.ml.tests.markup.Transfer.target.c); + t.assertEqual(dojox.wire.ml.tests.markup.Transfer.source.b, dojox.wire.ml.tests.markup.Transfer.target.d); + }, + + function test_ColumnWire(t){ + dojox.wire.ml.tests.markup.Transfer.target = {}; + dojo.publish("transferTable"); + t.assertEqual(dojox.wire.ml.tests.markup.Transfer.source.c[0].d, dojox.wire.ml.tests.markup.Transfer.target.a[0].b); + t.assertEqual(dojox.wire.ml.tests.markup.Transfer.source.c[1].e, dojox.wire.ml.tests.markup.Transfer.target.a[1].c); + }, + + function test_NodeWire(t){ + dojox.wire.ml.tests.markup.Transfer.target = {}; + dojo.publish("transferTree"); + t.assertEqual(dojox.wire.ml.tests.markup.Transfer.source.c[0].d, dojox.wire.ml.tests.markup.Transfer.target.a[0].title); + t.assertEqual(dojox.wire.ml.tests.markup.Transfer.source.c[1].e, dojox.wire.ml.tests.markup.Transfer.target.a[1].children[0].title); + }, + + function test_SegimentWire(t){ + dojox.wire.ml.tests.markup.Transfer.target = {}; + dojo.publish("transferText"); + t.assertEqual("A/B", dojox.wire.ml.tests.markup.Transfer.target.c); + } + + ]); + doh.run(); +}); +</script> +</head> +<body> +<div dojoType="dojox.wire.ml.Action" + triggerTopic="transferData"> + <div dojoType="dojox.wire.ml.Transfer" + source="dojox.wire.ml.tests.markup.Transfer.source.a" + target="dojox.wire.ml.tests.markup.Transfer.item" + targetStore="dojox.wire.ml.tests.markup.Transfer.store" + targetAttribute="y"></div> + <div dojoType="dojox.wire.ml.Transfer" + source="dojox.wire.ml.tests.markup.Transfer.item" + sourceStore="dojox.wire.ml.tests.markup.Transfer.store" + sourceAttribute="y" + target="dojox.wire.ml.tests.markup.Transfer.target.a"></div> +</div> +<div dojoType="dojox.wire.ml.Action" + triggerTopic="transferXml"> + <div dojoType="dojox.wire.ml.Transfer" + source="dojox.wire.ml.tests.markup.Transfer.source.a" + target="dojox.wire.ml.tests.markup.Transfer.element" + targetPath="y/text()"></div> + <div dojoType="dojox.wire.ml.Transfer" + source="dojox.wire.ml.tests.markup.Transfer.element" + sourcePath="y/text()" + target="dojox.wire.ml.tests.markup.Transfer.target.a"></div> + <div dojoType="dojox.wire.ml.Transfer" + source="dojox.wire.ml.tests.markup.Transfer.source.b" + target="dojox.wire.ml.tests.markup.Transfer.element" + targetPath="y/@z"></div> + <div dojoType="dojox.wire.ml.Transfer" + source="dojox.wire.ml.tests.markup.Transfer.element" + sourcePath="y/@z" + target="dojox.wire.ml.tests.markup.Transfer.target.b"></div> +</div> +<div dojoType="dojox.wire.ml.Transfer" + triggerTopic="transferComposite" + source="dojox.wire.ml.tests.markup.Transfer.source" + target="dojox.wire.ml.tests.markup.Transfer.target"> + <div dojoType="dojox.wire.ml.ChildWire" + name="x" + property="a"></div> + <div dojoType="dojox.wire.ml.ChildWire" + which="source" + name="y" + property="b"></div> + <div dojoType="dojox.wire.ml.ChildWire" + which="target" + name="x" + property="c"></div> + <div dojoType="dojox.wire.ml.ChildWire" + which="target" + name="y" + property="d"></div> +</div> +<div dojoType="dojox.wire.ml.Transfer" + triggerTopic="transferTable" + source="dojox.wire.ml.tests.markup.Transfer.source.c" + target="dojox.wire.ml.tests.markup.Transfer.target.a"> + <div dojoType="dojox.wire.ml.ColumnWire" + column="b" + property="d"></div> + <div dojoType="dojox.wire.ml.ColumnWire" + column="c" + property="e"></div> +</div> +<div dojoType="dojox.wire.ml.Transfer" + triggerTopic="transferTree" + source="dojox.wire.ml.tests.markup.Transfer.source.c" + target="dojox.wire.ml.tests.markup.Transfer.target.a"> + <div dojoType="dojox.wire.ml.NodeWire" + titleProperty="d"> + <div dojoType="dojox.wire.ml.NodeWire" + titleProperty="e"></div> + </div> +</div> +<div dojoType="dojox.wire.ml.Transfer" + triggerTopic="transferText" + source="dojox.wire.ml.tests.markup.Transfer.source" + delimiter="/" + target="dojox.wire.ml.tests.markup.Transfer.target.c"> + <div dojoType="dojox.wire.ml.SegmentWire" + property="a"></div> + <div dojoType="dojox.wire.ml.SegmentWire" + property="b"></div> +</div> +</body> +</html> |