46 lines
1.4 KiB
TypeScript
46 lines
1.4 KiB
TypeScript
import { expect } from 'chai'
|
|
import { app, webContents } from 'electron'
|
|
import { emittedOnce } from './events-helpers'
|
|
|
|
import { useExtensionBrowser, useServer } from './hooks'
|
|
|
|
describe('chrome.windows', () => {
|
|
const server = useServer()
|
|
const browser = useExtensionBrowser({ url: server.getUrl, extensionName: 'rpc' })
|
|
|
|
describe('get()', () => {
|
|
it('gets details on the window', async () => {
|
|
const windowId = browser.window.id
|
|
const result = await browser.crx.exec('windows.get', windowId)
|
|
expect(result).to.be.an('object')
|
|
expect(result.id).to.equal(windowId)
|
|
})
|
|
})
|
|
|
|
describe('getLastFocused()', () => {
|
|
it('gets the last focused window', async () => {
|
|
// HACK: focus() doesn't actually emit this in tests
|
|
browser.window.emit('focus')
|
|
const windowId = browser.window.id
|
|
const result = await browser.crx.exec('windows.getLastFocused')
|
|
expect(result).to.be.an('object')
|
|
expect(result.id).to.equal(windowId)
|
|
})
|
|
})
|
|
|
|
describe('remove()', () => {
|
|
it('removes the window', async () => {
|
|
const windowId = browser.window.id
|
|
const closedPromise = emittedOnce(browser.window, 'closed')
|
|
browser.crx.exec('windows.remove', windowId)
|
|
await closedPromise
|
|
})
|
|
|
|
it('removes the current window', async () => {
|
|
const closedPromise = emittedOnce(browser.window, 'closed')
|
|
browser.crx.exec('windows.remove')
|
|
await closedPromise
|
|
})
|
|
})
|
|
})
|