diff --git a/can-dom-events-test.js b/can-dom-events-test.js index 1629b09..db55cd4 100644 --- a/can-dom-events-test.js +++ b/can-dom-events-test.js @@ -10,15 +10,22 @@ unit.test('domEvents.addEventListener works', function (assert) { var input = document.createElement('input'); var eventType = 'click'; + var event; + var qf = document.querySelector('#qunit-fixture'); + qf.appendChild(input); + var handler = function () { assert.ok(true, 'event handler should be called'); }; domEvents.addEventListener(input, eventType, handler); - - var event = new Event(eventType); + if (typeof Event === "function") { + event = new Event(eventType); + } else { + event = document.createEvent('Event'); + event.initEvent(eventType, true, false); + } input.dispatchEvent(event); - domEvents.removeEventListener(input, eventType, handler); }); @@ -29,18 +36,31 @@ unit.test('domEvents.removeEventListener works', function (assert) { var input = document.createElement('input'); var eventType = 'click'; + var event, event2; + var qf = document.querySelector('#qunit-fixture'); + qf.appendChild(input); var handler = function () { assert.ok(true, 'event handler should be called'); }; domEvents.addEventListener(input, eventType, handler); - var event = new Event(eventType); + if (typeof Event === "function") { + event = new Event(eventType); + } else { + event = document.createEvent('Event'); + event.initEvent(eventType, true, true); + } input.dispatchEvent(event); domEvents.removeEventListener(input, eventType, handler); - var event2 = new Event(eventType); + if (typeof Event === "function") { + event2 = new Event(eventType); + } else { + event2 = document.createEvent('Event'); + event2.initEvent(eventType, true, true); + } input.dispatchEvent(event2); }); @@ -51,12 +71,15 @@ unit.test('domEvents.dispatch works', function (assert) { var input = document.createElement('input'); var eventType = 'click'; + var qf = document.querySelector('#qunit-fixture'); + qf.appendChild(input); var handler = function () { assert.ok(true, 'event handler should be called'); }; input.addEventListener(eventType, handler); + domEvents.dispatch(input, eventType); input.removeEventListener(eventType, handler);