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

Unified 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, 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
« no previous file with comments | « test/iron_meta_test.dart ('k') | test/iron_range_behavior_test.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: test/iron_overlay_behavior_test.dart
diff --git a/test/iron_overlay_behavior_test.dart b/test/iron_overlay_behavior_test.dart
index 91987d4320407afa6cec130c6f203ac3f18a2c5a..5ae1f52a6c10af1118a2b2f04b40f7073a02dd85 100644
--- a/test/iron_overlay_behavior_test.dart
+++ b/test/iron_overlay_behavior_test.dart
@@ -13,7 +13,8 @@ import 'common.dart';
import 'fixtures/test_overlay.dart';
runAfterOpen(overlay, cb) {
- overlay.on['iron-overlay-opened'].take(1).listen((_) {
+ overlay.on['iron-overlay-opened'].take(1).listen((_) async {
+ await wait(1);
cb();
});
overlay.open();
@@ -127,7 +128,18 @@ main() async {
test('cancel an overlay by clicking outside', () {
var done = new Completer();
runAfterOpen(overlay, () {
- overlay.on['iron-overlay-closed'].take(1).listen((event) {
+ overlay.on['iron-overlay-canceled'].first.then((_) {
+ done.complete();
+ });
+ fireEvent('click', null, document);
+ });
+ return done.future;
+ });
+
+ test('close an overlay by clicking outside', () {
+ var done = new Completer();
+ runAfterOpen(overlay, () {
+ overlay.on['iron-overlay-closed'].first.then((event) {
expect(event.detail['canceled'], isTrue,
reason: 'overlay is canceled');
done.complete();
@@ -137,9 +149,40 @@ main() async {
return done.future;
});
+ test('cancel event can be prevented', () {
+ var done = new Completer();
+ runAfterOpen(overlay, () {
+ overlay.on['iron-overlay-canceled'].first.then((event) {
+ event.preventDefault();
+ });
+ var listener =
+ overlay.on['iron-overlay-closed'].listen((event) {
+ throw 'iron-overlay-closed should not fire';
+ });
+ fireEvent('click', null, document);
+ wait(10).then((_) {
+ listener.cancel();
+ done.complete();
+ });
+ });
+ return done.future;
+ });
+
test('cancel an overlay with esc key', () {
var done = new Completer();
runAfterOpen(overlay, () {
+ overlay.on['iron-overlay-canceled'].first.then((event) {
+ done.complete();
+ });
+ fireEvent('keydown', {
+ 'keyCode': 27
+ }, document);
+ });
+ });
+
+ test('close an overlay with esc key', () {
+ var done = new Completer();
+ runAfterOpen(overlay, () {
overlay.on['iron-overlay-closed'].take(1).listen((event) {
expect(event.detail['canceled'], isTrue,
reason: 'overlay is canceled');
« 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