<html> <head> <script> // The "loader" package depends on the package "pkg"; the application also // depends on the package "pkg", but configured in a different way. Therefore, solve // the problem by mapping "pkg" as seen by "loader" to "pkgMapped". Then configure // the packages "pkg" and "pkgMapped" differently. // // At the app (global) level, config can be accomplished via the names "pkg" and "pkgMapped". // Notice also that "pkg" does some of it's own configuration based on user configuration. // This tests the ability to configure a mapped package. var dojoConfig = { async:1, baseUrl:"../../../../..", packages:[{ name:"loader", location:"dojo/tests/_base/loader/config", packageMap:{ "pkg":"pkgMapped" } },{ name:"pkg", location:"dojo/tests/_base/loader/config/pkg" },{ name:"pkgMapped", location:"dojo/tests/_base/loader/config/pkg", packageMap:{ "pkg":"pkgMapped" } },{ name:"dojo", location:"dojo" },{ name:"doh", location:"util/doh" }], config:{ "loader/someModuleConfiggedPriorToBoot":{someConfig:"this is the config for someModuleConfiggedPriorToBoot"} }, deps:["doh"], callback:function(doh){ var master = new doh.Deferred(), waiting = 2; doh.register( "require.config", [ { name: "require.config", timeout: 5000, runTest: function() { return master; } } ] ); doh.run(); require({config:{ "loader/someModule":{someConfig:"this is the config for someModule-someConfig"}, "pkgMapped/m1":{globalConfig:"globalConfigForpkgMapped/m1", isMapped:true}, "pkgMapped/m2":{globalConfig:"globalConfigForpkgMapped/m2"} }}); require(["loader/someModuleConfiggedPriorToBoot", "loader/someModule"], function(someModuleConfiggedPriorToBoot, someModule){ doh.is(someModuleConfiggedPriorToBoot.getConfig(), { someConfig:"this is the config for someModuleConfiggedPriorToBoot"}); doh.is(someModule.getConfig(), { someConfig:"this is the config for someModule-someConfig"}); doh.is(someModule.m1.getConfig(), { globalConfig:"globalConfigForpkgMapped/m1", isMapped:true, configThroughMappedRefForM1:"configThroughMappedRefForM1"}); doh.is(someModule.m2.getConfig(), { globalConfig:"globalConfigForpkgMapped/m2", configThroughMappedRefForM1:"configThroughMappedRefForM1", config1:"mapped-config1", config2:"mapped-config2", config3:"mapped-config3" }); setTimeout(function(){ require({ config:{ "loader/someModule":{ someMoreConfig:"this is the config for someModule-someMoreConfig" } } }); require(["loader/someModule"], function(someModule){ doh.is(someModule.getConfig(), { someConfig:"this is the config for someModule-someConfig", someMoreConfig:"this is the config for someModule-someMoreConfig" }); if(!(--waiting)){ master.callback(true); } }); }, 10); }); require({config:{ "pkg/m1":{globalConfig:"globalConfigForM1"}, "pkg/m2":{globalConfig:"globalConfigForM2"} }},["pkg/m1", "pkg/m2"], function(m1, m2){ doh.is(m1.getConfig(), { globalConfig:"globalConfigForM1"}); doh.is(m2.getConfig(), { globalConfig:"globalConfigForM2", config1:"config1", config2:"config2", config3:"config3" }); if(!(--waiting)){ master.callback(true); } }); doh.run(); } }; </script> <script src="../../../../dojo.js"></script> </head> </html>