From e043dabcb870b269686ab6e7a11729ca80080339 Mon Sep 17 00:00:00 2001 From: deepak1556 Date: Sun, 4 Dec 2016 00:22:57 +0530 Subject: [PATCH] add spec --- spec/chromium-spec.js | 33 +++++++++++++++++++++++++ spec/fixtures/pages/media-id-reset.html | 9 +++++++ 2 files changed, 42 insertions(+) create mode 100644 spec/fixtures/pages/media-id-reset.html diff --git a/spec/chromium-spec.js b/spec/chromium-spec.js index 8aeb2450bded..899eff871588 100644 --- a/spec/chromium-spec.js +++ b/spec/chromium-spec.js @@ -4,6 +4,7 @@ const path = require('path') const ws = require('ws') const url = require('url') const remote = require('electron').remote +const {closeWindow} = require('./window-helpers') const {BrowserWindow, ipcMain, protocol, session, webContents} = remote @@ -109,6 +110,38 @@ describe('chromium feature', function () { } }).catch(done) }) + + it('can return new device id when cookie storage is cleared', function (done) { + const options = { + origin: null, + storages: ['cookies'] + } + let deviceIds = [] + const ses = session.fromPartition('persist:media-device-id') + let w = new BrowserWindow({ + show: false, + webPreferences: { + session: ses + } + }) + w.webContents.on('ipc-message', function (event, args) { + if (args[0] === 'deviceIds') { + deviceIds.push(args[1]) + } + if (deviceIds.length === 2) { + assert.notDeepEqual(deviceIds[0], deviceIds[1]) + closeWindow(w).then(function () { + w = null + done() + }) + } else { + ses.clearStorageData(options, function () { + w.webContents.reload() + }) + } + }) + w.loadURL('file://' + fixtures + '/pages/media-id-reset.html') + }) }) describe('navigator.language', function () { diff --git a/spec/fixtures/pages/media-id-reset.html b/spec/fixtures/pages/media-id-reset.html new file mode 100644 index 000000000000..1a3df0fdada5 --- /dev/null +++ b/spec/fixtures/pages/media-id-reset.html @@ -0,0 +1,9 @@ +