Index: test/paper_checked_element_behavior_test.dart |
diff --git a/test/paper_checked_element_behavior_test.dart b/test/paper_checked_element_behavior_test.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..3684d75ef8c98e80275ae6531a1b1c5de3af1c2f |
--- /dev/null |
+++ b/test/paper_checked_element_behavior_test.dart |
@@ -0,0 +1,84 @@ |
+// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file |
+// for details. All rights reserved. Use of this source code is governed by a |
+// BSD-style license that can be found in the LICENSE file. |
+@TestOn('browser') |
+library polymer_elements.test.paper_checked_element_behavior_test; |
+ |
+import 'dart:async'; |
+import 'package:polymer_elements/iron_a11y_keys_behavior.dart'; |
+import 'package:polymer_elements/iron_checked_element_behavior.dart'; |
+import 'package:polymer_elements/iron_button_state.dart'; |
+import 'package:polymer_elements/iron_control_state.dart'; |
+import 'package:polymer_elements/iron_form_element_behavior.dart'; |
+import 'package:polymer_elements/iron_validatable_behavior.dart'; |
+import 'package:polymer_elements/paper_checked_element_behavior.dart'; |
+import 'package:polymer_elements/paper_inky_focus_behavior.dart'; |
+import 'package:polymer_elements/paper_ripple_behavior.dart'; |
+import 'package:polymer/polymer.dart'; |
+import 'package:web_components/web_components.dart'; |
+import 'package:test/test.dart'; |
+import 'common.dart'; |
+ |
+main() async { |
+ await initPolymer(); |
+ |
+ group('PaperCheckedElementBehavior', () { |
+ TestChecked checked; |
+ |
+ setUp(() { |
+ checked = fixture('basic'); |
+ }); |
+ |
+ test('element checked when tapped to check', () { |
+ tap(checked); |
+ expect(checked.checked, isTrue); |
+ }); |
+ |
+ test('element checked when active', () { |
+ checked.active = true; |
+ expect(checked.checked, isTrue); |
+ }); |
+ |
+ test('element not checked when disabled and made active', () { |
+ checked.disabled = true; |
+ checked.active = true; |
+ expect(checked.checked, isFalse); |
+ }); |
+ |
+ test('element not checked when disabled and tapped', () { |
+ checked.disabled = true; |
+ tap(checked); |
+ expect(checked.checked, isFalse); |
+ }); |
+ |
+ test('element ripple has checked attribute when element tapped to check', |
+ () { |
+ tap(checked); |
+ expect(checked.hasRipple(), isTrue); |
+ expect(checked.getRipple().getAttribute('checked'), isNotNull); |
+ }); |
+ |
+ test( |
+ 'element ripple does not have checked attribute when element tapped to ' |
+ 'uncheck', () { |
+ tap(checked); |
+ tap(checked); |
+ expect(checked.getRipple().getAttribute('checked'), isNull); |
+ }); |
+ }); |
+} |
+ |
+@PolymerRegister('test-checked') |
+class TestChecked extends PolymerElement |
+ with |
+ IronA11yKeysBehavior, |
+ IronButtonState, |
+ IronControlState, |
+ PaperRippleBehavior, |
+ PaperInkyFocusBehavior, |
+ IronFormElementBehavior, |
+ IronValidatableBehavior, |
+ IronCheckedElementBehavior, |
+ PaperCheckedElementBehavior { |
+ TestChecked.created() : super.created(); |
+} |