aboutsummaryrefslogtreecommitdiff
path: root/includes/js/dojo/tests/parser.html
diff options
context:
space:
mode:
Diffstat (limited to 'includes/js/dojo/tests/parser.html')
-rw-r--r--includes/js/dojo/tests/parser.html241
1 files changed, 0 insertions, 241 deletions
diff --git a/includes/js/dojo/tests/parser.html b/includes/js/dojo/tests/parser.html
deleted file mode 100644
index 8d7565b..0000000
--- a/includes/js/dojo/tests/parser.html
+++ /dev/null
@@ -1,241 +0,0 @@
-<html>
- <head>
- <title>Parser Unit Test</title>
- <style type="text/css">
- @import "../resources/dojo.css";
- </style>
- <script type="text/javascript"
- src="../dojo.js"
- djConfig="isDebug: true, parseOnLoad: true"></script>
- <script type="text/javascript">
- dojo.require("dojo.parser");
- dojo.require("doh.runner");
-
- dojo.declare("tests.parser.Class1", null, {
- constructor: function(args, node){ dojo.mixin(this, args); },
- preambleTestProp: 1,
- preamble: function(){
- this.preambleTestProp++;
- },
- intProp: 1,
- callCount: 0, // for connect testing
- callInc: function(){ this.callCount++; },
- callCount2: 0, // for assignment testing
- strProp1: "original1",
- strProp2: "original2",
- arrProp: [],
- boolProp1: false,
- boolProp2: true,
- boolProp3: false,
- boolProp4: true,
- dateProp1: dojo.date.stamp.fromISOString('2007-01-01'),
- dateProp2: dojo.date.stamp.fromISOString('2007-01-01'),
- dateProp3: dojo.date.stamp.fromISOString('2007-01-01'),
- funcProp: function(){},
- funcProp2: function(){},
- funcProp3: function(){},
- onclick: function(){ this.prototypeOnclick=true; }
- // FIXME: have to test dates!!
- // FIXME: need to test the args property!!
- });
-
- dojo.declare("tests.parser.Class2", null, {
- constructor: function(){
- this.fromMarkup = false;
- },
- fromMarkup: false,
- markupFactory: function(args, node, classCtor){
- var i = new tests.parser.Class2();
- i.fromMarkup = true;
- return i;
- }
- });
-
-
- dojo.declare("tests.parser.Class3", tests.parser.Class2, {
- fromMarkup: false,
- markupFactory: function(args, node, classCtor){
- var i = new classCtor();
- i.classCtor = classCtor;
- return i;
- }
- });
-
- dojo.declare("tests.parser.inputClass", null, {
- constructor: function(args, node){ dojo.mixin(this, args); },
- // these attributes are special in HTML, they don't have a value specified
- disabled: false,
- checked: false
- });
-
- deepTestProp = {
- blah: {
- thinger: 1
- }
- };
-
- dojo.addOnLoad(function(){
- doh.register("t",
- [
- function testJsId(t){
- // console.debug(obj);
- t.t(typeof obj == "object");
- },
-
- // Attribute parsing tests
- function testStrProp(t){
- // normal string parameter
- t.t(dojo.isString(obj.strProp1));
- t.is("text", obj.strProp1);
-
- // make sure that you override a string value like "foo" to a blank value
- t.t(dojo.isString(obj.strProp2));
- t.is("", obj.strProp2);
- },
- function testIntProp(t){
- t.is("number", (typeof obj.intProp));
- t.is(5, obj.intProp);
- },
- function testArrProp(t){
- t.is(3, obj.arrProp.length);
- t.is(3, obj.arrProp[1].length);
- t.is(["foo", "bar", "baz"], obj.arrProp);
- },
- function testBoolProp(t){
- // make sure that both true and false get read correctly,
- // and that unspecified attributes' values don't change
-
- // boolProp1 specified at true
- t.is("boolean", (typeof obj.boolProp1));
- t.t(obj.boolProp1);
-
- // boolProp2 specified as false
- t.is("boolean", (typeof obj.boolProp2));
- t.f(obj.boolProp2);
-
- // boolProp3 not specified (prototype says false)
- t.is("boolean", (typeof obj.boolProp3));
- t.f(obj.boolProp3);
-
- // boolProp4 not specified (prototype says true)
- t.is("boolean", (typeof obj.boolProp4));
- t.t(obj.boolProp4);
- },
- function testDateProp(t){
- // dateProp1 specified as 2006-1-1
- t.is("2006-01-01", dojo.date.stamp.toISOString(obj.dateProp1, {selector: 'date'}));
-
- // dateProp2="", should map to NaN (a blank value on DateTextBox)
- t.t(isNaN(obj.dateProp2));
-
- // dateProp3="now", should map to current date
- t.is(dojo.date.stamp.toISOString(new Date(), {selector: 'date'}),
- dojo.date.stamp.toISOString(obj.dateProp3, {selector: 'date'}));
- },
- function testDisabledFlag(t){
- t.is("boolean", (typeof disabledObj.disabled));
- t.t(disabledObj.disabled);
- t.f(disabledObj.checked);
- },
- function testCheckedFlag(t){
- t.is("boolean", (typeof checkedObj.checked));
- t.f(checkedObj.disabled);
- t.t(checkedObj.checked);
- },
- function testFunctionProp(t){
- // make sure that unspecified functions (even with common names)
- // don't get overridden (bug #3074)
- obj.onclick();
- t.t(obj.prototypeOnclick);
-
- // funcProp2="foo"
- obj.funcProp2();
- t.t(obj.fooCalled);
-
- // funcProp3="this.func3Called=true;"
- obj.funcProp3();
- t.t(obj.func3Called);
- },
-
- // test <script> tags inside innerHTML of source node
- "t.is(4, obj.preambleTestProp);",
- "t.is(deepTestProp, obj.deepProp);",
- function testConnect(t){
- obj.callInc();
- t.is(2, obj.callCount);
- },
- function testFunctionAssignment(t){
- obj.callInc2();
- t.is(1, obj.callCount2);
- },
- function testSubNodeParse(t){
- t.f(dojo.exists("obj2"));
- var toParse = dojo.byId("toParse");
- toParse.setAttribute("dojoType", toParse.getAttribute("type"));
- dojo.parser.parse(toParse.parentNode);
- t.t(dojo.exists("obj2"));
- t.is("tests.parser.Class1", obj2.declaredClass);
- },
- function testMarkupFactory(t){
- t.t(dojo.exists("obj3"));
- t.t(obj3.fromMarkup);
- },
- function testMarkupFactoryClass(t){
- t.t(dojo.exists("obj4"));
- t.is(obj4.classCtor, tests.parser.Class3);
- t.t(obj4 instanceof tests.parser.Class3);
- t.t(obj4 instanceof tests.parser.Class2);
- },
- function testDisabledFlag(t){
- t.t(disabledObj.disabled);
- t.f(disabledObj.checked);
- },
- function testCheckedFlag(t){
- t.f(checkedObj.disabled);
- t.t(checkedObj.checked);
- }
- ]
- );
- doh.run();
- })
- </script>
- </head>
- <body>
- <h1>Parser Unit Test</h1>
- <script>
- function foo(){ this.fooCalled=true; }
- </script>
- <div dojoType="tests.parser.Class1" jsId="obj"
- strProp1="text" strProp2=""
- intProp="5"
- arrProp="foo, bar, baz"
- boolProp1="true" boolProp2="false"
- dateProp1="2006-01-01" dateProp2="" dateProp3="now"
- funcProp2="foo" funcProp3="this.func3Called=true;"
- >
- <script type="dojo/method" event="preamble">
- this.preambleTestProp = 3;
- </script>
- <script type="dojo/method">
- // this should be run immediately
- this.deepProp = deepTestProp;
- </script>
- <script type="dojo/connect" event="callInc">
- this.callCount++;
- </script>
- <script type="dojo/method" event="callInc2">
- this.callCount2++;
- </script>
- </div>
- <div>
- <div type="tests.parser.Class1" jsId="obj2" id="toParse">
- </div>
- </div>
- <div dojoType="tests.parser.Class2" jsId="obj3">
- </div>
- <div dojoType="tests.parser.Class3" jsId="obj4">
- </div>
- <input dojoType="tests.parser.inputClass" jsId="checkedObj" checked type="checkbox">
- <button dojoType="tests.parser.inputClass" jsId="disabledObj" disabled>hi</button>
- </body>
-</html>