12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- 'use strict';
- const { open, focus, close } = require('sdk/window/helpers');
- const { isPrivate } = require('sdk/private-browsing');
- const { defer } = require('sdk/core/promise');
- const { browserWindows: windows } = require('sdk/windows');
- const BROWSER = 'chrome://browser/content/browser.xul';
- exports.testRequirePanel = function(assert) {
- require('sdk/panel');
- assert.ok('the panel module should not throw an error');
- };
- exports.testShowPanelInPrivateWindow = function(assert, done) {
- let panel = require('sdk/panel').Panel({
- contentURL: "data:text/html;charset=utf-8,"
- });
- assert.ok(windows.length > 0, 'there is at least one open window');
- for (let window of windows) {
- assert.equal(isPrivate(window), false, 'open window is private');
- }
- testShowPanel(assert, panel).
- then(makeEmptyPrivateBrowserWindow).
- then(focus).
- then(function(window) {
- assert.equal(isPrivate(window), true, 'opened window is private');
- assert.pass('private window was focused');
- return window;
- }).
- then(function(window) {
- let { promise, resolve } = defer();
- assert.ok(!panel.isShowing, 'the panel is not showing [1]');
- panel.once('show', function() {
- assert.ok(panel.isShowing, 'the panel is showing');
- panel.once('hide', function() {
- assert.ok(!panel.isShowing, 'the panel is not showing [2]');
- resolve(window);
- });
- panel.hide();
- });
- panel.show();
- return promise;
- }).
- then(close).
- then(done, assert.fail.bind(assert));
- };
- function makeEmptyPrivateBrowserWindow(options) {
- options = options || {};
- return open(BROWSER, {
- features: {
- chrome: true,
- toolbar: true,
- private: true
- }
- });
- }
- function testShowPanel(assert, panel) {
- let { promise, resolve } = defer();
- let shown = false;
- assert.ok(!panel.isShowing, 'the panel is not showing [1]');
- panel.once('hide', function() {
- assert.ok(!panel.isShowing, 'the panel is not showing [2]');
- assert.ok(shown, 'the panel was shown')
- resolve(null);
- });
- panel.once('show', function() {
- shown = true;
- assert.ok(panel.isShowing, 'the panel is showing');
- panel.hide();
- });
- panel.show();
- return promise;
- }
- //Test disabled because of bug 911071
- module.exports = {}
|