mirror of
https://github.com/cypress-io/cypress.git
synced 2026-02-05 06:40:56 -06:00
server: pass through project path so state gets saved per-project
This commit is contained in:
@@ -85,7 +85,7 @@ module.exports = {
|
||||
}, resolve)
|
||||
|
||||
open: (browserName, url, options = {}, automation) ->
|
||||
savedState().get()
|
||||
savedState(options.projectPath).get()
|
||||
.then (state) =>
|
||||
@_render(url, state, options)
|
||||
.then (win) =>
|
||||
|
||||
@@ -3,7 +3,6 @@ fs = require("fs-extra")
|
||||
path = require("path")
|
||||
Promise = require("bluebird")
|
||||
log = require("debug")("cypress:server:browsers")
|
||||
savedState = require("../saved_state")
|
||||
utils = require("./utils")
|
||||
errors = require("../errors")
|
||||
|
||||
|
||||
@@ -86,6 +86,7 @@ handleEvent = (options, bus, event, id, type, arg) ->
|
||||
when "launch:browser"
|
||||
# headless.createWindows(arg, true)
|
||||
openProject.launch(arg.browser, arg.spec, {
|
||||
projectPath: options.projectPath
|
||||
onBrowserOpen: ->
|
||||
send({browserOpened: true})
|
||||
onBrowserClose: ->
|
||||
|
||||
@@ -171,7 +171,7 @@ module.exports = {
|
||||
options.onNewWindow.apply(win, arguments)
|
||||
|
||||
if ts = options.trackState
|
||||
@trackState(win, ts)
|
||||
@trackState(options.projectPath, win, ts)
|
||||
|
||||
## open dev tools if they're true
|
||||
if options.devTools
|
||||
@@ -281,7 +281,7 @@ module.exports = {
|
||||
else
|
||||
Promise.resolve(win)
|
||||
|
||||
trackState: (win, keys) ->
|
||||
trackState: (projectPath, win, keys) ->
|
||||
isDestroyed = ->
|
||||
win.isDestroyed()
|
||||
|
||||
@@ -295,7 +295,7 @@ module.exports = {
|
||||
newState[keys.height] = height
|
||||
newState[keys.x] = x
|
||||
newState[keys.y] = y
|
||||
savedState().set(newState)
|
||||
savedState(projectPath).set(newState)
|
||||
, 500
|
||||
|
||||
win.on "moved", _.debounce ->
|
||||
@@ -305,17 +305,17 @@ module.exports = {
|
||||
newState = {}
|
||||
newState[keys.x] = x
|
||||
newState[keys.y] = y
|
||||
savedState().set(newState)
|
||||
savedState(projectPath).set(newState)
|
||||
, 500
|
||||
|
||||
win.webContents.on "devtools-opened", ->
|
||||
newState = {}
|
||||
newState[keys.devTools] = true
|
||||
savedState().set(newState)
|
||||
savedState(projectPath).set(newState)
|
||||
|
||||
win.webContents.on "devtools-closed", ->
|
||||
newState = {}
|
||||
newState[keys.devTools] = false
|
||||
savedState().set(newState)
|
||||
savedState(projectPath).set(newState)
|
||||
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ module.exports = {
|
||||
isMac: ->
|
||||
os.platform() is "darwin"
|
||||
|
||||
getWindowArgs: (state) ->
|
||||
getWindowArgs: (state, options = {}) ->
|
||||
common = {
|
||||
backgroundColor: "#dfe2e4"
|
||||
width: state.appWidth or 800
|
||||
@@ -39,6 +39,7 @@ module.exports = {
|
||||
y: "appY"
|
||||
devTools: "isAppDevToolsOpen"
|
||||
}
|
||||
projectPath: options.projectPath
|
||||
onBlur: ->
|
||||
return if @webContents.isDevToolsOpened()
|
||||
|
||||
@@ -81,9 +82,9 @@ module.exports = {
|
||||
bus.emit("menu:item:clicked", "log:out")
|
||||
})
|
||||
|
||||
savedState().get()
|
||||
savedState(options.projectPath).get()
|
||||
.then (state) =>
|
||||
Windows.open(@getWindowArgs(state))
|
||||
Windows.open(@getWindowArgs(state, options))
|
||||
.then (win) =>
|
||||
Events.start(_.extend({}, options, {
|
||||
env: process.env["CYPRESS_ENV"]
|
||||
|
||||
@@ -14,7 +14,6 @@ errors = require("./errors")
|
||||
logger = require("./logger")
|
||||
browsers = require("./browsers")
|
||||
automation = require("./automation")
|
||||
savedState = require("./saved_state")
|
||||
log = require('debug')('cypress:server:socket')
|
||||
|
||||
existingState = null
|
||||
|
||||
Reference in New Issue
Block a user