diff options
Diffstat (limited to 'src/scenario/bootstrap.js')
| -rw-r--r-- | src/scenario/bootstrap.js | 62 |
1 files changed, 44 insertions, 18 deletions
diff --git a/src/scenario/bootstrap.js b/src/scenario/bootstrap.js index f74305c3..014c636d 100644 --- a/src/scenario/bootstrap.js +++ b/src/scenario/bootstrap.js @@ -1,4 +1,4 @@ -(function(onLoadDelegate){ +(function(previousOnLoad){ var prefix = (function(){ var filename = /(.*\/)bootstrap.js(#(.*))?/; var scripts = document.getElementsByTagName("script"); @@ -10,6 +10,7 @@ } } })(); + function addScript(path) { document.write('<script type="text/javascript" src="' + prefix + path + '"></script>'); } @@ -18,26 +19,51 @@ document.write('<link rel="stylesheet" type="text/css" href="' + prefix + path + '"/>'); } - window.angular = { - scenario: { - dsl: window - } - }; - window.onload = function(){ - setTimeout(function(){ - $scenarioRunner.run(jQuery(window.document.body)); - }, 0); - (onLoadDelegate||function(){})(); + try { + if (previousOnLoad) previousOnLoad(); + } catch(e) {} + _jQuery(document.body).append( + '<div id="runner"></div>' + + '<div id="frame"></div>' + ); + var frame = _jQuery('#frame'); + var runner = _jQuery('#runner'); + var application = new angular.scenario.Application(frame); + var ui = new angular.scenario.ui.Html(runner); + $scenario.run(ui, application, angular.scenario.SpecRunner, function(error) { + frame.remove(); + if (error) { + if (window.console) { + console.log(error.stack || error); + } else { + // Do something for IE + alert(error); + } + } + }); }; + addCSS("../../css/angular-scenario.css"); addScript("../../lib/jquery/jquery-1.4.2.js"); + addScript("../angular-bootstrap.js"); + + addScript("Scenario.js"); + addScript("Application.js"); + addScript("Describe.js"); + addScript("Future.js"); + addScript("HtmlUI.js"); addScript("Runner.js"); - addScript("../Angular.js"); - addScript("../JSON.js"); - addScript("DSL.js"); - document.write('<script type="text/javascript">' + - '$scenarioRunner = new angular.scenario.Runner(window, jQuery);' + - '</script>'); -})(window.onload); + addScript("SpecRunner.js"); + addScript("dsl.js"); + addScript("matchers.js"); + // Create the runner (which also sets up the global API) + document.write( + '<script type="text/javascript">' + + 'var _jQuery = jQuery.noConflict(true);' + + 'var $scenario = new angular.scenario.Runner(window);' + + '</script>' + ); + +})(window.onload); |
