Plato on Github
Report Home
dojo/testsDOH/_base/loader/bootstrap.js
Maintainability
64.45
Lines of code
157
Difficulty
33.47
Estimated Errors
1.76
Function weight
By Complexity
By SLOC
define(["dojo", "doh", "../../../_base/sniff", "require"], function(dojo, doh, has, require){ doh.register("testsDOH._base._loader.bootstrap", [ function hasConsole(t){ t.assertTrue("console" in dojo.global); t.assertTrue("assert" in console); t.assertEqual("function", typeof console.assert); }, function getText(t){ if(require.getText){ var text = require.getText(require.toUrl("dojo/testsDOH/_base/loader/getText.txt")).replace(/\r|\n/g, ""); t.assertEqual("dojo._getText() test data", text); if(dojo._getText){ text = dojo._getText(require.toUrl("dojo/testsDOH/_base/loader/getText.txt")).replace(/\r|\n/g, ""); t.assertEqual("dojo._getText() test data", text); } } }, { name: "getObject", setUp: function(){ //Set an object in global scope. dojo.global.globalValue = { color: "blue", size: 20 }; //Set up an object in a specific scope. this.foo = { bar: { color: "red", size: 100 } }; }, runTest: function(t){ //Test for existing object using global as root path. var globalVar = dojo.getObject("globalValue"); t.is("object", (typeof globalVar)); t.assertEqual("blue", globalVar.color); t.assertEqual(20, globalVar.size); t.assertEqual("blue", dojo.getObject("globalValue.color")); //Test for non-existent object using global as root path. //Then create it. t.assertFalse(dojo.getObject("something.thatisNew")); t.assertTrue(typeof(dojo.getObject("something.thatisNew", true)) == "object"); //Test for existing object using another object as root path. var scopedVar = dojo.getObject("foo.bar", false, this); t.assertTrue(typeof(scopedVar) == "object"); t.assertEqual("red", scopedVar.color); t.assertEqual(100, scopedVar.size); t.assertEqual("red", dojo.getObject("foo.bar.color", true, this)); //Test for existing object using another object as root path. //Then create it. t.assertFalse(dojo.getObject("something.thatisNew", false, this)); t.assertTrue(typeof(dojo.getObject("something.thatisNew", true, this)) == "object"); }, tearDown: function(){ //Clean up global object that should not exist if //the test is re-run. try{ delete dojo.global.something; delete this.something; }catch(e){} } }, { name: "exists", setUp: function(){ this.foo = { bar: {}, baz: 0, bam: false, bal: "", ban: null }; }, runTest: function(t){ t.assertTrue(dojo.exists("foo.bar", this)); t.assertFalse(dojo.exists("foo.bar")); t.assertTrue(dojo.exists("foo.baz", this)); t.assertTrue(dojo.exists("foo.bal", this)); t.assertTrue(dojo.exists("foo.ban", this)); t.assertTrue(dojo.exists("foo.bam", this)); t.assertFalse(dojo.exists("foo.bat", this)); t.assertTrue(dojo.exists("a.b", { a:{ b:0 }})); t.assertFalse(dojo.exists("foo.bar.baz.bam.bap", this)); } }, function evalWorks(t){ t.assertTrue(dojo.eval("(true)")); t.assertFalse(dojo.eval("(false)")); if(!has("ie")){ // eval truly executes in global scope for non IE t.is(window.rawld, undefined); dojo.eval("var rawld = 3.14;"); t.assertEqual(rawld, 3.14); t.assertEqual(window.rawld, 3.14); window.rawld = undefined; }else{ // example of how to compensate for IE t.is(window.rawld, undefined); dojo.eval("window.rawld = 3.14;"); t.assertEqual(rawld, 3.14); t.assertEqual(window.rawld, 3.14); window.rawld = undefined; } }, function _mixin(t){ var a = { x: 1, y: function(){ return 2; }, z1: 99, w: 2, v: undefined }; var b = { x: 11, y: function(){ return 12; }, z2: 33, toString: function(){ return "bark!"; }, toLocaleString: function(){ return "le bark-s!"; }, w: undefined, v: undefined, u: undefined }; t.is(1, a.x); t.is(2, a.y()); t.is(99, a.z1); t.t("w" in a); t.is(2, a.w); t.t("v" in a); t.is(undefined, a.v); t.f("u" in a); dojo._mixin(a, b); t.is(11, a.x); t.is(12, a.y()); t.is("bark!", a.toString()); t.is("le bark-s!", a.toLocaleString()); t.is(99, a.z1); t.is(33, a.z2); t.t("w" in a); t.is(undefined, a.w); t.t("v" in a); t.is(undefined, a.v); t.t("u" in a); t.is(undefined, a.u); } ]); });