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); }