Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(375)

Unified Diff: tests/html/event_customevent_test.dart

Issue 27308006: Supporting non-SSVs in CustomEvent.detail (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: tests/html/event_customevent_test.dart
diff --git a/tests/html/event_customevent_test.dart b/tests/html/event_customevent_test.dart
index f7740e816288112f9099ee0d692c7fb5ce887f52..42e3031d2f878e0f4a0494454a825ddb5d385fdc 100644
--- a/tests/html/event_customevent_test.dart
+++ b/tests/html/event_customevent_test.dart
@@ -8,6 +8,12 @@ import '../../pkg/unittest/lib/unittest.dart';
import '../../pkg/unittest/lib/html_config.dart';
import 'dart:html';
+class DartPayloadData {
+ final dartValue;
+
+ DartPayloadData(this.dartValue);
+}
+
main() {
useHtmlConfiguration();
@@ -46,4 +52,31 @@ main() {
expect(fired, isTrue);
});
+
+ test('custom events to JS', () {
+ var scriptContents = '''
+ window.addEventListener('dart_custom_event', function(e) {
+ if (e.detail == 'dart_message') {
+ e.preventDefault();
+ }
+ }, false);''';
+
+ document.body.append(new ScriptElement()..text = scriptContents);
+
+ var event = new CustomEvent('dart_custom_event', detail: 'dart_message');
+ window.dispatchEvent(event);
+ expect(event.defaultPrevented, isTrue);
+ });
+
+ test('custom data to Dart', () {
+ var data = new DartPayloadData(666);
+ var event = new CustomEvent('dart_custom_data_event', detail: data);
+
+ var future = window.on['dart_custom_data_event'].first.then((_) {
+ expect(event.detail.dartValue, 666);
+ });
+
+ document.body.dispatchEvent(event);
+ return future;
+ });
}

Powered by Google App Engine
This is Rietveld 408576698