f46672cb73
BUG= Review URL: https://codereview.chromium.org//12040059 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17735 260f80e4-7a28-3924-810f-c04153c831b5
62 lines
1.7 KiB
Dart
62 lines
1.7 KiB
Dart
library EventsTest;
|
|
import '../../pkg/unittest/lib/unittest.dart';
|
|
import '../../pkg/unittest/lib/html_config.dart';
|
|
import 'dart:html';
|
|
|
|
main() {
|
|
useHtmlConfiguration();
|
|
test('TimeStamp', () {
|
|
Event event = new Event('test');
|
|
|
|
int timeStamp = event.timeStamp;
|
|
expect(timeStamp, greaterThan(0));
|
|
});
|
|
// The next test is not asynchronous because [on['test'].dispatch(event)] fires the event
|
|
// and event listener synchronously.
|
|
test('EventTarget', () {
|
|
Element element = new Element.tag('test');
|
|
element.id = 'eventtarget';
|
|
window.document.body.nodes.add(element);
|
|
|
|
int invocationCounter = 0;
|
|
void handler(Event e) {
|
|
expect(e.type, equals('test'));
|
|
Element target = e.target;
|
|
expect(element, equals(target));
|
|
invocationCounter++;
|
|
}
|
|
|
|
Event event = new Event('test');
|
|
|
|
invocationCounter = 0;
|
|
element.dispatchEvent(event);
|
|
expect(invocationCounter, isZero);
|
|
|
|
var provider = new EventStreamProvider<CustomEvent>('test');
|
|
|
|
var sub = provider.forTarget(element).listen(handler);
|
|
invocationCounter = 0;
|
|
element.dispatchEvent(event);
|
|
expect(invocationCounter, 1);
|
|
|
|
sub.cancel();
|
|
invocationCounter = 0;
|
|
element.dispatchEvent(event);
|
|
expect(invocationCounter, isZero);
|
|
|
|
provider.forTarget(element).listen(handler);
|
|
invocationCounter = 0;
|
|
element.dispatchEvent(event);
|
|
expect(invocationCounter, 1);
|
|
|
|
provider.forTarget(element).listen(handler);
|
|
invocationCounter = 0;
|
|
element.dispatchEvent(event);
|
|
expect(invocationCounter, 1);
|
|
});
|
|
test('InitMouseEvent', () {
|
|
DivElement div = new Element.tag('div');
|
|
MouseEvent event = new MouseEvent('zebra', relatedTarget: div);
|
|
});
|
|
}
|