test('document.createEvent("HTMLEvents")', function(){ var event; ok(event = document.createEvent('HTMLEvents'), 'can create HTMLEvents'); ok(event.timeStamp > 0, '.timestamp has default value'); equals(event.cancelable, true,'.cancelable has expected default value'); equals(event.bubbles, true,'.bubbles has expected default value'); equals(event.eventPhase, Event.AT_TARGET,'.eventPhase has expected default value'); equals(event.currentTarget, null,'.currentTarget has expected default value'); equals(event.target, null,'.target has expected default value'); // its interesting to note you can't access event.type // before calling initEvent or firefox will throw an error event.initEvent(null, false, false); equals(event.type, '','.type has expected value'); equals(event.cancelable, false,'.cancelable has expected value'); equals(event.bubbles, false,'.bubbles has expected value'); event.initEvent('ABC', true, true); equals(event.type, 'ABC','.type is mutable via initEvent'); equals(event.cancelable, true,'.cancelable is mutable via initEvent'); equals(event.bubbles, true,'.bubbles is mutable via initEvent'); event.initEvent('ENVJS', null, null); equals(event.type, 'ENVJS','.type has expected value'); equals(event.cancelable, false,'.cancelable has expected value'); equals(event.bubbles, false,'.bubbles has expected value'); });
test('document.createEvent("UIEvents")', function(){ var event; ok(event = document.createEvent('UIEvents'), 'can create UIEvents'); ok(event.timeStamp > 0, '.timestamp has default value'); equals(event.cancelable, true,'.cancelable has expected default value'); equals(event.bubbles, true,'.bubbles has expected default value'); equals(event.eventPhase, Event.AT_TARGET,'.eventPhase has expected default value'); equals(event.currentTarget, null,'.currentTarget has expected default value'); equals(event.target, null,'.target has expected default value'); equals(event.detail, 0,'.detail has expected default value'); //equals(event.view, _this,'.view has expected default value'); // its interesting to note you can't access event.type // before calling initEvent or firefox will throw an error event.initUIEvent(null, false, false, null, null); equals(event.type, '','.type has expected value'); equals(event.cancelable, false,'.cancelable has expected value'); equals(event.bubbles, false,'.bubbles has expected value'); equals(event.detail, 0,'.detail has expected value'); equals(event.view, null,'.view has expected value'); });
test('Timer Interfaces Available', function(){ expect(4); ok(setTimeout, 'setTimeout'); ok(setInterval, 'setInterval'); ok(clearTimeout, 'clearTimeout'); ok(clearInterval, 'clearInterval'); });
test('document.createEvent("FooEvents")', function(){ var event; try{ event = document.createEvent('FooEvents'); ok(false, 'can create FooEvents'); }catch(e){ ok(true, 'Unsupported Operation (cannot create FooEvents)'); } });
test('document.createEvent("MutationEvents")', function(){ var event; ok(event = document.createEvent('MutationEvents'), 'can create MutationEvents'); ok(event.timeStamp === 0, '.timestamp has default value'); equals(event.cancelable, false, '.cancelable has expected default value'); equals(event.bubbles, true, '.bubbles has expected default value'); equals(event.eventPhase, Event.AT_TARGET, '.eventPhase has expected default value'); equals(event.currentTarget, null, '.currentTarget has expected default value'); equals(event.target, null, '.target has expected default value'); });
link.addEventListener('click', function(event){ equals(event.eventPhase, Event.AT_TARGET, '.eventPhase is AT_TARGET'); equals(event.currentTarget, link, '.currentTarget is link'); equals(event.target, link, '.target is link'); ok( next == 4 || next === 3, 'trigger event on target (registered second, actual :' +(next)+')'); next = 4; }, false);
id = setInterval(function(){ if(order < 10){ ok(order++, 'interval callback'); }else{ equals(order, 10, 'final callback'); clearInterval(id); start(); } }, 50);
test('Event Interfaces Available', function(){ expect(7); ok(Event, 'Event defined'); ok(UIEvent, 'UIEvent defined'); ok(MouseEvent, 'MouseEvent defined'); ok(KeyboardEvent, 'KeyboardEvent defined'); ok(MutationEvent, 'MutationEvent defined'); ok(DocumentEvent, 'DocumentEvent defined'); ok(EventTarget, 'EventTarget defined'); });
id1 = setTimeout(function(){ ok(false, 'should have cancelled'); start() }, 10);