mirror of
https://github.com/pulsar-edit/pulsar.git
synced 2024-09-19 23:17:16 +03:00
Wait for reused window's project paths to update in main process test
Signed-off-by: Nathan Sobo <nathan@github.com>
This commit is contained in:
parent
833b3b0ab0
commit
d1a4fd2378
@ -29,23 +29,20 @@ export function afterEach (fn) {
|
||||
}
|
||||
})
|
||||
|
||||
export function conditionPromise (condition) {
|
||||
const timeoutError = new Error("Timed out waiting on condition")
|
||||
Error.captureStackTrace(timeoutError, conditionPromise)
|
||||
export async function conditionPromise (condition) {
|
||||
const startTime = Date.now()
|
||||
|
||||
return new Promise(function (resolve, reject) {
|
||||
const interval = global.setInterval(function () {
|
||||
if (condition()) {
|
||||
global.clearInterval(interval)
|
||||
global.clearTimeout(timeout)
|
||||
resolve()
|
||||
}
|
||||
}, 100)
|
||||
const timeout = global.setTimeout(function () {
|
||||
global.clearInterval(interval)
|
||||
reject(timeoutError)
|
||||
}, 5000)
|
||||
})
|
||||
while (true) {
|
||||
await timeoutPromise(100)
|
||||
|
||||
if (await condition()) {
|
||||
return
|
||||
}
|
||||
|
||||
if (Date.now() - startTime > 5000) {
|
||||
throw new Error("Timed out waiting on condition")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export function timeoutPromise (timeout) {
|
||||
|
@ -246,7 +246,7 @@ describe('AtomApplication', function () {
|
||||
|
||||
const reusedWindow = atomApplication.launch(parseCommandLine([tempDirPath]))
|
||||
assert.equal(reusedWindow, window1)
|
||||
assert.deepEqual(await getTreeViewRootDirectories(window1), [tempDirPath])
|
||||
await conditionPromise(async () => (await getTreeViewRootDirectories(reusedWindow)).length > 0)
|
||||
})
|
||||
|
||||
it('opens a new window with a single untitled buffer when launched with no path, even if windows already exist', async function () {
|
||||
|
Loading…
Reference in New Issue
Block a user