summaryrefslogtreecommitdiffstats
path: root/addon-sdk/source/test/addons/tab-close-on-startup/main.js
diff options
context:
space:
mode:
Diffstat (limited to 'addon-sdk/source/test/addons/tab-close-on-startup/main.js')
-rw-r--r--addon-sdk/source/test/addons/tab-close-on-startup/main.js31
1 files changed, 31 insertions, 0 deletions
diff --git a/addon-sdk/source/test/addons/tab-close-on-startup/main.js b/addon-sdk/source/test/addons/tab-close-on-startup/main.js
new file mode 100644
index 000000000..ad1e039e6
--- /dev/null
+++ b/addon-sdk/source/test/addons/tab-close-on-startup/main.js
@@ -0,0 +1,31 @@
+/* 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 { setTimeout } = require('sdk/timers');
+const tabs = require('sdk/tabs');
+
+var closeEvents = 0;
+const closeEventDetector = _ => closeEvents++;
+
+exports.testNoTabCloseOnStartup = function(assert, done) {
+ setTimeout(_ => {
+ assert.equal(closeEvents, 0, 'there were no tab close events detected');
+ tabs.open({
+ url: 'about:mozilla',
+ inBackground: true,
+ onReady: tab => tab.close(),
+ onClose: _ => {
+ assert.equal(closeEvents, 1, 'there was one tab close event detected');
+ done();
+ }
+ })
+ });
+}
+
+exports.main = function() {
+ tabs.on('close', closeEventDetector);
+
+ require("sdk/test/runner").runTestsFromModule(module);
+}