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

Side by Side Diff: pkg/polymer/test/event_path_declarative_test.dart

Issue 794473002: Delete polymer from the Dart repo (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file.
4
5 // This is ported from event-path-declarative-test.dart in polymer/test/html/.
6 // While the original test was intended to test event.path support, we changed
7 // the test structure just to check that the event was handled in the expected
8 // order.
9 library polymer.test.event_path_declarative_test;
10
11 import 'dart:async';
12 import 'dart:html';
13
14 import 'package:unittest/unittest.dart';
15 import 'package:unittest/html_config.dart';
16 import 'package:polymer/polymer.dart';
17
18 var _observedEvents = [];
19 var _testFired;
20
21 main() => initPolymer();
22
23 @reflectable
24 class XZug extends PolymerElement {
25
26 XZug.created() : super.created();
27
28 ready() {
29 shadowRoot.on['test-event'].listen((e) {
30 _testFired.complete(null);
31 });
32 }
33
34
35 contentTestEventHandler(e, detail, sender) {
36 _observedEvents.add(sender);
37 }
38
39 divTestEventHandler(e, detail, sender) {
40 _observedEvents.add(sender);
41 }
42
43 testEventHandler(e, detail, sender) {
44 _observedEvents.add(sender);
45 }
46 }
47
48 @reflectable
49 class XFoo extends PolymerElement {
50 XFoo.created() : super.created();
51
52 contentTestEventHandler(e, detail, sender) {
53 _observedEvents.add(sender);
54 }
55
56 divTestEventHandler(e, detail, sender) {
57 _observedEvents.add(sender);
58 }
59
60 testEventHandler(e, detail, sender) {
61 _observedEvents.add(sender);
62 }
63 }
64
65 @reflectable
66 class XBar extends PolymerElement {
67 XBar.created() : super.created();
68
69 contentTestEventHandler(e, detail, sender) {
70 _observedEvents.add(sender);
71 }
72
73 divTestEventHandler(e, detail, sender) {
74 _observedEvents.add(sender);
75 }
76
77 testEventHandler(e, detail, sender) {
78 _observedEvents.add(sender);
79 }
80 }
81
82 @initMethod init() {
83 useHtmlConfiguration();
84 // TODO(sigmund): switch back to use @CustomTag. We seem to be running into a
85 // problem where using @CustomTag doesn't guarantee that we register the tags
86 // in the following order (the query from mirrors is non deterministic).
87 // We shouldn't care about registration order though. See dartbug.com/14459
88 Polymer.register('x-zug', XZug);
89 Polymer.register('x-foo', XFoo);
90 Polymer.register('x-bar', XBar);
91
92 _testFired = new Completer();
93
94 setUp(() => Polymer.onReady);
95 test('event paths', () {
96 var target = document.querySelector('#target');
97 target.dispatchEvent(new CustomEvent('test-event', canBubble: true));
98 return _testFired.future.then((_) {
99 var xBar = querySelector('x-bar');
100 var xBarDiv = xBar.shadowRoot.querySelector('#xBarDiv');
101 var xBarContent = xBar.shadowRoot.querySelector('#xBarContent');
102 var xFoo = xBar.shadowRoot.querySelector('x-foo');
103 var xFooDiv = xFoo.shadowRoot.querySelector('#xFooDiv');
104 var xFooContent = xFoo.shadowRoot.querySelector('#xFooContent');
105 var xZug = xFoo.shadowRoot.querySelector('x-zug');
106 var xZugDiv = xZug.shadowRoot.querySelector('#xZugDiv');
107 var xZugContent = xZug.shadowRoot.querySelector('#xZugContent');
108
109 var expectedPath = [ xBarContent, xBarDiv, xFooContent,
110 xZugContent, xZugDiv, xZug, xFooDiv, xFoo, xBar];
111 debugName(e) => '${e.localName}#${e.id}';
112 expect(_observedEvents, expectedPath, reason:
113 '<br>\nexpected: ${expectedPath.map(debugName).join(',')}'
114 '<br>\nactual: ${_observedEvents.map(debugName).join(',')}'
115 );
116 });
117 });
118 }
OLDNEW
« no previous file with comments | « pkg/polymer/test/event_handlers_test.html ('k') | pkg/polymer/test/event_path_declarative_test.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698