diff --git a/spec/atom-environment-spec.coffee b/spec/atom-environment-spec.coffee index 5afb5169b..7aaed602b 100644 --- a/spec/atom-environment-spec.coffee +++ b/spec/atom-environment-spec.coffee @@ -152,6 +152,8 @@ describe "AtomEnvironment", -> atom.enablePersistence = false it "selects the state based on the current project paths", -> + jasmine.useRealClock() + [dir1, dir2] = [temp.mkdirSync("dir1-"), temp.mkdirSync("dir2-")] loadSettings = _.extend atom.getLoadSettings(), @@ -163,6 +165,11 @@ describe "AtomEnvironment", -> spyOn(atom, 'deserialize') atom.project.setPaths([dir1, dir2]) + # State persistence will fail if other Atom instances are running + waitsForPromise -> + atom.stateStore.connect().then (isConnected) -> + expect(isConnected).toBe true + waitsForPromise -> atom.saveState().then -> atom.loadState() diff --git a/src/state-store.js b/src/state-store.js index f5e687d4f..feefbbb34 100644 --- a/src/state-store.js +++ b/src/state-store.js @@ -19,6 +19,10 @@ class StateStore { }) } + connect () { + return this.dbPromise.then(db => !!db) + } + save (key, value) { return this.dbPromise.then(db => { if (!db) {