diff --git a/spec/atom-environment-spec.coffee b/spec/atom-environment-spec.coffee index ecce91428..7edce76ce 100644 --- a/spec/atom-environment-spec.coffee +++ b/spec/atom-environment-spec.coffee @@ -213,7 +213,7 @@ describe "AtomEnvironment", -> describe "::unloadEditorWindow()", -> it "saves the serialized state of the window so it can be deserialized after reload", -> - atomEnvironment = new AtomEnvironment + atomEnvironment = new AtomEnvironment(setRepresentedFilename: ->) spyOn(atomEnvironment, 'saveStateSync') workspaceState = atomEnvironment.workspace.serialize() @@ -229,7 +229,7 @@ describe "AtomEnvironment", -> describe "::destroy()", -> it "unsubscribes from all buffers", -> - atomEnvironment = new AtomEnvironment + atomEnvironment = new AtomEnvironment(setRepresentedFilename: ->) waitsForPromise -> atomEnvironment.workspace.open("sample.js") diff --git a/spec/jasmine-test-runner.coffee b/spec/jasmine-test-runner.coffee index a245379e2..a8d165562 100644 --- a/spec/jasmine-test-runner.coffee +++ b/spec/jasmine-test-runner.coffee @@ -5,11 +5,17 @@ path = require 'path' ipc = require 'ipc' module.exports = ({logFile, headless, testPaths, buildAtomEnvironment}) -> - window.atom = buildAtomEnvironment() - window[key] = value for key, value of require '../vendor/jasmine' require 'jasmine-tagged' + # Allow document.title to be assigned in specs without screwing up spec window title + documentTitle = null + Object.defineProperty document, 'title', + get: -> documentTitle + set: (title) -> documentTitle = title + + window.atom = buildAtomEnvironment({setRepresentedFilename: jasmine.createSpy('setRepresentedFilename')}) + require './spec-helper' disableFocusMethods() if process.env.JANKY_SHA1 or process.env.CI requireSpecs(testPath) for testPath in testPaths diff --git a/spec/spec-helper.coffee b/spec/spec-helper.coffee index 7953563e7..a9446fa93 100644 --- a/spec/spec-helper.coffee +++ b/spec/spec-helper.coffee @@ -28,12 +28,6 @@ atom.packages.packageDirPaths.unshift(fixturePackagesPath) document.querySelector('html').style.overflow = 'auto' document.body.style.overflow = 'auto' -# Allow document.title to be assigned in specs without screwing up spec window title -documentTitle = null -Object.defineProperty document, 'title', - get: -> documentTitle - set: (title) -> documentTitle = title - Set.prototype.jasmineToString = -> result = "Set {" first = true @@ -112,7 +106,6 @@ beforeEach -> # make editor display updates synchronous TextEditorElement::setUpdatedSynchronously(true) - spyOn(atom, "setRepresentedFilename") spyOn(pathwatcher.File.prototype, "detectResurrectionAfterDelay").andCallFake -> @detectResurrection() spyOn(TextEditor.prototype, "shouldPromptToSave").andReturn false diff --git a/src/atom-environment.coffee b/src/atom-environment.coffee index a4acb57d0..a1619deec 100644 --- a/src/atom-environment.coffee +++ b/src/atom-environment.coffee @@ -104,7 +104,10 @@ class AtomEnvironment extends Model ### # Call .loadOrCreate instead - constructor: -> + constructor: (params={}) -> + {setRepresentedFilename} = params + @setRepresentedFilename = setRepresentedFilename if setRepresentedFilename? + @state = {version: @constructor.version} @loadTime = null diff --git a/src/initialize-test-window.coffee b/src/initialize-test-window.coffee index 4744f8544..28e22c0d6 100644 --- a/src/initialize-test-window.coffee +++ b/src/initialize-test-window.coffee @@ -42,7 +42,7 @@ try logFile: getWindowLoadSettings().logFile headless: getWindowLoadSettings().headless testPaths: getWindowLoadSettings().testPaths - buildAtomEnvironment: -> new AtomEnvironment + buildAtomEnvironment: (params) -> new AtomEnvironment(params) legacyTestRunner: legacyTestRunner }) catch error