blob: 98d0dc7ba7367c96c1c2e623229b45ca260a3133 [file] [log] [blame]
// 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 'dart:html';
import 'dart:async';
import 'package:async_helper/async_helper.dart';
import 'package:expect/minitest.dart'; // ignore: deprecated_member_use_from_same_package
Future testTransitionEnd() async {
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';
final eventFuture = element.onTransitionEnd.first;
await Future.delayed(const Duration(milliseconds: 100));
element.style.opacity = '1';
final e = await eventFuture;
expect(e is TransitionEvent, isTrue);
expect(e.propertyName, 'opacity');
}
main() {
asyncTest(() async {
expect(CssStyleDeclaration.supportsTransitions, isTrue);
if (CssStyleDeclaration.supportsTransitions) {
await testTransitionEnd();
}
});
}