diff options
Diffstat (limited to 'includes/js/dojo/tests/_base.js')
-rw-r--r-- | includes/js/dojo/tests/_base.js | 136 |
1 files changed, 136 insertions, 0 deletions
diff --git a/includes/js/dojo/tests/_base.js b/includes/js/dojo/tests/_base.js new file mode 100644 index 0000000..7bc5301 --- /dev/null +++ b/includes/js/dojo/tests/_base.js @@ -0,0 +1,136 @@ +if(!dojo._hasResource["tests._base"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. +dojo._hasResource["tests._base"] = true; +var testGlobal = this; +try{ + dojo.provide("tests._base"); + testGlobal = dojo.global; +}catch(e){ } + +// the test suite for the bootstrap. Requires hostenv and other base tests at +// the end + +if(doh.selfTest){ + + doh.register("doh.smokeTest", + [ + function sanityCheckHarness(t){ + // sanity checks + t.assertTrue(true); + t.assertFalse(false); + t.assertFalse(0); + t.assertFalse(null); + var tObj = { w00t: false, blarg: true }; + t.assertEqual( + ["thinger", "blah", tObj], + ["thinger", "blah", tObj] + ); + t.assertEqual(tObj, tObj); + }, + /* + // uncomment to tests exception handling + function sanityCheckassertTrue(t){ + // should throw an error + t.assertTrue(false); + }, + function sanityCheckassertFalse(t){ + // should throw an error + t.assertFalse(true); + }, + function sanityCheckassertEqual(t){ + // should throw an error + t.assertEqual("foo", "bar"); + }, + */ + { + name: "eqTest", + // smoke test the fixture system + setUp: function(t){ + this.foo = "blah"; + }, + runTest: function(t){ + t.assertEqual("blah", this.foo); + }, + tearDown: function(t){ + } + } + ] + ); + + if(testGlobal["dojo"]){ + doh.register("tests._base", + [ + function dojoIsAvailable(t){ + t.assertTrue(testGlobal["dojo"]); + } + ] + ); + } + + if(testGlobal["setTimeout"]){ + // a stone-stupid async test + doh.register("tests.async", + [ + { + name: "deferredSuccess", + runTest: function(t){ + var d = new doh.Deferred(); + setTimeout(d.getTestCallback(function(){ + t.assertTrue(true); + t.assertFalse(false); + }), 50); + return d; + } + }, + { + name: "deferredFailure", + runTest: function(t){ + var d = new doh.Deferred(); + setTimeout(function(){ + d.errback(new Error("hrm...")); + }, 50); + return d; + } + }, + { + name: "timeoutFailure", + timeout: 50, + runTest: function(t){ + // timeout of 50 + var d = new doh.Deferred(); + setTimeout(function(){ + d.callback(true); + }, 100); + return d; + } + } + ] + ); + } +} + +try{ + // go grab the others + dojo.require("tests._base._loader.bootstrap"); + dojo.require("tests._base._loader.loader"); + dojo.platformRequire({ + browser: ["tests._base._loader.hostenv_browser"], + rhino: ["tests._base._loader.hostenv_rhino"], + spidermonkey: ["tests._base._loader.hostenv_spidermonkey"] + }); + dojo.require("tests._base.array"); + dojo.require("tests._base.Color"); + dojo.require("tests._base.lang"); + dojo.require("tests._base.declare"); + dojo.require("tests._base.connect"); + dojo.require("tests._base.Deferred"); + dojo.require("tests._base.json"); + // FIXME: add test includes for the rest of the Dojo Base groups here + dojo.requireIf(dojo.isBrowser, "tests._base.html"); + dojo.requireIf(dojo.isBrowser, "tests._base.fx"); + dojo.requireIf(dojo.isBrowser, "tests._base.query"); + dojo.requireIf(dojo.isBrowser, "tests._base.xhr"); +}catch(e){ + doh.debug(e); +} + +} |