✅ add tests for BrowserWindow.addExtension
This commit is contained in:
parent
f09e448d4d
commit
67cec5fd26
1 changed files with 65 additions and 1 deletions
|
@ -1965,7 +1965,7 @@ describe('BrowserWindow module', function () {
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
describe('dev tool extensions', function () {
|
describe('extensions and dev tools extensions', function () {
|
||||||
let showPanelTimeoutId
|
let showPanelTimeoutId
|
||||||
|
|
||||||
const showLastDevToolsPanel = () => {
|
const showLastDevToolsPanel = () => {
|
||||||
|
@ -2098,6 +2098,70 @@ describe('BrowserWindow module', function () {
|
||||||
app.emit('will-quit')
|
app.emit('will-quit')
|
||||||
assert.equal(fs.existsSync(serializedPath), false)
|
assert.equal(fs.existsSync(serializedPath), false)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
describe('BrowserWindow.addExtension', function () {
|
||||||
|
beforeEach(function () {
|
||||||
|
BrowserWindow.removeExtension('foo')
|
||||||
|
assert.equal(BrowserWindow.getExtensions().hasOwnProperty('foo'), false)
|
||||||
|
|
||||||
|
var extensionPath = path.join(__dirname, 'fixtures', 'devtools-extensions', 'foo')
|
||||||
|
BrowserWindow.addExtension(extensionPath)
|
||||||
|
assert.equal(BrowserWindow.getExtensions().hasOwnProperty('foo'), true)
|
||||||
|
|
||||||
|
showLastDevToolsPanel()
|
||||||
|
|
||||||
|
w.loadURL('about:blank')
|
||||||
|
})
|
||||||
|
|
||||||
|
it('throws errors for missing manifest.json files', function () {
|
||||||
|
assert.throws(function () {
|
||||||
|
BrowserWindow.addExtension(path.join(__dirname, 'does-not-exist'))
|
||||||
|
}, /ENOENT: no such file or directory/)
|
||||||
|
})
|
||||||
|
|
||||||
|
it('throws errors for invalid manifest.json files', function () {
|
||||||
|
assert.throws(function () {
|
||||||
|
BrowserWindow.addExtension(path.join(__dirname, 'fixtures', 'devtools-extensions', 'bad-manifest'))
|
||||||
|
}, /Unexpected token }/)
|
||||||
|
})
|
||||||
|
|
||||||
|
describe('when the devtools is docked', function () {
|
||||||
|
it('creates the extension', function (done) {
|
||||||
|
w.webContents.openDevTools({mode: 'bottom'})
|
||||||
|
|
||||||
|
ipcMain.once('answer', function (event, message) {
|
||||||
|
assert.equal(message.runtimeId, 'foo')
|
||||||
|
assert.equal(message.tabId, w.webContents.id)
|
||||||
|
assert.equal(message.i18nString, 'foo - bar (baz)')
|
||||||
|
assert.deepEqual(message.storageItems, {
|
||||||
|
local: {
|
||||||
|
set: {hello: 'world', world: 'hello'},
|
||||||
|
remove: {world: 'hello'},
|
||||||
|
clear: {}
|
||||||
|
},
|
||||||
|
sync: {
|
||||||
|
set: {foo: 'bar', bar: 'foo'},
|
||||||
|
remove: {foo: 'bar'},
|
||||||
|
clear: {}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
done()
|
||||||
|
})
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
describe('when the devtools is undocked', function () {
|
||||||
|
it('creates the extension', function (done) {
|
||||||
|
w.webContents.openDevTools({mode: 'undocked'})
|
||||||
|
|
||||||
|
ipcMain.once('answer', function (event, message, extensionId) {
|
||||||
|
assert.equal(message.runtimeId, 'foo')
|
||||||
|
assert.equal(message.tabId, w.webContents.id)
|
||||||
|
done()
|
||||||
|
})
|
||||||
|
})
|
||||||
|
})
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
describe('window.webContents.executeJavaScript', function () {
|
describe('window.webContents.executeJavaScript', function () {
|
||||||
|
|
Loading…
Reference in a new issue