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

Side by Side Diff: test/iron_overlay_behavior_test.dart

Issue 1418513006: update elements and fix some bugs (Closed) Base URL: git@github.com:dart-lang/polymer_elements.git@master
Patch Set: code review updates Created 5 years, 1 month 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
« no previous file with comments | « test/iron_meta_test.dart ('k') | test/iron_range_behavior_test.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 @TestOn('browser') 1 @TestOn('browser')
2 library polymer_elements.test.iron_overlay_behavior_test; 2 library polymer_elements.test.iron_overlay_behavior_test;
3 3
4 import 'dart:async'; 4 import 'dart:async';
5 import 'dart:convert'; 5 import 'dart:convert';
6 import 'dart:html'; 6 import 'dart:html';
7 import 'dart:js'; 7 import 'dart:js';
8 import 'package:polymer_interop/polymer_interop.dart'; 8 import 'package:polymer_interop/polymer_interop.dart';
9 import 'package:polymer/polymer.dart'; 9 import 'package:polymer/polymer.dart';
10 import 'package:test/test.dart'; 10 import 'package:test/test.dart';
11 import 'package:web_components/web_components.dart'; 11 import 'package:web_components/web_components.dart';
12 import 'common.dart'; 12 import 'common.dart';
13 import 'fixtures/test_overlay.dart'; 13 import 'fixtures/test_overlay.dart';
14 14
15 runAfterOpen(overlay, cb) { 15 runAfterOpen(overlay, cb) {
16 overlay.on['iron-overlay-opened'].take(1).listen((_) { 16 overlay.on['iron-overlay-opened'].take(1).listen((_) async {
17 await wait(1);
17 cb(); 18 cb();
18 }); 19 });
19 overlay.open(); 20 overlay.open();
20 } 21 }
21 22
22 main() async { 23 main() async {
23 await initPolymer(); 24 await initPolymer();
24 25
25 group('basic overlay tests', () { 26 group('basic overlay tests', () {
26 TestOverlay overlay; 27 TestOverlay overlay;
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
120 document.activeElement, 121 document.activeElement,
121 reason: '<button autofocus> is focused'); 122 reason: '<button autofocus> is focused');
122 done.complete(); 123 done.complete();
123 }); 124 });
124 return done.future; 125 return done.future;
125 }); 126 });
126 127
127 test('cancel an overlay by clicking outside', () { 128 test('cancel an overlay by clicking outside', () {
128 var done = new Completer(); 129 var done = new Completer();
129 runAfterOpen(overlay, () { 130 runAfterOpen(overlay, () {
130 overlay.on['iron-overlay-closed'].take(1).listen((event) { 131 overlay.on['iron-overlay-canceled'].first.then((_) {
132 done.complete();
133 });
134 fireEvent('click', null, document);
135 });
136 return done.future;
137 });
138
139 test('close an overlay by clicking outside', () {
140 var done = new Completer();
141 runAfterOpen(overlay, () {
142 overlay.on['iron-overlay-closed'].first.then((event) {
131 expect(event.detail['canceled'], isTrue, 143 expect(event.detail['canceled'], isTrue,
132 reason: 'overlay is canceled'); 144 reason: 'overlay is canceled');
133 done.complete(); 145 done.complete();
134 }); 146 });
135 fireEvent('click', null, document); 147 fireEvent('click', null, document);
136 }); 148 });
137 return done.future; 149 return done.future;
138 }); 150 });
139 151
152 test('cancel event can be prevented', () {
153 var done = new Completer();
154 runAfterOpen(overlay, () {
155 overlay.on['iron-overlay-canceled'].first.then((event) {
156 event.preventDefault();
157 });
158 var listener =
159 overlay.on['iron-overlay-closed'].listen((event) {
160 throw 'iron-overlay-closed should not fire';
161 });
162 fireEvent('click', null, document);
163 wait(10).then((_) {
164 listener.cancel();
165 done.complete();
166 });
167 });
168 return done.future;
169 });
170
140 test('cancel an overlay with esc key', () { 171 test('cancel an overlay with esc key', () {
141 var done = new Completer(); 172 var done = new Completer();
142 runAfterOpen(overlay, () { 173 runAfterOpen(overlay, () {
174 overlay.on['iron-overlay-canceled'].first.then((event) {
175 done.complete();
176 });
177 fireEvent('keydown', {
178 'keyCode': 27
179 }, document);
180 });
181 });
182
183 test('close an overlay with esc key', () {
184 var done = new Completer();
185 runAfterOpen(overlay, () {
143 overlay.on['iron-overlay-closed'].take(1).listen((event) { 186 overlay.on['iron-overlay-closed'].take(1).listen((event) {
144 expect(event.detail['canceled'], isTrue, 187 expect(event.detail['canceled'], isTrue,
145 reason: 'overlay is canceled'); 188 reason: 'overlay is canceled');
146 done.complete(); 189 done.complete();
147 }); 190 });
148 fireEvent('keydown', {'keyCode': 27}, document); 191 fireEvent('keydown', {'keyCode': 27}, document);
149 }); 192 });
150 return done.future; 193 return done.future;
151 }); 194 });
152 195
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
298 expect(overlay.getAttribute('aria-hidden'), isNull, 341 expect(overlay.getAttribute('aria-hidden'), isNull,
299 reason: 'overlay does not have aria-hidden attribute'); 342 reason: 'overlay does not have aria-hidden attribute');
300 return wait(1).then((_) { 343 return wait(1).then((_) {
301 overlay.close(); 344 overlay.close();
302 expect(overlay.getAttribute('aria-hidden'), 'true', 345 expect(overlay.getAttribute('aria-hidden'), 'true',
303 reason: 'overlay has aria-hidden="true"'); 346 reason: 'overlay has aria-hidden="true"');
304 }); 347 });
305 }); 348 });
306 }); 349 });
307 } 350 }
OLDNEW
« no previous file with comments | « test/iron_meta_test.dart ('k') | test/iron_range_behavior_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698