| // Copyright (c) 2013, 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 |
| |
| library transition_event_test; |
| import 'package:unittest/unittest.dart'; |
| import 'package:unittest/html_individual_config.dart'; |
| import 'dart:html'; |
| import 'dart:async'; |
| |
| main() { |
| useHtmlIndividualConfiguration(); |
| |
| group('supported', () { |
| test('supported', () { |
| expect(CssStyleDeclaration.supportsTransitions, true); |
| }); |
| }); |
| |
| group('functional', () { |
| test('transitionEnd', () { |
| if (CssStyleDeclaration.supportsTransitions) { |
| var element = new DivElement(); |
| document.body.append(element); |
| |
| element.style.opacity = '0'; |
| element.style.width = '100px'; |
| element.style.height = '100px'; |
| element.style.background = 'red'; |
| element.style.transition = 'opacity .1s'; |
| |
| new Timer(const Duration(milliseconds: 100), expectAsync(() { |
| element.onTransitionEnd.first.then(expectAsync((e) { |
| expect(e is TransitionEvent, isTrue); |
| expect(e.propertyName, 'opacity'); |
| })); |
| |
| element.style.opacity = '1'; |
| })); |
| } |
| }); |
| }); |
| } |