blob: 99d41496bec3893cf84d6c9cd0bc807032788a39 [file] [log] [blame]
// Copyright (c) 2015, 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 element_animate_test;
import 'dart:async';
import 'dart:html';
import 'package:unittest/html_individual_config.dart';
import 'package:unittest/unittest.dart';
main() {
useHtmlIndividualConfiguration();
group('animate_supported', () {
test('supported', () {
expect(Animation.supported, isTrue);
});
});
group('simple_timing', () {
test('simple timing', () {
var body = document.body;
var opacity = num.parse(body.getComputedStyle().opacity);
body.animate([
{"opacity": 100},
{"opacity": 0}
], 100);
var newOpacity = num.parse(body.getComputedStyle().opacity);
expect(newOpacity == opacity, isTrue);
});
});
group('timing_dict', () {
test('timing dict', () {
var body = document.body;
// Animate different characteristics so the tests can run concurrently.
var fontSize = body.getComputedStyle().fontSize;
var player = body.animate([
{"font-size": "500px"},
{"font-size": fontSize}
], {
"duration": 100
});
var newFontSize = body.getComputedStyle().fontSize;
// Don't bother to parse to numbers, as long as it's changed that
// indicates something is happening.
expect(newFontSize == fontSize, isFalse);
player.on['finish'].listen(expectAsync((_) => 'done'));
});
});
group('omit_timing', () {
test('omit timing', () {
var body = document.body;
var player = body.animate([
{"transform": "translate(100px, -100%)"},
{"transform": "translate(400px, 500px)"}
]);
player.on['finish'].listen(expectAsync((_) => 'done'));
});
});
}