UNPKG

can

Version:

MIT-licensed, client-side, JavaScript framework that makes building rich web applications easy.

94 lines (84 loc) 2.7 kB
<html> <head> <script type="text/javascript" src="../../../dojo.js" data-dojo-config="isDebug:1, async:1"></script> <script type="text/javascript"> require(["dojo", "doh"], function(dojo, doh) { dojo.ready(function(){ doh.register("config-event", [ function expectDojoConfig(t) { var expectedConfig1, expectedConfig2, called1, called2, savedRawConfig, configListener1= function(config, rawConfig){ called1= true; savedRawConfig= rawConfig; t.is(config, expectedConfig1); }, configListener2= function(config, rawConfig){ called2= true; savedRawConfig= rawConfig; t.is(config, expectedConfig2); }; var configListeners = require.listenerQueues.config || (require.listenerQueues.config = []); listenerCount= configListeners.length, h1= require.on("config", configListener1), h2= require.on("config", configListener2); t.is(configListeners.length, listenerCount+2); t.is(configListeners[listenerCount], configListener1); t.is(configListeners[listenerCount+1], configListener2); expectedConfig1= expectedConfig2= { someFeature:1 }; called1= called2= 0; require(expectedConfig1); t.t(called1); t.t(called2); h1.remove(); t.is(configListeners.length, listenerCount+1); t.is(configListeners[listenerCount], configListener2); expectedConfig1= expectedConfig2= { someFeature:0, someOtherFeature:1 }; called1= called2= 0; require(expectedConfig1); t.is(called1, 0); t.t(called2); t.is(savedRawConfig.someFeature, 0); t.is(savedRawConfig.someOtherFeature, 1); h2.remove(); require({async:1}); t.is(require.async, true); t.is(require.legacyMode, false); require({async:true}); t.is(require.async, true); t.is(require.legacyMode, false); require({async:2}); t.is(require.async, true); t.is(require.legacyMode, false); require({async:"nonsense"}); t.is(require.async, true); t.is(require.legacyMode, false); require({async:0}); t.is(require.async, false); t.is(require.legacyMode, "sync"); require({async:false}); t.is(require.async, false); t.is(require.legacyMode, "sync"); require({async:"sync"}); t.is(require.async, false); t.is(require.legacyMode, "sync"); require({async:"legacyAsync"}); t.is(require.async, false); t.is(require.legacyMode, "legacyAsync"); } ]); doh.runOnLoad(); }); }); </script> </head> <body> </body> </html>