Updated
This commit is contained in:
@@ -0,0 +1,290 @@
|
||||
<html>
|
||||
<head>
|
||||
<script type="text/javascript">
|
||||
var dohArgs= (window.parent.doh && window.parent.doh.dohArgs) || {async:0, variation:2};
|
||||
|
||||
// for test debuggin...
|
||||
//dohArgs = {async:0, variation:1}
|
||||
//dohArgs = {async:"legacyAsync", variation:1}
|
||||
//dohArgs = {async:0, variation:2}
|
||||
//dohArgs = {async:"legacyAsync", variation:2}
|
||||
|
||||
var dojoConfig = {
|
||||
async:dohArgs.async
|
||||
}
|
||||
var expectedSequence;
|
||||
|
||||
var built = 1;
|
||||
//>>excludeStart("srcVersion", kwArgs.copyTests=="build");
|
||||
built = 0;
|
||||
//>>excludeEnd("srcVersion");
|
||||
if((dohArgs.async=="legacyAsync" || built) && dohArgs.variation==2){
|
||||
expectedSequence = [
|
||||
"local1-5",
|
||||
"local1-17",
|
||||
"local2-1",
|
||||
"local2-2",
|
||||
"local2-3",
|
||||
"local3-1",
|
||||
"local3-2",
|
||||
"local1-1",
|
||||
"local1-2",
|
||||
"local1-3",
|
||||
"local1-dep-1",
|
||||
"local1-dep-2",
|
||||
"local1-4",
|
||||
"local1-6",
|
||||
"dojo.tests._base.loader.xdomain.local1-runtimeDependent1-1",
|
||||
"dojo.tests._base.loader.xdomain.local1-runtimeDependent1-2",
|
||||
"local1-7",
|
||||
"local1-8",
|
||||
"dojo.tests._base.loader.xdomain.local1-browser-1",
|
||||
"dojo.tests._base.loader.xdomain.local1-browser-2",
|
||||
"dojo.tests._base.loader.xdomain.local1-browser-skip-1",
|
||||
"local1-9",
|
||||
"local1-10",
|
||||
"local1-11",
|
||||
"local1-12",
|
||||
"local1-13",
|
||||
"local1-14",
|
||||
"local1-15",
|
||||
"local1-16",
|
||||
"local1-18",
|
||||
"local3-3",
|
||||
"local2-4"].join(";");
|
||||
}else if(dohArgs.async==0 && dohArgs.variation==2){
|
||||
expectedSequence = [
|
||||
"local2-1",
|
||||
"local2-2",
|
||||
"local2-3",
|
||||
"local2-4",
|
||||
"local1-5",
|
||||
"local1-17",
|
||||
"local3-1",
|
||||
"local3-2",
|
||||
"local1-1",
|
||||
"local1-2",
|
||||
"local1-3",
|
||||
"local1-dep-1",
|
||||
"local1-dep-2",
|
||||
"local1-4",
|
||||
"local1-6",
|
||||
"dojo.tests._base.loader.xdomain.local1-runtimeDependent1-1",
|
||||
"dojo.tests._base.loader.xdomain.local1-runtimeDependent1-2",
|
||||
"local1-7",
|
||||
"local1-8",
|
||||
"dojo.tests._base.loader.xdomain.local1-browser-1",
|
||||
"dojo.tests._base.loader.xdomain.local1-browser-2",
|
||||
"dojo.tests._base.loader.xdomain.local1-browser-skip-1",
|
||||
"local1-9",
|
||||
"local1-10",
|
||||
"local1-11",
|
||||
"local1-12",
|
||||
"local1-13",
|
||||
"local1-14",
|
||||
"local1-15",
|
||||
"local1-16",
|
||||
"local1-18",
|
||||
"local3-3"].join(";");
|
||||
}else if((dohArgs.async=="legacyAsync" || built) && dohArgs.variation==1){
|
||||
expectedSequence = [
|
||||
"local1-5",
|
||||
"local1-17",
|
||||
"local1-1",
|
||||
"local1-2",
|
||||
"local1-3",
|
||||
"local1-dep-1",
|
||||
"local1-dep-2",
|
||||
"local1-4",
|
||||
"local1-6",
|
||||
"dojo.tests._base.loader.xdomain.local1-runtimeDependent1-1",
|
||||
"dojo.tests._base.loader.xdomain.local1-runtimeDependent1-2",
|
||||
"local1-7",
|
||||
"local1-8",
|
||||
"dojo.tests._base.loader.xdomain.local1-browser-1",
|
||||
"dojo.tests._base.loader.xdomain.local1-browser-2",
|
||||
"dojo.tests._base.loader.xdomain.local1-browser-skip-1",
|
||||
"local1-9",
|
||||
"local1-10",
|
||||
"local1-11",
|
||||
"local1-12",
|
||||
"local1-13",
|
||||
"local1-14",
|
||||
"local1-15",
|
||||
"local1-16",
|
||||
"local1-18"].join(";");
|
||||
}else if(dohArgs.async==0 && dohArgs.variation==1){
|
||||
expectedSequence = [
|
||||
"local1-1",
|
||||
"local1-2",
|
||||
"local1-3",
|
||||
"local1-4",
|
||||
"local1-5",
|
||||
"local1-6",
|
||||
"local1-7",
|
||||
"local1-8",
|
||||
"local1-9",
|
||||
"local1-10",
|
||||
"local1-11",
|
||||
"local1-12",
|
||||
"local1-13",
|
||||
"local1-14",
|
||||
"local1-15",
|
||||
"local1-16",
|
||||
"local1-17",
|
||||
"local1-18",
|
||||
"local1-dep-1",
|
||||
"local1-dep-2",
|
||||
"dojo.tests._base.loader.xdomain.local1-runtimeDependent1-1",
|
||||
"dojo.tests._base.loader.xdomain.local1-runtimeDependent1-2",
|
||||
"dojo.tests._base.loader.xdomain.local1-browser-1",
|
||||
"dojo.tests._base.loader.xdomain.local1-browser-2",
|
||||
"dojo.tests._base.loader.xdomain.local1-browser-skip-1"].join(";");
|
||||
}
|
||||
</script>
|
||||
<script type="text/javascript" src="../../../../dojo.js"></script>
|
||||
<script type="text/javascript">
|
||||
define("dijit", ["dojo"], function(dojo){ return dojo.dijit; });
|
||||
define("dojox", ["dojo"], function(dojo){ return dojo.dojox; });
|
||||
|
||||
|
||||
|
||||
var xdomainLog= [], xdomainExecSequence= [];
|
||||
|
||||
require(["dojo", "doh", "dojo/has"], function(dojo, doh, has){
|
||||
if(!("legacyMode" in require)){
|
||||
doh.register("xdomain", function(t){
|
||||
t.is("dojotoolkit.org", define.vendor);
|
||||
t.is(true, "legacyMode" in require);
|
||||
});
|
||||
doh.runOnLoad();
|
||||
return;
|
||||
}
|
||||
|
||||
// pretend that everything except the stuff in dojo/tests/_base/loader/xdomain is xdomain
|
||||
require.isXdUrl = function(url){
|
||||
return !/loader\/xdomain/.test(url);
|
||||
};
|
||||
|
||||
// each of these dojo.requires a xdomain module which puts the loader in xdomain loading mode,
|
||||
// then dojo.requires a local tree of modules with various loading challenges. Many of the loading
|
||||
// challenges are in local1; therefore we test when that module causes the xdomain shift and when
|
||||
// the loader is already in xdomain when that module is demanded
|
||||
if(dohArgs.variation==1){
|
||||
dojo.require("dojo.tests._base.loader.xdomain.local1");
|
||||
//>>excludeStart("srcVersion", kwArgs.copyTests=="build");
|
||||
if(dohArgs.async==0){
|
||||
// can't stop the local module from completely executing...
|
||||
xdomainLog.push(11, dojo.tests._base.loader.xdomain.local1==="stepOnLocal1");
|
||||
xdomainLog.push(12, dojo.require("dojo.tests._base.loader.xdomain.local1")==="stepOnLocal1");
|
||||
xdomainLog.push(13, require("dojo/tests/_base/loader/xdomain/local1")==="stepOnLocal1");
|
||||
}else{
|
||||
xdomainLog.push(11, dojo.getObject("dojo.tests._base.loader.xdomain.local1")===undefined);
|
||||
}
|
||||
//>>excludeEnd("srcVersion");
|
||||
}else{
|
||||
dojo.require("dojo.tests._base.loader.xdomain.local2");
|
||||
//>>excludeStart("srcVersion", kwArgs.copyTests=="build");
|
||||
if(dohArgs.async==0){
|
||||
// can't stop the local module from completely executing...
|
||||
xdomainLog.push(11, dojo.tests._base.loader.xdomain.local2.status==="local2-loaded");
|
||||
xdomainLog.push(12, dojo.require("dojo.tests._base.loader.xdomain.local2").status==="local2-loaded");
|
||||
xdomainLog.push(13, require("dojo/tests/_base/loader/xdomain/local2").status==="local2-loaded");
|
||||
}else{
|
||||
xdomainLog.push(11, dojo.getObject("dojo.tests._base.loader.xdomain.local2")===undefined);
|
||||
}
|
||||
xdomainLog.push(16, dojo.getObject("dojo.tests._base.loader.xdomain.local1")===undefined);
|
||||
if(dojo.isIE!=6){
|
||||
try{
|
||||
require("dojo/tests/_base/loader/xdomain/local1");
|
||||
xdomainLog.push(19, false);
|
||||
}catch(e){
|
||||
xdomainLog.push(19, true);
|
||||
}
|
||||
}
|
||||
//>>excludeEnd("srcVersion");
|
||||
}
|
||||
|
||||
|
||||
// but none of the modules after going into xdomain loading should be executed
|
||||
// (WARNING: ie might look different because of its strange caching behavior)
|
||||
xdomainLog.push(14, (dojo.hash===undefined));
|
||||
xdomainLog.push(15, (dojo.cookie===undefined));
|
||||
xdomainLog.push(17, dojo.getObject("dojo.tests._base.loader.xdomain.local3")===undefined);
|
||||
if(dojo.isIE!=6){
|
||||
try{
|
||||
require("dojo/tests/_base/loader/xdomain/local3");
|
||||
xdomainLog.push(18, false);
|
||||
}catch(e){
|
||||
xdomainLog.push(18, true);
|
||||
}
|
||||
}
|
||||
|
||||
doh.register("xdomain", function(t){
|
||||
//console.log(xdomainExecSequence.join(";"));
|
||||
for(var i= 0; i<xdomainLog.length; i+= 2){
|
||||
t.is(true, xdomainLog[i+1], "failed at id="+xdomainLog[i]);
|
||||
}
|
||||
|
||||
t.is(expectedSequence, xdomainExecSequence.join(";"));
|
||||
|
||||
t.is("stepOnLocal1", dojo.tests._base.loader.xdomain.local1);
|
||||
t.is("stepOnLocal1", dojo.getObject("dojo.tests._base.loader.xdomain.local1"));
|
||||
t.is("stepOnLocal1", dojo.require("dojo.tests._base.loader.xdomain.local1"));
|
||||
t.is("stepOnLocal1", require("dojo/tests/_base/loader/xdomain/local1"));
|
||||
|
||||
t.is("stepOn1SteppedOn", dojo.tests._base.loader.xdomain.local1SteppedOn);
|
||||
t.is("stepOn1SteppedOn", dojo.getObject("dojo.tests._base.loader.xdomain.local1SteppedOn"));
|
||||
t.is("stepOn1SteppedOn", dojo.require("dojo.tests._base.loader.xdomain.local1SteppedOn"));
|
||||
t.is("stepOn1SteppedOn", require("dojo/tests/_base/loader/xdomain/local1SteppedOn"));
|
||||
|
||||
t.is("local1NotSteppedOn", dojo.tests._base.loader.xdomain.local1NotSteppedOn.status);
|
||||
t.is("local1NotSteppedOn", dojo.getObject("dojo.tests._base.loader.xdomain.local1NotSteppedOn.status"));
|
||||
t.is("local1NotSteppedOn", dojo.require("dojo.tests._base.loader.xdomain.local1NotSteppedOn").status);
|
||||
t.is("local1NotSteppedOn", require("dojo/tests/_base/loader/xdomain/local1NotSteppedOn").status);
|
||||
|
||||
t.is("dojo.tests._base.loader.xdomain.local1-dep-ok", dojo.tests._base.loader.xdomain["local1-dep"].status);
|
||||
t.is("dojo.tests._base.loader.xdomain.local1-dep-ok", dojo.getObject("dojo.tests._base.loader.xdomain.local1-dep.status"));
|
||||
t.is("dojo.tests._base.loader.xdomain.local1-dep-ok", dojo.require("dojo.tests._base.loader.xdomain.local1-dep").status);
|
||||
t.is("dojo.tests._base.loader.xdomain.local1-dep-ok", require("dojo/tests/_base/loader/xdomain/local1-dep").status);
|
||||
|
||||
t.is("dojo.tests._base.loader.xdomain.local1-runtimeDependent1-ok", dojo.tests._base.loader.xdomain["local1-runtimeDependent1"].status);
|
||||
t.is("dojo.tests._base.loader.xdomain.local1-runtimeDependent1-ok", dojo.getObject("dojo.tests._base.loader.xdomain.local1-runtimeDependent1.status"));
|
||||
t.is("dojo.tests._base.loader.xdomain.local1-runtimeDependent1-ok", dojo.require("dojo.tests._base.loader.xdomain.local1-runtimeDependent1").status);
|
||||
t.is("dojo.tests._base.loader.xdomain.local1-runtimeDependent1-ok", require("dojo/tests/_base/loader/xdomain/local1-runtimeDependent1").status);
|
||||
|
||||
t.is("ok", dojo.getObject("dojo.tests._base.loader.xdomain.local1-runtimeDependent").status);
|
||||
|
||||
t.is(undefined, dojo.tests._base.loader.xdomain["local1-runtimeDependent2"]);
|
||||
t.is(undefined, dojo.getObject("dojo.tests._base.loader.xdomain.local1-runtimeDependent2"));
|
||||
try{
|
||||
require("dojo/tests/_base/loader/xdomain/local1/runtimeDependent2");
|
||||
t.is(1, 0);
|
||||
}catch(e){
|
||||
t.is(1, 1);
|
||||
}
|
||||
|
||||
t.is("dojo.tests._base.loader.xdomain.local1-browser-ok", dojo.tests._base.loader.xdomain["local1-browser"].status);
|
||||
t.is("dojo.tests._base.loader.xdomain.local1-browser-ok", dojo.getObject("dojo.tests._base.loader.xdomain.local1-browser.status"));
|
||||
t.is("dojo.tests._base.loader.xdomain.local1-browser-ok", dojo.require("dojo.tests._base.loader.xdomain.local1-browser").status);
|
||||
t.is("dojo.tests._base.loader.xdomain.local1-browser-ok", require("dojo/tests/_base/loader/xdomain/local1-browser").status);
|
||||
|
||||
t.isNot(undefined, dojo.cookie);
|
||||
t.is(dojo.cookie, dojo.getObject("dojo.cookie"));
|
||||
t.is(dojo.cookie, require("dojo/cookie"));
|
||||
|
||||
if(dohArgs.variation!=1){
|
||||
t.isNot(undefined, dojo.hash);
|
||||
t.is(dojo.hash, dojo.getObject("dojo.hash"));
|
||||
t.is(dojo.hash, require("dojo/hash"));
|
||||
}
|
||||
});
|
||||
doh.runOnLoad();
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>check console</h1>
|
||||
<p>This test loads a not-xdomain module that contains a xdomain and a not-xdomain module</p>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user