diff options
Diffstat (limited to 'addon-sdk/source/test/windows/test-fennec-windows.js')
-rw-r--r-- | addon-sdk/source/test/windows/test-fennec-windows.js | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/addon-sdk/source/test/windows/test-fennec-windows.js b/addon-sdk/source/test/windows/test-fennec-windows.js new file mode 100644 index 000000000..3e1c00d73 --- /dev/null +++ b/addon-sdk/source/test/windows/test-fennec-windows.js @@ -0,0 +1,48 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +'use strict'; + +const { Cc, Ci } = require('chrome'); +const { setTimeout } = require('sdk/timers'); +const { Loader } = require('sdk/test/loader'); +const WM = Cc['@mozilla.org/appshell/window-mediator;1']. + getService(Ci.nsIWindowMediator); +const { browserWindows } = require('sdk/windows'); + +const ERR_MSG = 'This method is not yet supported by Fennec, consider using require("sdk/tabs") instead'; + +// TEST: browserWindows.length for Fennec +exports.testBrowserWindowsLength = function(assert) { + assert.equal(browserWindows.length, 1, "Only one window open"); +}; + +// TEST: open & close window +exports.testOpenWindow = function(assert) { + let tabCount = browserWindows.activeWindow.tabs.length; + let url = "data:text/html;charset=utf-8,<title>windows%20API%20test</title>"; + + try { + browserWindows.open({url: url}); + assert.fail('Error was not thrown'); + } + catch(e) { + assert.equal(e.message, ERR_MSG, 'Error is thrown on windows.open'); + assert.equal(browserWindows.length, 1, "Only one window open"); + } +}; + +exports.testCloseWindow = function(assert) { + let window = browserWindows.activeWindow; + + try { + window.close(); + assert.fail('Error was not thrown'); + } + catch(e) { + assert.equal(e.message, ERR_MSG, 'Error is thrown on windows.close'); + assert.equal(browserWindows.length, 1, "Only one window open"); + } +}; + +require('sdk/test').run(exports); |