From e44a7e37b6c7b5961adaffc62b9042b8d442938e Mon Sep 17 00:00:00 2001
From: mensonge
Date: Thu, 13 Nov 2008 09:49:11 +0000
Subject: 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
---
includes/js/dojox/wire/tests/markup/Action.html | 147 +++++++++++++++++++
includes/js/dojox/wire/tests/markup/Data.html | 105 ++++++++++++++
includes/js/dojox/wire/tests/markup/DataStore.html | 66 +++++++++
includes/js/dojox/wire/tests/markup/DataStore.xml | 18 +++
.../js/dojox/wire/tests/markup/Invocation.html | 53 +++++++
includes/js/dojox/wire/tests/markup/Service.html | 84 +++++++++++
.../js/dojox/wire/tests/markup/Service/JSON.smd | 11 ++
.../js/dojox/wire/tests/markup/Service/XML.smd | 11 ++
includes/js/dojox/wire/tests/markup/Service/a.json | 5 +
includes/js/dojox/wire/tests/markup/Service/a.xml | 5 +
includes/js/dojox/wire/tests/markup/Transfer.html | 157 +++++++++++++++++++++
includes/js/dojox/wire/tests/module.js | 13 ++
.../dojox/wire/tests/programmatic/CompositeWire.js | 51 +++++++
.../wire/tests/programmatic/ConverterDynamic.js | 12 ++
.../js/dojox/wire/tests/programmatic/DataWire.js | 25 ++++
.../dojox/wire/tests/programmatic/TableAdapter.js | 24 ++++
.../dojox/wire/tests/programmatic/TextAdapter.js | 25 ++++
.../dojox/wire/tests/programmatic/TreeAdapter.js | 29 ++++
includes/js/dojox/wire/tests/programmatic/Wire.js | 123 ++++++++++++++++
.../js/dojox/wire/tests/programmatic/XmlWire.js | 32 +++++
includes/js/dojox/wire/tests/programmatic/_base.js | 111 +++++++++++++++
includes/js/dojox/wire/tests/runTests.html | 9 ++
includes/js/dojox/wire/tests/wire.js | 18 +++
includes/js/dojox/wire/tests/wireml.js | 18 +++
24 files changed, 1152 insertions(+)
create mode 100644 includes/js/dojox/wire/tests/markup/Action.html
create mode 100644 includes/js/dojox/wire/tests/markup/Data.html
create mode 100644 includes/js/dojox/wire/tests/markup/DataStore.html
create mode 100644 includes/js/dojox/wire/tests/markup/DataStore.xml
create mode 100644 includes/js/dojox/wire/tests/markup/Invocation.html
create mode 100644 includes/js/dojox/wire/tests/markup/Service.html
create mode 100644 includes/js/dojox/wire/tests/markup/Service/JSON.smd
create mode 100644 includes/js/dojox/wire/tests/markup/Service/XML.smd
create mode 100644 includes/js/dojox/wire/tests/markup/Service/a.json
create mode 100644 includes/js/dojox/wire/tests/markup/Service/a.xml
create mode 100644 includes/js/dojox/wire/tests/markup/Transfer.html
create mode 100644 includes/js/dojox/wire/tests/module.js
create mode 100644 includes/js/dojox/wire/tests/programmatic/CompositeWire.js
create mode 100644 includes/js/dojox/wire/tests/programmatic/ConverterDynamic.js
create mode 100644 includes/js/dojox/wire/tests/programmatic/DataWire.js
create mode 100644 includes/js/dojox/wire/tests/programmatic/TableAdapter.js
create mode 100644 includes/js/dojox/wire/tests/programmatic/TextAdapter.js
create mode 100644 includes/js/dojox/wire/tests/programmatic/TreeAdapter.js
create mode 100644 includes/js/dojox/wire/tests/programmatic/Wire.js
create mode 100644 includes/js/dojox/wire/tests/programmatic/XmlWire.js
create mode 100644 includes/js/dojox/wire/tests/programmatic/_base.js
create mode 100644 includes/js/dojox/wire/tests/runTests.html
create mode 100644 includes/js/dojox/wire/tests/wire.js
create mode 100644 includes/js/dojox/wire/tests/wireml.js
(limited to 'includes/js/dojox/wire/tests')
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 @@
+
+
+Test Action
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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 @@
+
+
+Test Data
+
+
+
+
+
+
+
+
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 @@
+
+
+Test DataStore
+
+
+
+
+
+
+
+
+
+
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 @@
+
+
+ -
+ X1
+ Y1
+ Z1
+
+ -
+ X2
+ Y2
+ Z2
+
+ -
+ X3
+ Y3
+ Z3
+
+
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 @@
+
+
+Test Invocation
+
+
+
+
+
+
+
+
+
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 @@
+
+
+Test Service
+
+
+
+
+
+
+
+
+
+
+
+
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 @@
+
+-
+ a
+
+
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 @@
+
+
+Test Transfer
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/includes/js/dojox/wire/tests/module.js b/includes/js/dojox/wire/tests/module.js
new file mode 100644
index 0000000..17f10c3
--- /dev/null
+++ b/includes/js/dojox/wire/tests/module.js
@@ -0,0 +1,13 @@
+if(!dojo._hasResource["dojox.wire.tests.module"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
+dojo._hasResource["dojox.wire.tests.module"] = true;
+dojo.provide("dojox.wire.tests.module");
+
+try{
+ dojo.require("dojox.wire.tests.wire");
+ dojo.require("dojox.wire.tests.wireml");
+}catch(e){
+ doh.debug(e);
+}
+
+
+}
diff --git a/includes/js/dojox/wire/tests/programmatic/CompositeWire.js b/includes/js/dojox/wire/tests/programmatic/CompositeWire.js
new file mode 100644
index 0000000..ae9866a
--- /dev/null
+++ b/includes/js/dojox/wire/tests/programmatic/CompositeWire.js
@@ -0,0 +1,51 @@
+if(!dojo._hasResource["dojox.wire.tests.programmatic.CompositeWire"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
+dojo._hasResource["dojox.wire.tests.programmatic.CompositeWire"] = true;
+dojo.provide("dojox.wire.tests.programmatic.CompositeWire");
+
+dojo.require("dojox.wire.CompositeWire");
+
+tests.register("dojox.wire.tests.programmatic.CompositeWire", [
+
+ function test_CompositeWire_children(t){
+ var source = {a: "A", b: "B"};
+ var target = {};
+ var children = {x: {property: "a"}, y: {property: "b"}};
+ var value = new dojox.wire.CompositeWire({object: source, children: children}).getValue();
+ t.assertEqual(source.a, value.x);
+ t.assertEqual(source.b, value.y);
+ new dojox.wire.CompositeWire({object: target, children: children}).setValue(value);
+ t.assertEqual(source.a, target.a);
+ t.assertEqual(source.b, target.b);
+
+ // with argument
+ target = {};
+ value = new dojox.wire.CompositeWire({children: children}).getValue(source);
+ t.assertEqual(source.a, value.x);
+ t.assertEqual(source.b, value.y);
+ new dojox.wire.CompositeWire({children: children}).setValue(value, target);
+ t.assertEqual(source.a, target.a);
+ t.assertEqual(source.b, target.b);
+
+ // by array
+ target = {};
+ children = [{property: "a"}, {property: "b"}];
+ value = new dojox.wire.CompositeWire({object: source, children: children}).getValue();
+ t.assertEqual(source.a, value[0]);
+ t.assertEqual(source.b, value[1]);
+ new dojox.wire.CompositeWire({object: target, children: children}).setValue(value);
+ t.assertEqual(source.a, target.a);
+ t.assertEqual(source.b, target.b);
+
+ // by array with argument
+ target = {};
+ value = new dojox.wire.CompositeWire({children: children}).getValue(source);
+ t.assertEqual(source.a, value[0]);
+ t.assertEqual(source.b, value[1]);
+ new dojox.wire.CompositeWire({children: children}).setValue(value, target);
+ t.assertEqual(source.a, target.a);
+ t.assertEqual(source.b, target.b);
+ }
+
+]);
+
+}
diff --git a/includes/js/dojox/wire/tests/programmatic/ConverterDynamic.js b/includes/js/dojox/wire/tests/programmatic/ConverterDynamic.js
new file mode 100644
index 0000000..2665148
--- /dev/null
+++ b/includes/js/dojox/wire/tests/programmatic/ConverterDynamic.js
@@ -0,0 +1,12 @@
+if(!dojo._hasResource["dojox.wire.tests.programmatic.ConverterDynamic"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
+dojo._hasResource["dojox.wire.tests.programmatic.ConverterDynamic"] = true;
+dojo.provide("dojox.wire.tests.programmatic.ConverterDynamic");
+
+dojo.declare("dojox.wire.tests.programmatic.ConverterDynamic", null, {
+ convert: function(v){
+ return v + 1;
+ }
+});
+
+
+}
diff --git a/includes/js/dojox/wire/tests/programmatic/DataWire.js b/includes/js/dojox/wire/tests/programmatic/DataWire.js
new file mode 100644
index 0000000..b146901
--- /dev/null
+++ b/includes/js/dojox/wire/tests/programmatic/DataWire.js
@@ -0,0 +1,25 @@
+if(!dojo._hasResource["dojox.wire.tests.programmatic.DataWire"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
+dojo._hasResource["dojox.wire.tests.programmatic.DataWire"] = true;
+dojo.provide("dojox.wire.tests.programmatic.DataWire");
+
+dojo.require("dojox.wire.DataWire");
+dojo.require("dojox.data.XmlStore");
+
+tests.register("dojox.wire.tests.programmatic.DataWire", [
+
+ function test_DataWire_attribute(t){
+ var store = new dojox.data.XmlStore();
+ var item = store.newItem({tagName: "x"});
+ new dojox.wire.DataWire({dataStore: store, object: item, attribute: "y"}).setValue("Y");
+ var value = new dojox.wire.DataWire({dataStore: store, object: item, attribute: "y"}).getValue();
+ t.assertEqual("Y", value);
+
+ // nested attribute
+ new dojox.wire.DataWire({dataStore: store, object: item, attribute: "y.z"}).setValue("Z");
+ value = new dojox.wire.DataWire({dataStore: store, object: item, attribute: "y.z"}).getValue();
+ t.assertEqual("Z", value);
+ }
+
+]);
+
+}
diff --git a/includes/js/dojox/wire/tests/programmatic/TableAdapter.js b/includes/js/dojox/wire/tests/programmatic/TableAdapter.js
new file mode 100644
index 0000000..9e6adc1
--- /dev/null
+++ b/includes/js/dojox/wire/tests/programmatic/TableAdapter.js
@@ -0,0 +1,24 @@
+if(!dojo._hasResource["dojox.wire.tests.programmatic.TableAdapter"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
+dojo._hasResource["dojox.wire.tests.programmatic.TableAdapter"] = true;
+dojo.provide("dojox.wire.tests.programmatic.TableAdapter");
+
+dojo.require("dojox.wire.TableAdapter");
+
+tests.register("dojox.wire.tests.programmatic.TableAdapter", [
+
+ function test_TableAdapter_columns(t){
+ var source = [
+ {a: "A1", b: "B1", c: "C1"},
+ {a: "A2", b: "B2", c: "C2"},
+ {a: "A3", b: "B3", c: "C3"}
+ ];
+ var columns = {x: {property: "a"}, y: {property: "b"}, z: {property: "c"}};
+ var value = new dojox.wire.TableAdapter({object: source, columns: columns}).getValue();
+ t.assertEqual(source[0].a, value[0].x);
+ t.assertEqual(source[1].b, value[1].y);
+ t.assertEqual(source[2].c, value[2].z);
+ }
+
+]);
+
+}
diff --git a/includes/js/dojox/wire/tests/programmatic/TextAdapter.js b/includes/js/dojox/wire/tests/programmatic/TextAdapter.js
new file mode 100644
index 0000000..1014b5c
--- /dev/null
+++ b/includes/js/dojox/wire/tests/programmatic/TextAdapter.js
@@ -0,0 +1,25 @@
+if(!dojo._hasResource["dojox.wire.tests.programmatic.TextAdapter"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
+dojo._hasResource["dojox.wire.tests.programmatic.TextAdapter"] = true;
+dojo.provide("dojox.wire.tests.programmatic.TextAdapter");
+
+dojo.require("dojox.wire.TextAdapter");
+
+tests.register("dojox.wire.tests.programmatic.TextAdapter", [
+
+ function test_TextAdapter_segments(t){
+ var source = {a: "a", b: "b", c: "c"};
+ var segments = [{property: "a"}, {property: "b"}, {property: "c"}];
+ var value = new dojox.wire.TextAdapter({object: source, segments: segments}).getValue();
+ t.assertEqual("abc", value);
+ },
+
+ function test_TextAdapter_delimiter(t){
+ var source = {a: "a", b: "b", c: "c"};
+ var segments = [{property: "a"}, {property: "b"}, {property: "c"}];
+ var value = new dojox.wire.TextAdapter({object: source, segments: segments, delimiter: "/"}).getValue();
+ t.assertEqual("a/b/c", value);
+ }
+
+]);
+
+}
diff --git a/includes/js/dojox/wire/tests/programmatic/TreeAdapter.js b/includes/js/dojox/wire/tests/programmatic/TreeAdapter.js
new file mode 100644
index 0000000..e1671ed
--- /dev/null
+++ b/includes/js/dojox/wire/tests/programmatic/TreeAdapter.js
@@ -0,0 +1,29 @@
+if(!dojo._hasResource["dojox.wire.tests.programmatic.TreeAdapter"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
+dojo._hasResource["dojox.wire.tests.programmatic.TreeAdapter"] = true;
+dojo.provide("dojox.wire.tests.programmatic.TreeAdapter");
+
+dojo.require("dojox.wire.TreeAdapter");
+
+tests.register("dojox.wire.tests.programmatic.TreeAdapter", [
+
+ function test_TreeAdapter_nodes(t){
+ var source = [
+ {a: "A1", b: "B1", c: "C1"},
+ {a: "A2", b: "B2", c: "C2"},
+ {a: "A3", b: "B3", c: "C3"}
+ ];
+ var nodes = [
+ {title: {property: "a"}, children: [
+ {node: {property: "b"}},
+ {title: {property: "c"}}
+ ]}
+ ];
+ var value = new dojox.wire.TreeAdapter({object: source, nodes: nodes}).getValue();
+ t.assertEqual(source[0].a, value[0].title);
+ t.assertEqual(source[1].b, value[1].children[0].title);
+ t.assertEqual(source[2].c, value[2].children[1].title);
+ }
+
+]);
+
+}
diff --git a/includes/js/dojox/wire/tests/programmatic/Wire.js b/includes/js/dojox/wire/tests/programmatic/Wire.js
new file mode 100644
index 0000000..25a82ec
--- /dev/null
+++ b/includes/js/dojox/wire/tests/programmatic/Wire.js
@@ -0,0 +1,123 @@
+if(!dojo._hasResource["dojox.wire.tests.programmatic.Wire"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
+dojo._hasResource["dojox.wire.tests.programmatic.Wire"] = true;
+dojo.provide("dojox.wire.tests.programmatic.Wire");
+dojo.require("dojox.wire.Wire");
+
+//Simple connverter class to try to use.
+dojo.declare("dojox.wire.tests.programmatic.Wire.Converter", null, {
+ convert: function(v){
+ return v + 1;
+ }
+});
+
+//Simple converter function to try to use.
+//To get it in the global namespace, gotta assign it to the
+//'window' toplevel object. Otherwise it ends up in the
+//dojo NS and can't be found.
+if (dojo.isBrowser) {
+ window["__wireTestConverterFunction"] = function(v){
+ return v + 1;
+ };
+}else{
+ var __wireTestConverterFunction = function(v){
+ return v + 1;
+ };
+}
+
+tests.register("dojox.wire.tests.programmatic.Wire", [
+
+ function test_Wire_property(t){
+ var source = {a: "A", b: {c: "B.C"}};
+ var target = {a: "a", b: {c: "b.c"}};
+ var value = new dojox.wire.Wire({object: source, property: "a"}).getValue();
+ new dojox.wire.Wire({object: target, property: "a"}).setValue(value);
+ t.assertEqual(source.a, target.a);
+
+ // child property
+ value = new dojox.wire.Wire({object: source, property: "b.c"}).getValue();
+ new dojox.wire.Wire({object: target, property: "b.c"}).setValue(value);
+ t.assertEqual(source.b.c, target.b.c);
+
+ // new property
+ target = {};
+ value = new dojox.wire.Wire({object: source, property: "a"}).getValue();
+ new dojox.wire.Wire({object: target, property: "a"}).setValue(value);
+ t.assertEqual(source.a, target.a);
+
+ // new parent and child property
+ target.b = {};
+ value = new dojox.wire.Wire({object: source, property: "b.c"}).getValue();
+ new dojox.wire.Wire({object: target, property: "b.c"}).setValue(value);
+ t.assertEqual(source.b.c, target.b.c);
+
+ // new parent and child property
+ target = {};
+ value = new dojox.wire.Wire({object: source, property: "b.c"}).getValue();
+ new dojox.wire.Wire({object: target, property: "b.c"}).setValue(value);
+ t.assertEqual(source.b.c, target.b.c);
+
+ // new array property
+ source = {a: ["A"]};
+ target = {};
+ value = new dojox.wire.Wire({object: source, property: "a[0]"}).getValue();
+ new dojox.wire.Wire({object: target, property: "a[0]"}).setValue(value);
+ t.assertEqual(source.a[0], target.a[0]);
+
+ // by getter/setter
+ source = {getA: function() { return this._a; }, _a: "A"};
+ target = {setA: function(a) { this._a = a; }};
+ value = new dojox.wire.Wire({object: source, property: "a"}).getValue();
+ new dojox.wire.Wire({object: target, property: "a"}).setValue(value);
+ t.assertEqual(source._a, target._a);
+
+ // by get/setPropertyValue
+ source = {getPropertyValue: function(p) { return this["_" + p]; }, _a: "A"};
+ target = {setPropertyValue: function(p, v) { this["_" + p] = v; }};
+ value = new dojox.wire.Wire({object: source, property: "a"}).getValue();
+ new dojox.wire.Wire({object: target, property: "a"}).setValue(value);
+ t.assertEqual(source._a, target._a);
+ },
+
+ function test_Wire_type(t){
+ var source = {a: "1"};
+ var string = new dojox.wire.Wire({object: source, property: "a"}).getValue();
+ t.assertEqual("11", string + 1);
+ var number = new dojox.wire.Wire({object: source, property: "a", type: "number"}).getValue();
+ t.assertEqual(2, number + 1);
+ },
+
+ function test_Wire_converterObject(t){
+ var source = {a: "1"};
+ var converter = {convert: function(v) { return v + 1; }};
+ var string = new dojox.wire.Wire({object: source, property: "a", converter: converter}).getValue();
+ t.assertEqual("11", string);
+ },
+
+ function test_Wire_converterFunction(t){
+ var source = {a: "1"};
+ var converter = {convert: function(v) { return v + 1; }};
+ var number = new dojox.wire.Wire({object: source, property: "a", type: "number", converter: converter.convert}).getValue();
+ t.assertEqual(2, number);
+ },
+
+ function test_Wire_converterObjectByString(t){
+ var source = {a: "1"};
+ var number = new dojox.wire.Wire({object: source, property: "a", type: "number", converter: "dojox.wire.tests.programmatic.Wire.Converter"}).getValue();
+ t.assertEqual(2, number);
+ },
+
+ function test_Wire_converterFunctionByString(t){
+ var source = {a: "1"};
+ var number = new dojox.wire.Wire({object: source, property: "a", type: "number", converter: "__wireTestConverterFunction"}).getValue();
+ t.assertEqual(2, number);
+ },
+
+ function test_Wire_converterObjectByStringDynamic(t){
+ var source = {a: "1"};
+ var number = new dojox.wire.Wire({object: source, property: "a", type: "number", converter: "dojox.wire.tests.programmatic.ConverterDynamic"}).getValue();
+ t.assertEqual(2, number);
+ }
+
+]);
+
+}
diff --git a/includes/js/dojox/wire/tests/programmatic/XmlWire.js b/includes/js/dojox/wire/tests/programmatic/XmlWire.js
new file mode 100644
index 0000000..b0772d7
--- /dev/null
+++ b/includes/js/dojox/wire/tests/programmatic/XmlWire.js
@@ -0,0 +1,32 @@
+if(!dojo._hasResource["dojox.wire.tests.programmatic.XmlWire"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
+dojo._hasResource["dojox.wire.tests.programmatic.XmlWire"] = true;
+dojo.provide("dojox.wire.tests.programmatic.XmlWire");
+
+dojo.require("dojox.wire.XmlWire");
+
+tests.register("dojox.wire.tests.programmatic.XmlWire", [
+
+ function test_XmlWire_path(t){
+ var object = {};
+ var wire = dojox.wire.create({object: object, property: "element"});
+ new dojox.wire.XmlWire({object: wire, path: "/x/y/text()"}).setValue("Y");
+ var value = new dojox.wire.XmlWire({object: object, property: "element", path: "y/text()"}).getValue();
+ t.assertEqual("Y", value);
+
+ // attribute
+ new dojox.wire.XmlWire({object: object, property: "element", path: "y/@z"}).setValue("Z");
+ value = new dojox.wire.XmlWire({object: wire, path: "/x/y/@z"}).getValue();
+ t.assertEqual("Z", value);
+
+ // with index
+ var document = object.element.ownerDocument;
+ var element = document.createElement("y");
+ element.appendChild(document.createTextNode("Y2"));
+ object.element.appendChild(element);
+ value = new dojox.wire.XmlWire({object: object.element, path: "y[2]/text()"}).getValue();
+ t.assertEqual("Y2", value);
+ }
+
+]);
+
+}
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);
+ }
+
+]);
+
+}
diff --git a/includes/js/dojox/wire/tests/runTests.html b/includes/js/dojox/wire/tests/runTests.html
new file mode 100644
index 0000000..f4a51de
--- /dev/null
+++ b/includes/js/dojox/wire/tests/runTests.html
@@ -0,0 +1,9 @@
+
+
+
+ Dojox.wire Unit Test Runner
+
+
+ Redirecting to D.O.H runner.
+
+
diff --git a/includes/js/dojox/wire/tests/wire.js b/includes/js/dojox/wire/tests/wire.js
new file mode 100644
index 0000000..e4e2a21
--- /dev/null
+++ b/includes/js/dojox/wire/tests/wire.js
@@ -0,0 +1,18 @@
+if(!dojo._hasResource["dojox.wire.tests.wire"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
+dojo._hasResource["dojox.wire.tests.wire"] = true;
+dojo.provide("dojox.wire.tests.wire");
+
+try{
+ dojo.require("dojox.wire.tests.programmatic._base");
+ dojo.require("dojox.wire.tests.programmatic.Wire");
+ dojo.requireIf(dojo.isBrowser, "dojox.wire.tests.programmatic.DataWire");
+ dojo.requireIf(dojo.isBrowser, "dojox.wire.tests.programmatic.XmlWire");
+ dojo.require("dojox.wire.tests.programmatic.CompositeWire");
+ dojo.require("dojox.wire.tests.programmatic.TableAdapter");
+ dojo.require("dojox.wire.tests.programmatic.TreeAdapter");
+ dojo.require("dojox.wire.tests.programmatic.TextAdapter");
+}catch(e){
+ doh.debug(e);
+}
+
+}
diff --git a/includes/js/dojox/wire/tests/wireml.js b/includes/js/dojox/wire/tests/wireml.js
new file mode 100644
index 0000000..db47056
--- /dev/null
+++ b/includes/js/dojox/wire/tests/wireml.js
@@ -0,0 +1,18 @@
+if(!dojo._hasResource["dojox.wire.tests.wireml"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
+dojo._hasResource["dojox.wire.tests.wireml"] = true;
+dojo.provide("dojox.wire.tests.wireml");
+
+try{
+ if(dojo.isBrowser){
+ doh.registerUrl("dojox.wire.tests.ml.Action", dojo.moduleUrl("dojox", "wire/tests/markup/Action.html"));
+ doh.registerUrl("dojox.wire.tests.ml.Transfer", dojo.moduleUrl("dojox", "wire/tests/markup/Transfer.html"));
+ doh.registerUrl("dojox.wire.tests.ml.Invocation", dojo.moduleUrl("dojox", "wire/tests/markup/Invocation.html"));
+ doh.registerUrl("dojox.wire.tests.ml.Data", dojo.moduleUrl("dojox", "wire/tests/markup/Data.html"));
+ doh.registerUrl("dojox.wire.tests.ml.DataStore", dojo.moduleUrl("dojox", "wire/tests/markup/DataStore.html"));
+ doh.registerUrl("dojox.wire.tests.ml.Service", dojo.moduleUrl("dojox", "wire/tests/markup/Service.html"));
+ }
+}catch(e){
+ doh.debug(e);
+}
+
+}
--
cgit v1.2.3-54-g00ecf