| 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');
|
|
|