blob: 2025f307210a1584710bf178e15c0dd6ee91ea63 [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
// @dart = 2.9
library transition_event_test;
import 'dart:html';
import 'dart:async';
import 'package:expect/minitest.dart';
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 done = new Completer();
new Timer(const Duration(milliseconds: 100), () {
element.onTransitionEnd.first.then((e) {
expect(e is TransitionEvent, isTrue);
expect(e.propertyName, 'opacity');
}).then(done.complete, onError: done.completeError);
element.style.opacity = '1';
});
await done.future;
}
main() async {
expect(CssStyleDeclaration.supportsTransitions, isTrue);
if (CssStyleDeclaration.supportsTransitions) {
await testTransitionEnd();
}
}