blob: 437601618a1d9de69cab77b10d43b90a3cbe48c3 [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: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();
}
}