From ad258351faee8075ec803be292221e8a2fb787fc Mon Sep 17 00:00:00 2001 From: Erik Vold Date: Wed, 6 Feb 2013 19:27:11 -0800 Subject: [PATCH] bug 834961 adding a test of the activeWindow and activeBrowserWindow properties of the window-utils module in pb supported mode --- test/test-window-utils.js | 48 +++++++++++++++++++++++++++++++++++---- 1 file changed, 44 insertions(+), 4 deletions(-) diff --git a/test/test-window-utils.js b/test/test-window-utils.js index 0b255b9ad..ac3cf1eb6 100644 --- a/test/test-window-utils.js +++ b/test/test-window-utils.js @@ -7,8 +7,9 @@ var windowUtils = require("sdk/deprecated/window-utils"); var timer = require("sdk/timers"); var { Cc, Ci } = require("chrome"); var { Loader, unload } = require("sdk/test/loader"); -const { loader: pbLoader, getOwnerWindow, pbUtils } = require('./private-browsing/helper'); +const { loader: pbLoader, getOwnerWindow, pbUtils, pb } = require('./private-browsing/helper'); const { open, close } = pbLoader.require('sdk/window/utils'); +const { isPrivate } = require('sdk/private-browsing'); function toArray(iterator) { let array = []; @@ -314,6 +315,44 @@ exports['test active window'] = function(assert, done) { nextTest(); }; +exports.testActiveWindowIgnoresPrivateWindow = function(assert, done) { + let {browserWindows: pbWindows } = pbLoader.require('windows'); + let pbWindowUtils = pbLoader.require('sdk/deprecated/window-utils'); + + // make a new private window + pbWindows.open({ + private: true, + onOpen: function(win) { + let window = getOwnerWindow(win); + assert.ok(window instanceof Ci.nsIDOMWindow, "window was found"); + + // pb mode not supported + assert.equal(isPrivate(windowUtils.activeWindow), false, + "active window is not private when pb mode is not supported"); + assert.equal(isPrivate(windowUtils.activeBrowserWindow), false, + "active browser window is not private when pb mode is not supported"); + + // PWPB case + if (pbUtils.isWindowPBSupported) { + assert.ok(pbUtils.isWindowPrivate(window), "window is private"); + + // pb mode is supported + assert.ok( + pb.isPrivate(pbWindowUtils.activeWindow), + "active window is private when pb mode is supported"); + assert.ok( + pb.isPrivate(pbWindowUtils.activeBrowserWindow), + "active browser window is private when pb mode is supported"); + } + // Global case + else { + assert.equal(pbUtils.isWindowPrivate(window), false, "window is not private"); + } + win.close(function() done()); + } + }); +} + exports['test windowIterator'] = function(assert, done) { // make a new window let window = makeEmptyWindow(); @@ -341,20 +380,21 @@ exports['test windowIterator'] = function(assert, done) { exports.testWindowIteratorIgnoresPrivateWindows = function(assert, done) { - // make a new window + // make a new private window pbLoader.require('windows').browserWindows.open({ private: true, onOpen: function(win) { let window = getOwnerWindow(win); assert.ok(window instanceof Ci.nsIDOMWindow, "window was found"); - // PWPB + // PWPB case if (pbUtils.isWindowPBSupported) { assert.ok(pbUtils.isWindowPrivate(window), "window is private"); assert.equal(toArray(windowUtils.windowIterator()).indexOf(window), -1, "window is not in windowIterator()"); } + // Global case else { - assert.ok(pbUtils.isWindowPrivate(window), false, "window is not private"); + assert.equal(pbUtils.isWindowPrivate(window), false, "window is not private"); assert.ok(toArray(windowUtils.windowIterator()).indexOf(window) > -1, "window is in windowIterator()"); }