OLD | NEW |
1 @TestOn('browser') | 1 @TestOn('browser') |
2 library polymer_elements.test.paper_button_behavior_test; | 2 library polymer_elements.test.paper_button_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_elements/iron_a11y_keys_behavior.dart'; | 8 import 'package:polymer_elements/iron_a11y_keys_behavior.dart'; |
9 import 'package:polymer_elements/iron_button_state.dart'; | 9 import 'package:polymer_elements/iron_button_state.dart'; |
10 import 'package:polymer_elements/iron_control_state.dart'; | 10 import 'package:polymer_elements/iron_control_state.dart'; |
11 import 'package:polymer_elements/paper_button_behavior.dart'; | 11 import 'package:polymer_elements/paper_button_behavior.dart'; |
| 12 import 'package:polymer_elements/paper_ripple_behavior.dart'; |
12 import 'package:polymer_interop/polymer_interop.dart'; | 13 import 'package:polymer_interop/polymer_interop.dart'; |
13 import 'package:polymer/polymer.dart'; | 14 import 'package:polymer/polymer.dart'; |
14 import 'package:test/test.dart'; | 15 import 'package:test/test.dart'; |
15 import 'package:web_components/web_components.dart'; | 16 import 'package:web_components/web_components.dart'; |
16 import 'common.dart'; | 17 import 'common.dart'; |
17 | 18 |
18 main() async { | 19 main() async { |
19 await initPolymer(); | 20 await initPolymer(); |
20 | 21 |
21 group('basic', () { | 22 group('basic', () { |
22 var button; | 23 TestButton button; |
23 | 24 |
24 setUp(() { | 25 setUp(() { |
25 button = fixture('basic'); | 26 button = fixture('basic'); |
26 }); | 27 }); |
27 | 28 |
28 test('normal (no states)', () { | 29 test('normal (no states)', () { |
29 expect(button.jsElement['_elevation'], 1); | 30 expect(button.elevation, 1); |
30 }); | 31 }); |
31 | 32 |
32 test('set disabled property', () { | 33 test('set disabled property', () { |
33 button.disabled = true; | 34 button.disabled = true; |
34 expect(button.jsElement['_elevation'], 0); | 35 expect(button.elevation, 0); |
35 }); | 36 }); |
36 | 37 |
37 test('pressed and released', () { | 38 test('pressed and released', () { |
38 down(button); | 39 down(button); |
39 expect(button.jsElement['_elevation'], 4); | 40 expect(button.elevation, 4); |
40 up(button); | 41 up(button); |
41 expect(button.jsElement['_elevation'], 1); | 42 expect(button.elevation, 1); |
42 }); | 43 }); |
43 | 44 |
44 group('a button with toggles', () { | 45 group('a button with toggles', () { |
45 setUp(() { | 46 setUp(() { |
46 button.toggles = true; | 47 button.toggles = true; |
47 }); | 48 }); |
48 | 49 |
49 test('activated by tap', () { | 50 test('activated by tap', () { |
50 var done = new Completer(); | 51 var done = new Completer(); |
51 downAndUp(button, () { | 52 downAndUp(button, () { |
52 expect(button.jsElement['_elevation'], 4); | 53 expect(button.elevation, 4); |
| 54 expect(button.hasRipple(), isTrue); |
53 done.complete(); | 55 done.complete(); |
54 }); | 56 }); |
55 return done.future; | 57 return done.future; |
56 }); | 58 }); |
57 }); | 59 }); |
58 | 60 |
59 test('receives focused', () { | 61 test('receives focused', () { |
60 focus(button); | 62 focus(button); |
61 expect(button.jsElement['_elevation'], 3); | 63 expect(button.elevation, 3); |
| 64 expect(button.hasRipple(), isTrue); |
62 }); | 65 }); |
63 }); | 66 }); |
64 } | 67 } |
65 | 68 |
66 @PolymerRegister('test-button') | 69 @PolymerRegister('test-button') |
67 class TestButton extends PolymerElement | 70 class TestButton extends PolymerElement |
68 with | 71 with |
69 IronA11yKeysBehavior, | 72 IronA11yKeysBehavior, |
70 IronButtonState, | 73 IronButtonState, |
71 IronControlState, | 74 IronControlState, |
| 75 PaperRippleBehavior, |
72 PaperButtonBehavior { | 76 PaperButtonBehavior { |
73 TestButton.created() : super.created(); | 77 TestButton.created() : super.created(); |
74 } | 78 } |
OLD | NEW |