1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/addon-sdk/source/test/test-dom.js Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,88 @@ 1.4 +/* This Source Code Form is subject to the terms of the Mozilla Public 1.5 + * License, v. 2.0. If a copy of the MPL was not distributed with this 1.6 + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 1.7 + 1.8 +"use strict"; 1.9 + 1.10 +const events = require("sdk/dom/events"); 1.11 +const { activeBrowserWindow: { document } } = require("sdk/deprecated/window-utils"); 1.12 +const window = document.window; 1.13 +/* 1.14 +exports["test on / emit"] = function (assert, done) { 1.15 + let element = document.createElement("div"); 1.16 + events.on(element, "click", function listener(event) { 1.17 + assert.equal(event.target, element, "event has correct target"); 1.18 + events.removeListener(element, "click", listener); 1.19 + done(); 1.20 + }); 1.21 + 1.22 + events.emit(element, "click", { 1.23 + category: "MouseEvents", 1.24 + settings: [ 1.25 + true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null 1.26 + ] 1.27 + }); 1.28 +}; 1.29 + 1.30 +exports["test remove"] = function (assert, done) { 1.31 + let element = document.createElement("span"); 1.32 + let l1 = 0; 1.33 + let l2 = 0; 1.34 + let options = { 1.35 + category: "MouseEvents", 1.36 + settings: [ 1.37 + true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null 1.38 + ] 1.39 + }; 1.40 + 1.41 + events.on(element, "click", function listener1(event) { 1.42 + l1 ++; 1.43 + assert.equal(event.target, element, "event has correct target"); 1.44 + events.removeListener(element, "click", listener1); 1.45 + }); 1.46 + 1.47 + events.on(element, "click", function listener2(event) { 1.48 + l2 ++; 1.49 + if (l1 < l2) { 1.50 + assert.equal(l1, 1, "firs listener was called and then romeved"); 1.51 + events.removeListener(element, "click", listener2); 1.52 + done(); 1.53 + } 1.54 + events.emit(element, "click", options); 1.55 + }); 1.56 + 1.57 + events.emit(element, "click", options); 1.58 +}; 1.59 + 1.60 +exports["test once"] = function (assert, done) { 1.61 + let element = document.createElement("h1"); 1.62 + let l1 = 0; 1.63 + let l2 = 0; 1.64 + let options = { 1.65 + category: "MouseEvents", 1.66 + settings: [ 1.67 + true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null 1.68 + ] 1.69 + }; 1.70 + 1.71 + 1.72 + events.once(element, "click", function listener(event) { 1.73 + assert.equal(event.target, element, "event target is a correct element"); 1.74 + l1 ++; 1.75 + }); 1.76 + 1.77 + events.on(element, "click", function listener(event) { 1.78 + l2 ++; 1.79 + if (l2 > 3) { 1.80 + events.removeListener(element, "click", listener); 1.81 + assert.equal(event.target, element, "event has correct target"); 1.82 + assert.equal(l1, 1, "once was called only once"); 1.83 + done(); 1.84 + } 1.85 + events.emit(element, "click", options); 1.86 + }); 1.87 + 1.88 + events.emit(element, "click", options); 1.89 +} 1.90 +*/ 1.91 +require("test").run(exports);