diff options
Diffstat (limited to 'includes/js/dojox/dtl/tests/context.js')
-rw-r--r-- | includes/js/dojox/dtl/tests/context.js | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/includes/js/dojox/dtl/tests/context.js b/includes/js/dojox/dtl/tests/context.js new file mode 100644 index 0000000..a366098 --- /dev/null +++ b/includes/js/dojox/dtl/tests/context.js @@ -0,0 +1,79 @@ +if(!dojo._hasResource["dojox.dtl.tests.context"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. +dojo._hasResource["dojox.dtl.tests.context"] = true; +dojo.provide("dojox.dtl.tests.context"); + +dojo.require("dojox.dtl"); +dojo.require("dojox.dtl.Context"); + +doh.register("dojox.dtl.context", + [ + function test_context_creation(t){ + var context = new dojox.dtl.Context({ foo: "foo", bar: "bar" }); + t.is("foo", context.foo); + t.is("bar", context.bar); + }, + function test_context_push(t){ + var context = new dojox.dtl.Context({ foo: "foo", bar: "bar" }); + context.push(); + for(var key in context._dicts[0]){ + t.t(key == "foo" || key == "bar"); + } + }, + function test_context_pop(t){ + var context = new dojox.dtl.Context({ foo: "foo", bar: "bar" }); + context.push(); + t.is("undefined", typeof context.foo); + t.is("undefined", typeof context.bar); + context.pop(); + t.is("foo", context.foo); + t.is("bar", context.bar); + }, + function test_context_overpop(t){ + var context = new dojox.dtl.Context(); + try{ + context.pop(); + t.t(false); + }catch(e){ + t.is("pop() called on empty Context", e.message); + } + }, + function test_context_filter(t){ + var context = new dojox.dtl.Context({ foo: "one", bar: "two", baz: "three" }); + var filtered = context.filter("foo", "bar"); + t.is(filtered.foo, "one"); + t.is(filtered.bar, "two"); + t.f(filtered.baz); + + filtered = context.filter({ bar: true, baz: true }); + t.f(filtered.foo); + t.is(filtered.bar, "two"); + t.is(filtered.baz, "three"); + + filtered = context.filter(new dojox.dtl.Context({ foo: true, baz: true })); + t.is(filtered.foo, "one"); + t.f(filtered.bar); + t.is(filtered.baz, "three"); + }, + function test_context_extend(t){ + var context = new dojox.dtl.Context({ foo: "one" }); + var extended = context.extend({ bar: "two", baz: "three" }); + t.is(extended.foo, "one"); + t.is(extended.bar, "two"); + t.is(extended.baz, "three"); + + extended = context.extend({ barr: "two", bazz: "three" }); + t.is(extended.foo, "one"); + t.f(extended.bar); + t.f(extended.baz); + t.is(extended.barr, "two"); + t.is(extended.bazz, "three"); + + t.f(context.bar) + t.f(context.baz); + t.f(context.barr); + t.f(context.bazz); + } + ] +); + +} |