add zoom specs based on standard protocols

This commit is contained in:
deepak1556 2017-02-17 23:28:29 +05:30
parent 0c022fdc36
commit a57af31b99
5 changed files with 79 additions and 14 deletions

View file

@ -1527,6 +1527,21 @@ describe('<webview> tag', function () {
})
describe('zoom behavior', () => {
const zoomScheme = remote.getGlobal('zoomScheme')
const webviewSession = session.fromPartition('webview-temp')
before((done) => {
const protocol = webviewSession.protocol
protocol.registerStringProtocol(zoomScheme, (request, callback) => {
callback('hello')
}, (error) => done(error))
})
after((done) => {
const protocol = webviewSession.protocol
protocol.unregisterProtocol(zoomScheme, (error) => done(error))
})
it('inherits the zoomFactor of the parent window', (done) => {
w = new BrowserWindow({
show: false,
@ -1534,7 +1549,7 @@ describe('<webview> tag', function () {
zoomFactor: 1.2
}
})
ipcMain.once('webview-zoom-level', (event, zoomFactor, zoomLevel) => {
ipcMain.once('webview-parent-zoom-level', (event, zoomFactor, zoomLevel) => {
assert.equal(zoomFactor, 1.2)
assert.equal(zoomLevel, 1)
done()
@ -1542,24 +1557,39 @@ describe('<webview> tag', function () {
w.loadURL(`file://${fixtures}/pages/webview-zoom-factor.html`)
})
it('inherits the zoomLevel of parent window on navigation', (done) => {
it('maintains zoom level on navigation', (done) => {
w = new BrowserWindow({
show: false,
webPreferences: {
zoomFactor: 1.2
}
})
ipcMain.on('webview-zoom-level', (event, zoomLevel, zoomFactor, final) => {
if (!final) {
ipcMain.on('webview-zoom-level', (event, zoomLevel, zoomFactor, newHost, final) => {
if (!newHost) {
assert.equal(zoomFactor, 1.44)
assert.equal(zoomLevel, 2.0)
} else {
assert.equal(zoomFactor, 1.2)
assert.equal(zoomLevel, 1)
done()
}
if (final) done()
})
w.loadURL(`file://${fixtures}/pages/webview-custom-zoom-level.html`)
})
it('maintains zoom level when navigating within same page', (done) => {
w = new BrowserWindow({
show: false,
webPreferences: {
zoomFactor: 1.2
}
})
ipcMain.on('webview-zoom-in-page', (event, zoomLevel, zoomFactor, final) => {
assert.equal(zoomFactor, 1.44)
assert.equal(zoomLevel, 2.0)
if (final) done()
})
w.loadURL(`file://${fixtures}/pages/webview-in-page-navigate.html`)
})
})
})