Index: test/iron_a11y_keys_behavior_test.dart |
diff --git a/test/iron_a11y_keys_behavior_test.dart b/test/iron_a11y_keys_behavior_test.dart |
index 23d65051108cb1e768180c738c47a723d824a9ca..ba9e6ad0a4bf8982b05ab578c244354aa738363a 100644 |
--- a/test/iron_a11y_keys_behavior_test.dart |
+++ b/test/iron_a11y_keys_behavior_test.dart |
@@ -57,6 +57,19 @@ main() async { |
// pressSpace(keys); |
// expect(keys.keyCount, 1); |
}); |
+ |
+ test('allows propagation beyond the key combo handler', () { |
+ var called = false; |
+ var done = document.on['keydown'].first.then((_) { |
+ called = true; |
+ }); |
+ |
+ pressEnter(keys); |
+ |
+ expect(called, true); |
+ |
+ return done; |
+ }); |
group('edge cases', () { |
test('knows that `spacebar` is the same as `space`', () { |
@@ -141,6 +154,25 @@ main() async { |
expect(keys.keyCount, 2); |
}); |
}); |
+ |
+ group('stopping propagation automatically', () { |
+ setUp(() { |
+ keys = fixture('NonPropagatingKeys'); |
+ }); |
+ |
+ test('does not propagate key events beyond the combo handler', () async { |
+ var called = false; |
+ |
+ document.on['keydown'].first.then((_) { |
+ called = true; |
+ }); |
+ |
+ pressEnter(keys); |
+ await wait(1); |
+ |
+ expect(called, isFalse); |
+ }); |
+ }); |
}); |
} |