diff --git a/spec/helpers/defineJasmineUnderTest.js b/spec/helpers/defineJasmineUnderTest.js new file mode 100644 index 00000000..3fac8f90 --- /dev/null +++ b/spec/helpers/defineJasmineUnderTest.js @@ -0,0 +1,7 @@ +(function() { + // By the time onload is called, jasmineRequire will be redefined to point + // to the Jasmine source files (and not jasmine.js). So re-require + window.j$ = jasmineRequire.core(jasmineRequire); + jasmineRequire.html(j$); + jasmineRequire.console(jasmineRequire, j$); +})(); diff --git a/spec/html/HtmlReporterSpec.js b/spec/html/HtmlReporterSpec.js index 052e33cf..0919f3ed 100644 --- a/spec/html/HtmlReporterSpec.js +++ b/spec/html/HtmlReporterSpec.js @@ -34,7 +34,7 @@ describe("New HtmlReporter", function() { it("starts the timer when jasmine begins", function() { var env = new jasmine.Env(), startTimerSpy = jasmine.createSpy("start-timer-spy"), - reporter = new jasmine.HtmlReporter({ + reporter = new j$.HtmlReporter({ env: env, createElement: function() { return document.createElement.apply(document, arguments); }, timer: { start: startTimerSpy } diff --git a/spec/support/dev_boot.js b/spec/support/dev_boot.js deleted file mode 100644 index 07b76cf6..00000000 --- a/spec/support/dev_boot.js +++ /dev/null @@ -1,124 +0,0 @@ -// Jasmine boot.js for browser runners - exposes external/global interface, builds the Jasmine environment and executes it. -(function() { - - window.jasmine = jasmineRequire.core(jasmineRequire); - jasmineRequire.html(jasmine); - - var env = jasmine.getEnv(); - - var jasmineInterface = { - describe: function(description, specDefinitions) { - return env.describe(description, specDefinitions); - }, - - xdescribe: function(description, specDefinitions) { - return env.xdescribe(description, specDefinitions); - }, - - it: function(desc, func) { - return env.it(desc, func); - }, - - xit: function(desc, func) { - return env.xit(desc, func); - }, - - beforeEach: function(beforeEachFunction) { - return env.beforeEach(beforeEachFunction); - }, - - afterEach: function(afterEachFunction) { - return env.afterEach(afterEachFunction); - }, - - expect: function(actual) { - return env.expect(actual); - }, - - pending: function() { - return env.pending(); - }, - - spyOn: function(obj, methodName) { - return env.spyOn(obj, methodName); - }, - - jsApiReporter: new jasmine.JsApiReporter({ - timer: new jasmine.Timer() - }) - }; - - if (typeof window == "undefined" && typeof exports == "object") { - extend(exports, jasmineInterface); - } else { - extend(window, jasmineInterface); - } - - jasmine.addCustomEqualityTester = function(tester) { - env.addCustomEqualityTester(tester); - }; - - jasmine.addMatchers = function(matchers) { - return env.addMatchers(matchers); - }; - - jasmine.clock = function() { - return env.clock; - }; - - var queryString = new jasmine.QueryString({ - getWindowLocation: function() { return window.location; } - }); - - // TODO: move all of catching to raise so we don't break our brains - var catchingExceptions = queryString.getParam("catch"); - env.catchExceptions(typeof catchingExceptions === "undefined" ? true : catchingExceptions); - - var htmlReporter = new jasmine.HtmlReporter({ - env: env, - onRaiseExceptionsClick: function() { queryString.setParam("catch", !env.catchingExceptions()); }, - getContainer: function() { return document.body; }, - createElement: function() { return document.createElement.apply(document, arguments); }, - createTextNode: function() { return document.createTextNode.apply(document, arguments); }, - timer: new jasmine.Timer() - }); - - env.addReporter(jasmineInterface.jsApiReporter); - env.addReporter(htmlReporter); - - var specFilter = new jasmine.HtmlSpecFilter({ - filterString: function() { return queryString.getParam("spec"); } - }); - - env.specFilter = function(spec) { - return specFilter.matches(spec.getFullName()); - }; - - window.setTimeout = window.setTimeout; - window.setInterval = window.setInterval; - window.clearTimeout = window.clearTimeout; - window.clearInterval = window.clearInterval; - - var currentWindowOnload = window.onload; - - window.onload = function() { - if (currentWindowOnload) { - currentWindowOnload(); - } - htmlReporter.initialize(); - - // By the time onload is called, jasmineRequire will be redefined to point - // to the Jasmine source files (and not jasmine.js). So re-require - window.j$ = jasmineRequire.core(jasmineRequire); - jasmineRequire.html(j$); - jasmineRequire.console(jasmineRequire, j$); - - env.execute(); - }; - - function extend(destination, source) { - for (var property in source) destination[property] = source[property]; - return destination; - } - -}()); diff --git a/spec/support/jasmine.yml b/spec/support/jasmine.yml index 701b4fa5..ec89b429 100644 --- a/spec/support/jasmine.yml +++ b/spec/support/jasmine.yml @@ -15,9 +15,6 @@ src_files: - 'html/**.js' - '**/*.js' stylesheets: -boot_dir: 'spec/support' -boot_files: - - 'dev_boot.js' helpers: - 'helpers/**/*.js' spec_files: