mirror of
https://github.com/atom/atom.git
synced 2026-02-11 23:25:03 -05:00
57 lines
1.9 KiB
JavaScript
57 lines
1.9 KiB
JavaScript
/** @babel */
|
|
|
|
import fs from 'fs-plus'
|
|
import path from 'path'
|
|
import temp from 'temp'
|
|
import AtomApplication from '../../src/main-process/atom-application'
|
|
|
|
const ATOM_RESOURCE_PATH = path.resolve(__dirname, '..', '..')
|
|
|
|
describe('AtomApplication', function () {
|
|
let originalAtomHome, atomApplicationsToDestroy
|
|
|
|
function buildAtomApplication () {
|
|
const atomApplication = new AtomApplication({
|
|
resourcePath: ATOM_RESOURCE_PATH,
|
|
atomHomeDirPath: process.env.ATOM_HOME
|
|
})
|
|
atomApplicationsToDestroy.push(atomApplication)
|
|
return atomApplication
|
|
}
|
|
|
|
beforeEach(function () {
|
|
originalAtomHome = process.env.ATOM_HOME
|
|
process.env.ATOM_HOME = temp.mkdirSync('atom-home')
|
|
// Symlinking the compile cache into the temporary home dir makes the windows load much faster
|
|
fs.symlinkSync(path.join(originalAtomHome, 'compile-cache'), path.join(process.env.ATOM_HOME, 'compile-cache'))
|
|
atomApplicationsToDestroy = []
|
|
})
|
|
|
|
afterEach(function () {
|
|
process.env.ATOM_HOME = originalAtomHome
|
|
for (let atomApplication of atomApplicationsToDestroy) {
|
|
atomApplication.destroy()
|
|
}
|
|
})
|
|
|
|
describe('openWithOptions', function () {
|
|
it('positions new windows at an offset distance from the previous window', async function () {
|
|
this.timeout(20000)
|
|
|
|
const atomApplication = buildAtomApplication()
|
|
|
|
const window1 = atomApplication.openWithOptions({pathsToOpen: [], urlsToOpen: [], windowDimensions: {x: 0, y: 0, width: 100, height: 100}})
|
|
await window1.loadedPromise
|
|
window1.browserWindow.setBounds({width: 400, height: 400, x: 0, y: 0})
|
|
|
|
const window2 = atomApplication.openWithOptions({pathsToOpen: [], urlsToOpen: []})
|
|
await window2.loadedPromise
|
|
|
|
window1Dimensions = window1.getDimensions()
|
|
window2Dimensions = window2.getDimensions()
|
|
assert.isAbove(window2Dimensions.x, window1Dimensions.x)
|
|
assert.isAbove(window2Dimensions.y, window1Dimensions.y)
|
|
})
|
|
})
|
|
})
|