summaryrefslogtreecommitdiffstatshomepage
path: root/includes/js/dojox/wire/tests/markup
diff options
context:
space:
mode:
authorGravatar mensonge2008-11-13 09:49:11 +0000
committerGravatar mensonge2008-11-13 09:49:11 +0000
commite44a7e37b6c7b5961adaffc62b9042b8d442938e (patch)
tree95b67c356e93163467db2451f2b8cce84ed5d582 /includes/js/dojox/wire/tests/markup
parenta62b9742ee5e28bcec6872d88f50f25b820914f6 (diff)
downloadscuttle-e44a7e37b6c7b5961adaffc62b9042b8d442938e.tar.gz
scuttle-e44a7e37b6c7b5961adaffc62b9042b8d442938e.zip
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.html147
-rw-r--r--includes/js/dojox/wire/tests/markup/Data.html105
-rw-r--r--includes/js/dojox/wire/tests/markup/DataStore.html66
-rw-r--r--includes/js/dojox/wire/tests/markup/DataStore.xml18
-rw-r--r--includes/js/dojox/wire/tests/markup/Invocation.html53
-rw-r--r--includes/js/dojox/wire/tests/markup/Service.html84
-rw-r--r--includes/js/dojox/wire/tests/markup/Service/JSON.smd11
-rw-r--r--includes/js/dojox/wire/tests/markup/Service/XML.smd11
-rw-r--r--includes/js/dojox/wire/tests/markup/Service/a.json5
-rw-r--r--includes/js/dojox/wire/tests/markup/Service/a.xml5
-rw-r--r--includes/js/dojox/wire/tests/markup/Transfer.html157
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>