// 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(); } }