OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file | 3 // BSD-style license that can be found in the LICENSE file |
4 | 4 |
5 library transition_event_test; | 5 library transition_event_test; |
6 import '../../pkg/unittest/lib/unittest.dart'; | 6 import '../../pkg/unittest/lib/unittest.dart'; |
7 import '../../pkg/unittest/lib/html_individual_config.dart'; | 7 import '../../pkg/unittest/lib/html_individual_config.dart'; |
8 import 'dart:html'; | 8 import 'dart:html'; |
9 import 'dart:async'; | |
10 | 9 |
11 main() { | 10 main() { |
12 useHtmlIndividualConfiguration(); | 11 useHtmlIndividualConfiguration(); |
13 | 12 |
14 group('supported', () { | 13 group('supported', () { |
15 test('supported', () { | 14 test('supported', () { |
16 expect(CssStyleDeclaration.supportsTransitions, true); | 15 expect(CssStyleDeclaration.supportsTransitions, true); |
17 }); | 16 }); |
18 }); | 17 }); |
19 | 18 |
20 group('functional', () { | 19 group('functional', () { |
21 test('transitionEnd', () { | 20 test('transitionEnd', () { |
22 if (CssStyleDeclaration.supportsTransitions) { | 21 if (CssStyleDeclaration.supportsTransitions) { |
23 var element = new DivElement(); | 22 var element = new DivElement(); |
24 document.body.append(element); | 23 document.body.append(element); |
25 | 24 |
26 element.style.opacity = '0'; | 25 element.style.opacity = '0'; |
27 element.style.width = '100px'; | 26 element.style.width = '100px'; |
28 element.style.height = '100px'; | 27 element.style.height = '100px'; |
29 element.style.background = 'red'; | 28 element.style.background = 'red'; |
30 element.style.transition = 'opacity .1s'; | 29 element.style.transition = 'opacity .1s'; |
31 | 30 |
32 new Timer(const Duration(milliseconds: 100), expectAsync0(() { | 31 window.setTimeout(expectAsync0(() { |
33 element.onTransitionEnd.first.then(expectAsync1((e) { | 32 element.onTransitionEnd.first.then(expectAsync1((e) { |
34 expect(e is TransitionEvent, isTrue); | 33 expect(e is TransitionEvent, isTrue); |
35 expect(e.propertyName, 'opacity'); | 34 expect(e.propertyName, 'opacity'); |
36 })); | 35 })); |
37 | 36 |
38 element.style.opacity = '1'; | 37 element.style.opacity = '1'; |
39 })); | 38 }), 100); |
40 } | 39 } |
41 }); | 40 }); |
42 }); | 41 }); |
43 } | 42 } |
OLD | NEW |