aboutsummaryrefslogtreecommitdiffstats
path: root/src/scenario/bootstrap.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/scenario/bootstrap.js')
-rw-r--r--src/scenario/bootstrap.js62
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);