transition.html revision f0d88feb1b7e3a775e0e9c8648faf84a32250546
4610465ed9408cbe434dbfb8be8ea53f48969c91Bob Halley<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
11e9368a226272085c337e9e74b79808c16fbdbaTinderbox User<html>
75c0816e8295e180f4bc7f10db3d0d880383bc1cMark Andrews<head>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<title>Transition tests</title>
4a14ce5ba00ab7bc55c99ffdcf59c7a4ab902721Automatic Updater<link type="text/css" rel="stylesheet" href="/build/logreader/assets/skins/sam/logreader.css">
4610465ed9408cbe434dbfb8be8ea53f48969c91Bob Halley<script type="text/javascript" src="/build/yui/yui.js"></script>
4610465ed9408cbe434dbfb8be8ea53f48969c91Bob Halley<style>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein.demo {
8a66318e41ed14c5a88130e8c362610e8faa2121Mark Andrews background: #ccc;
8a66318e41ed14c5a88130e8c362610e8faa2121Mark Andrews border: 5px solid green;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein width: 200px;
8a66318e41ed14c5a88130e8c362610e8faa2121Mark Andrews height: 200px;
8a66318e41ed14c5a88130e8c362610e8faa2121Mark Andrews}
8a66318e41ed14c5a88130e8c362610e8faa2121Mark Andrews
8a66318e41ed14c5a88130e8c362610e8faa2121Mark Andrews.demo div {
4610465ed9408cbe434dbfb8be8ea53f48969c91Bob Halley width: 200px;
ea94d370123a5892f6c47a97f21d1b28d44bb168Tinderbox User height: 200px;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein}
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein</style>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein</head>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<body class="yui3-skin-sam">
e21a2904f02a03fa06b6db04d348f65fe9c67b2bMark Andrews <h1>Transition Tests</h1>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <div class="demo"><div></div></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <div class="demo"><div></div></div>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<script type="text/javascript">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinYUI({
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein filter: "raw",
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein logInclude: { TestRunner: true }
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein}).use('transition', 'test', 'console', function (Y) {
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Y.namespace('Tests');
0f52ea95d861c237da324aa0c009638298069ec0Tinderbox User Y.Tests.Transition = (function(){
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein var suite = new Y.Test.Suite('Transition Tests');
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
11e9368a226272085c337e9e74b79808c16fbdbaTinderbox User suite.add(new Y.Test.Case({
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein name: 'property onend Tests',
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein 'should run the onend for the property': function() {
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein var node = Y.one('.demo'),
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein test = this;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein node.transition({
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein height: {
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein value: 0,
b2f07642fd712c8fda81a116bcdde229ab291f33Tinderbox User on: {
b2f07642fd712c8fda81a116bcdde229ab291f33Tinderbox User end: function() {
b2f07642fd712c8fda81a116bcdde229ab291f33Tinderbox User test.resume(function() {
c247e3f281613fabe1af362e9f3157e35ebbe52cMark Andrews Y.Assert.areEqual('0px', node.getComputedStyle('height'));
b2f07642fd712c8fda81a116bcdde229ab291f33Tinderbox User node.setStyle('height', '');
b2f07642fd712c8fda81a116bcdde229ab291f33Tinderbox User });
b2f07642fd712c8fda81a116bcdde229ab291f33Tinderbox User }
b2f07642fd712c8fda81a116bcdde229ab291f33Tinderbox User }
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein }
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein });
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein test.wait(1000);
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein }
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein }));
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein suite.add(new Y.Test.Case({
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein name: 'onstart Tests',
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein 'should run the onstart prior to setting target values': function() {
11e9368a226272085c337e9e74b79808c16fbdbaTinderbox User var node = Y.one('.demo'),
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein test = this,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein h = node.getComputedStyle('height'),
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein onstart = function() {
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein node.setStyle('height', 0);
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein };
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein node.setStyle('height', h);
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein node.transition({
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein height: function() {
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein return h;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein },
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein on: {
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein start: onstart
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein }
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein }, function() {
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein test.resume(function() {
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Y.Assert.areEqual(h, node.getComputedStyle('height'));
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein node.setStyle('height', '');
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein });
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein });
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein test.wait(1000);
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein }
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein }));
1224c3b69b3d18f7127aa042644936af25a2d679Mark Andrews
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein suite.add(new Y.Test.Case({
1224c3b69b3d18f7127aa042644936af25a2d679Mark Andrews name: 'onend Tests',
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
1224c3b69b3d18f7127aa042644936af25a2d679Mark Andrews 'should run the onend after transition completes': function() {
b2f07642fd712c8fda81a116bcdde229ab291f33Tinderbox User var node = Y.one('.demo'),
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein test = this;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein onend = function() {
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein test.resume(function() {
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Y.Assert.areEqual('0px', node.getComputedStyle('height'));
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein node.setStyle('height', '');
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein });
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein };
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
d3ddafd7469d1f3430ccd1b0fe0d13ccbbaf5debTinderbox User node.transition({
d3ddafd7469d1f3430ccd1b0fe0d13ccbbaf5debTinderbox User height: 0,
d3ddafd7469d1f3430ccd1b0fe0d13ccbbaf5debTinderbox User on: {
d3ddafd7469d1f3430ccd1b0fe0d13ccbbaf5debTinderbox User end: onend
d3ddafd7469d1f3430ccd1b0fe0d13ccbbaf5debTinderbox User }
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein });
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein test.wait(1000);
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein },
c247e3f281613fabe1af362e9f3157e35ebbe52cMark Andrews
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein 'should run the onend before callback': function() {
c247e3f281613fabe1af362e9f3157e35ebbe52cMark Andrews var node = Y.one('.demo'),
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein test = this,
c247e3f281613fabe1af362e9f3157e35ebbe52cMark Andrews h = node.getComputedStyle('height'),
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein onend = function() {
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein test.resume(function() {
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Y.Assert.areEqual(h, node.getComputedStyle('height'));
c247e3f281613fabe1af362e9f3157e35ebbe52cMark Andrews node.setStyle('height', h);
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein test.wait(1000);
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein });
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein };
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein node.setStyle('height', 0);
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein node.transition({
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein height: function() {
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein return h;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein },
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User on: {
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User end: onend
11e9368a226272085c337e9e74b79808c16fbdbaTinderbox User }
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein }, function() {
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User test.resume(function() {
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User Y.Assert.areEqual(h, node.getComputedStyle('height'));
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein node.setStyle('height', '');
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User });
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User });
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User test.wait(1000);
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User }
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User }));
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User suite.add(new Y.Test.Case({
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User name: 'Show Transition Tests',
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User 'should show the node with the default transition': function() {
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User var node = Y.one('.demo'),
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User test = this;
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User node.setStyle('display', 'none');
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User node.setStyle('opacity', '0');
4f9cb7bd58e2c0a7407fee3758ea265aee329ac6Tinderbox User node.show(true);
4f9cb7bd58e2c0a7407fee3758ea265aee329ac6Tinderbox User
4f9cb7bd58e2c0a7407fee3758ea265aee329ac6Tinderbox User Y.later(750, null, function() {
4f9cb7bd58e2c0a7407fee3758ea265aee329ac6Tinderbox User test.resume(function() {
4f9cb7bd58e2c0a7407fee3758ea265aee329ac6Tinderbox User Y.Assert.areEqual(1, node.getStyle('opacity'));
4f9cb7bd58e2c0a7407fee3758ea265aee329ac6Tinderbox User Y.Assert.areEqual('block', node.getStyle('display'));
4f9cb7bd58e2c0a7407fee3758ea265aee329ac6Tinderbox User });
4f9cb7bd58e2c0a7407fee3758ea265aee329ac6Tinderbox User });
4f9cb7bd58e2c0a7407fee3758ea265aee329ac6Tinderbox User test.wait(1000);
4f9cb7bd58e2c0a7407fee3758ea265aee329ac6Tinderbox User },
4f9cb7bd58e2c0a7407fee3758ea265aee329ac6Tinderbox User
4f9cb7bd58e2c0a7407fee3758ea265aee329ac6Tinderbox User 'should show the node with the default transition and fire callback': function() {
4f9cb7bd58e2c0a7407fee3758ea265aee329ac6Tinderbox User var node = Y.one('.demo'),
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User test = this;
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User node.setStyle('display', 'none');
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User node.setStyle('opacity', '0');
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User node.show(true, function() {
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User test.resume(function() {
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User Y.Assert.areEqual(1, node.getStyle('opacity'));
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User Y.Assert.areEqual('block', node.getStyle('display'));
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User });
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User });
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User test.wait(1000);
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User },
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User 'should show the node with the named transition': function() {
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User var node = Y.one('.demo'),
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User test = this,
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User h = node.getComputedStyle('height'),
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User w = node.getComputedStyle('width');
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User node.setStyles({
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User height: 0,
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User width: 0
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User });
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User node.show('sizeIn');
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User Y.later(750, null, function() {
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User test.resume(function() {
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User Y.Assert.areEqual(h, node.getComputedStyle('height'));
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User Y.Assert.areEqual(w, node.getComputedStyle('width'));
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User });
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User });
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User test.wait(1000);
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User },
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User 'should show the node with the named transition using passed config': function() {
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User var node = Y.one('.demo'),
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User test = this,
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User h = node.getComputedStyle('height'),
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User w = node.getComputedStyle('width');
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User node.setStyles({
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User height: 0,
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User width: 0,
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User opacity: 0
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User });
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User Y.Assert.areEqual(0, node.getComputedStyle('opacity'));
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User node.show('sizeIn', {
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User opacity: 1
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User });
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User Y.later(750, null, function() {
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User test.resume(function() {
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User Y.Assert.areEqual(h, node.getComputedStyle('height'));
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User Y.Assert.areEqual(w, node.getComputedStyle('width'));
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User Y.Assert.areEqual(1, node.getComputedStyle('opacity'));
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User });
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User });
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User test.wait(1000);
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User },
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User 'should show the node with the named transition and fire callback': function() {
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User var node = Y.one('.demo'),
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User test = this,
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User h = node.getComputedStyle('height'),
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User w = node.getComputedStyle('width');
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
f2016fcecf098726740507a5522dca04c49aeb82Tinderbox User node.setStyles({
f2016fcecf098726740507a5522dca04c49aeb82Tinderbox User height: 0,
f2016fcecf098726740507a5522dca04c49aeb82Tinderbox User width: 0
f2016fcecf098726740507a5522dca04c49aeb82Tinderbox User });
f2016fcecf098726740507a5522dca04c49aeb82Tinderbox User node.show('sizeIn', function() {
f2016fcecf098726740507a5522dca04c49aeb82Tinderbox User test.resume(function() {
f2016fcecf098726740507a5522dca04c49aeb82Tinderbox User Y.Assert.areEqual(h, node.getComputedStyle('height'));
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User Y.Assert.areEqual(w, node.getComputedStyle('width'));
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User });
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User });
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User test.wait(1000);
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User },
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User 'should override the default duration': function() {
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User var node = Y.one('.demo'),
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User test = this;
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User node.setStyle('opacity', 0);
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User node.show({duration: 1}, function(e) {
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User test.resume(function() {
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User Y.Assert.areEqual(1, parseInt(e.elapsedTime));
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User });
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User });
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User test.wait(2000);
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User }
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User }));
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User suite.add(new Y.Test.Case({
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User name: 'Hide Transition Tests',
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User 'should hide the node with the default transition': function() {
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User var node = Y.one('.demo'),
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User test = this;
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User node.hide(true, function() {
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User test.resume(function() {
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User Y.Assert.areEqual(0, node.getStyle('opacity'));
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User Y.Assert.areEqual('none', node.getStyle('display'));
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User node.setStyle('display', 'block');
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User node.setStyle('opacity', '1');
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User });
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User });
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User Y.Assert.areEqual('block', node.getStyle('display'));
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User test.wait(1000);
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User }
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User }));
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User suite.add(new Y.Test.Case({
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User name: 'Named Transition Tests',
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User/* serial effects not yet implemented
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User 'should run named effects in serial': function() {
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User var node = Y.one('.demo'),
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User test = this;
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User node.transition(['fadeOut', 'fadeIn'], function(e) {
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User test.resume(function() {
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User Y.Assert.areEqual(2, parseInt(e.elapsedTime));
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User });
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User });
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User test.wait(3000);
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User },
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User*/
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User 'should run named effect': function() {
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User var node = Y.one('.demo'),
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User test = this;
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User node.transition('fadeOut');
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User Y.later(750, null, function(e) {
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User test.resume(function() {
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User Y.Assert.areEqual(0, node.getStyle('opacity'));
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User });
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User });
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User test.wait(1000);
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User },
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User 'should run named effect with passed config': function() {
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User var node = Y.one('.demo'),
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User test = this;
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User node.transition('fadeOut', {height: 0});
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User Y.later(750, null, function(e) {
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User test.resume(function() {
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User Y.Assert.areEqual(0, node.getStyle('opacity'));
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User Y.Assert.areEqual('0px', node.getStyle('height'));
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User //node.setStyle('opacity', 1);
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User });
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User });
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User test.wait(1000);
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User },
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User 'should run named effect and fire callback': function() {
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User var node = Y.one('.demo'),
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User test = this;
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User node.transition('fadeOut', function(e) {
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User test.resume(function() {
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User Y.Assert.areEqual(0, node.getStyle('opacity'));
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User });
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User });
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User test.wait(4000);
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User },
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
5fa6a064b8301e4f274bd132fd577def59e4fb4cTinderbox User 'should override effect duration': function() {
5fa6a064b8301e4f274bd132fd577def59e4fb4cTinderbox User var node = Y.one('.demo'),
5fa6a064b8301e4f274bd132fd577def59e4fb4cTinderbox User test = this;
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
a24330c4805a224191ab687d0291963062fe3355Tinderbox User node.transition('fadeIn', {duration: 2}, function(e) {
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User test.resume(function() {
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User Y.Assert.areEqual(2, parseInt(e.elapsedTime));
5fa6a064b8301e4f274bd132fd577def59e4fb4cTinderbox User Y.Assert.areEqual(1, node.getStyle('opacity'));
5fa6a064b8301e4f274bd132fd577def59e4fb4cTinderbox User });
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User });
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User test.wait(3000);
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User }
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User }));
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User suite.add(new Y.Test.Case({
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User name: 'Multiple Transition Tests',
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User setUp: function() {
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User Y.one('.demo').setStyles({
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User height: '200px',
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User width: '200px',
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User opacity: '1'
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User });
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User },
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User 'all chained callbacks should fire': function() {
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User var node = Y.one('.demo'),
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User test = this;
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User node.transition({
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User width: 0
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User }, function(e) {
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User test.resume(function() {
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User Y.Assert.areEqual('0px', node.getComputedStyle('width'));
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User node.transition({
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User height: 0
f5c27ecceb6dcba6ad8b75172fe5f9823d7a6d42Tinderbox User }, function(e) {
f5c27ecceb6dcba6ad8b75172fe5f9823d7a6d42Tinderbox User test.resume(function() {
f5c27ecceb6dcba6ad8b75172fe5f9823d7a6d42Tinderbox User Y.Assert.areEqual('0px', node.getComputedStyle('height'));
f5c27ecceb6dcba6ad8b75172fe5f9823d7a6d42Tinderbox User });
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User });
6478b87fd23bcd3ab74c25b261021fe19a239c4fTinderbox User test.wait(1000);
6478b87fd23bcd3ab74c25b261021fe19a239c4fTinderbox User });
5fa6a064b8301e4f274bd132fd577def59e4fb4cTinderbox User });
f5c27ecceb6dcba6ad8b75172fe5f9823d7a6d42Tinderbox User
f5c27ecceb6dcba6ad8b75172fe5f9823d7a6d42Tinderbox User test.wait(1000);
f5c27ecceb6dcba6ad8b75172fe5f9823d7a6d42Tinderbox User },
6478b87fd23bcd3ab74c25b261021fe19a239c4fTinderbox User 'setStyle should not transition 1': function() {
f5c27ecceb6dcba6ad8b75172fe5f9823d7a6d42Tinderbox User var node = Y.one('.demo'),
f5c27ecceb6dcba6ad8b75172fe5f9823d7a6d42Tinderbox User test = this;
f5c27ecceb6dcba6ad8b75172fe5f9823d7a6d42Tinderbox User
f5c27ecceb6dcba6ad8b75172fe5f9823d7a6d42Tinderbox User node.setStyle('height', '100px');
f5c27ecceb6dcba6ad8b75172fe5f9823d7a6d42Tinderbox User Y.Assert.areEqual('100px', node.getComputedStyle('height'));
f5c27ecceb6dcba6ad8b75172fe5f9823d7a6d42Tinderbox User },
f5c27ecceb6dcba6ad8b75172fe5f9823d7a6d42Tinderbox User
6478b87fd23bcd3ab74c25b261021fe19a239c4fTinderbox User 'last transition should win for same property': function() {
f5c27ecceb6dcba6ad8b75172fe5f9823d7a6d42Tinderbox User var node = Y.one('.demo'),
f5c27ecceb6dcba6ad8b75172fe5f9823d7a6d42Tinderbox User test = this;
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User node.transition({
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User height: '100px'
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User }, function(e) {
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User test.resume(function() { // shouldnt fire
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User Y.Assert.isNull(1);
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User });
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User });
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User node.transition({
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User height: 0
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User }, function(e) {
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User test.resume(function() { // shouldnt fire
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User Y.Assert.isNull(1);
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User });
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User });
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User node.transition({
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User height: '100px'
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User }, function(e) {
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User test.resume(function() {
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User Y.Assert.areEqual('100px', node.getComputedStyle('height'));
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User });
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User });
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User test.wait(2000);
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User },
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User 'setStyle should not transition 2': function() {
f5c27ecceb6dcba6ad8b75172fe5f9823d7a6d42Tinderbox User var node = Y.one('.demo'),
f5c27ecceb6dcba6ad8b75172fe5f9823d7a6d42Tinderbox User test = this;
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User node.setStyle('height', '100px');
61ab11c0ec845606f85452b2c9f2e223772aae00Tinderbox User Y.Assert.areEqual('100px', node.getComputedStyle('height'));
f5c27ecceb6dcba6ad8b75172fe5f9823d7a6d42Tinderbox User },
f5c27ecceb6dcba6ad8b75172fe5f9823d7a6d42Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User 'all serial callbacks should fire': function() {
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User var node = Y.one('.demo'),
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User test = this;
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User node.transition({
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User duration: 2,
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User width: 0
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User }, function(e) {
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User test.resume(function() {
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User Y.Assert.areEqual('0px', node.getComputedStyle('width'));
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User });
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User });
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User node.transition({
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User duration: 1,
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User height: 0
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User }, function(e) {
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User test.resume(function() {
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User Y.Assert.areEqual('0px', node.getComputedStyle('height'));
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User test.wait(2000);
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User });
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User });
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User test.wait(2000);
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User },
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User 'setStyle should not transition 3': function() {
369963ad26cef09c3839d76c74c2d856f91be27aTinderbox User var node = Y.one('.demo'),
369963ad26cef09c3839d76c74c2d856f91be27aTinderbox User test = this;
369963ad26cef09c3839d76c74c2d856f91be27aTinderbox User
369963ad26cef09c3839d76c74c2d856f91be27aTinderbox User node.setStyle('height', '100px');
369963ad26cef09c3839d76c74c2d856f91be27aTinderbox User Y.Assert.areEqual('100px', node.getComputedStyle('height'));
369963ad26cef09c3839d76c74c2d856f91be27aTinderbox User },
369963ad26cef09c3839d76c74c2d856f91be27aTinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User 'all serial callbacks should fire (duration)': function() {
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User var node = Y.one('.demo'),
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User test = this;
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User node.transition({
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User duration: 1,
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User width: 0
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User }, function(e) {
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User test.resume(function() {
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User Y.Assert.areEqual('0px', node.getComputedStyle('width'));
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User test.wait(2000);
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User });
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User });
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User node.transition({
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User duration: 2,
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User height: 0
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User }, function(e) {
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User test.resume(function() {
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User Y.Assert.areEqual('0px', node.getComputedStyle('height'));
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User });
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User });
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User test.wait(2000);
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User },
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User 'setStyle should not transition 4': function() {
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User var node = Y.one('.demo'),
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User test = this;
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User node.setStyle('height', '100px');
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User Y.Assert.areEqual('100px', node.getComputedStyle('height'));
11e9368a226272085c337e9e74b79808c16fbdbaTinderbox User },
11e9368a226272085c337e9e74b79808c16fbdbaTinderbox User
11e9368a226272085c337e9e74b79808c16fbdbaTinderbox User 'parallel transition should steal attribute': function() {
11e9368a226272085c337e9e74b79808c16fbdbaTinderbox User var node = Y.one('.demo'),
11e9368a226272085c337e9e74b79808c16fbdbaTinderbox User test = this;
11e9368a226272085c337e9e74b79808c16fbdbaTinderbox User
11e9368a226272085c337e9e74b79808c16fbdbaTinderbox User node.transition({
11e9368a226272085c337e9e74b79808c16fbdbaTinderbox User width: 0
11e9368a226272085c337e9e74b79808c16fbdbaTinderbox User }, function(e) { // should never fire
11e9368a226272085c337e9e74b79808c16fbdbaTinderbox User test.resume(function() {
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User Y.Assert.isNull(1);
11e9368a226272085c337e9e74b79808c16fbdbaTinderbox User test.wait(2000);
11e9368a226272085c337e9e74b79808c16fbdbaTinderbox User });
11e9368a226272085c337e9e74b79808c16fbdbaTinderbox User
11e9368a226272085c337e9e74b79808c16fbdbaTinderbox User });
eaaf00efc02fdd4965f747afb51f881ac5a389d2Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User node.transition({
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User duration: 1,
74ae031d9d7780015c11242b71cecca905ada695Tinderbox User width: 0
74ae031d9d7780015c11242b71cecca905ada695Tinderbox User }, function(e) {
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User test.resume(function() {
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User Y.Assert.areEqual('0px', node.getComputedStyle('width'));
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User });
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User });
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User test.wait(2000);
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User },
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User 'setStyle should not transition 5': function() {
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User var node = Y.one('.demo'),
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User test = this;
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User node.setStyle('width', '100px');
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User Y.Assert.areEqual('100px', node.getComputedStyle('width'));
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User },
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User 'parallel transition should shorten duration': function() {
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User var node = Y.one('.demo'),
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User test = this;
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User node.transition({
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User easing: 'ease-in',
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User duration: 2,
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User opacity: {
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User value: 0,
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User duration: 3
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User },
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User height: 0,
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User width: 0
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User }, function(e) {
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User test.resume(function() {
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User Y.Assert.areEqual(2, parseInt(e.elapsedTime));
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User });
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User });
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User node.transition({
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User duration: 1,
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User opacity: 0
3c7b4ac4517ac9d78c9bf3e0e790cedce10ddc18Tinderbox User }, function(e) {
3c7b4ac4517ac9d78c9bf3e0e790cedce10ddc18Tinderbox User test.resume(function() {
3c7b4ac4517ac9d78c9bf3e0e790cedce10ddc18Tinderbox User Y.Assert.areEqual('0', node.getComputedStyle('opacity'));
3c7b4ac4517ac9d78c9bf3e0e790cedce10ddc18Tinderbox User Y.Assert.areEqual(1, parseInt(e.elapsedTime));
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User test.wait(2000);
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User });
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User });
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User test.wait(2500);
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User },
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User 'setStyle should not transition 6': function() {
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User var node = Y.one('.demo'),
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User test = this;
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User node.setStyle('height', '100px');
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User Y.Assert.areEqual('100px', node.getComputedStyle('height'));
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User }
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
eaaf00efc02fdd4965f747afb51f881ac5a389d2Tinderbox User }));
eaaf00efc02fdd4965f747afb51f881ac5a389d2Tinderbox User suite.add(new Y.Test.Case({
eaaf00efc02fdd4965f747afb51f881ac5a389d2Tinderbox User name: 'Multiple Element Tests',
eaaf00efc02fdd4965f747afb51f881ac5a389d2Tinderbox User setUp: function() {
eaaf00efc02fdd4965f747afb51f881ac5a389d2Tinderbox User Y.all('.demo').setStyles({
eaaf00efc02fdd4965f747afb51f881ac5a389d2Tinderbox User height: '200px',
eaaf00efc02fdd4965f747afb51f881ac5a389d2Tinderbox User width: '200px',
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User opacity: '1'
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User });
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein },
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein 'multiple elements should transition together': function() {
11e9368a226272085c337e9e74b79808c16fbdbaTinderbox User var nodes = Y.all('.demo'),
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein node1 = nodes.item(0),
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein node2 = nodes.item(1),
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein test = this;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein node1.transition({
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein duration: 1,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein height: 0
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein });
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
11e9368a226272085c337e9e74b79808c16fbdbaTinderbox User node2.transition({
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein height: '100px',
1d216bfaa764f2b40c57cf61987453c5a6fa9b0aMark Andrews duration: 2
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein }, function(e) {
d71e2e0c61df16ff37c9934c371a4a60c08974f7Mark Andrews test.resume(function () {
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Y.Assert.areEqual('0px', node1.getComputedStyle('height'), 'item 1 height');
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Y.Assert.areEqual('100px', node2.getComputedStyle('height'), 'item 2 height');
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Y.Assert.areEqual(2, parseInt(e.elapsedTime));
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein });
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein });
11e9368a226272085c337e9e74b79808c16fbdbaTinderbox User
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein test.wait(2500);
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein },
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein 'nodelist should transition together': function() {
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein var test = this,
resumed = false;
Y.all('.demo').transition({duration: 1, opacity: 0}, function(e) {
if (!resumed) {
test.resume(function() {
resumed = true;
var nodes = Y.all('.demo');
Y.Assert.areEqual(0, nodes.item(0).getStyle('opacity'));
Y.Assert.areEqual(1, parseInt(e.elapsedTime));
});
}
});
test.wait(2000);
}
}));
suite.add(new Y.Test.Case({
name: 'Single Transition Tests',
setUp: function() {
Y.all('.demo').setStyles({
height: '200px',
width: '200px',
borderWidth: '5px',
paddingTop: 0,
opacity: '1'
});
},
'should end at final value': function() {
var node = Y.one('.demo'),
test = this;
node.transition({
width: 0
}, function(e) {
test.resume(function() {
Y.Assert.areEqual('0px', node.getComputedStyle('width'));
});
});
test.wait(2000);
},
'should end at both final values': function() {
var node = Y.one('.demo'),
test = this;
node.transition({
opacity: {
easing: 'ease-out',
duration: 1.25,
value: 0
},
height: {
delay:1.25,
easing: 'ease-out',
value: 0
}
}, function(e) {
test.resume(function() {
Y.Assert.areEqual('0px', node.getComputedStyle('height'));
Y.Assert.areEqual('0', node.getComputedStyle('opacity'));
});
});
test.wait(2000);
},
'callback should fire when transitioning to current value': function() {
var node = Y.one('.demo'),
test = this;
node.transition({
duration: 1,
height: '200px',
width: 0
}, function(e) {
test.resume(function() {
Y.Assert.areEqual(1, parseInt(e.elapsedTime));
Y.Assert.areEqual('200px', node.getComputedStyle('height'));
Y.Assert.areEqual('0px', node.getComputedStyle('width'));
});
});
test.wait(2000);
},
'callback should fire when transitioning to current number value': function() {
var node = Y.one('.demo'),
test = this;
node.setStyle('width', 0);
node.transition({
duration: 1,
width: 0
}, function(e) {
test.resume(function() {
Y.Assert.areEqual(1, parseInt(e.elapsedTime));
Y.Assert.areEqual('0px', node.getComputedStyle('width'));
});
});
test.wait(2000);
},
'should end at all final values': function() {
var node = Y.one('.demo'),
test = this;
node.transition({
duration: 1,
width: 0,
height: 0,
opacity: 0,
borderWidth: '1px',
foo: 0, // ignore non-supported
paddingTop: '100px'
}, function(e) {
test.resume(function() {
Y.Assert.areEqual(1, parseInt(e.elapsedTime));
Y.Assert.areEqual('0px', node.getComputedStyle('width'));
Y.Assert.areEqual('0px', node.getComputedStyle('height'));
Y.Assert.areEqual('0', node.getComputedStyle('opacity'));
Y.Assert.areEqual('100px', node.getComputedStyle('paddingTop'));
Y.Assert.areEqual('1px', node.getStyle('borderWidth'));
});
});
test.wait(2000);
},
'callback should fire after longest duration': function() {
var node = Y.one('.demo'),
test = this;
node.transition({
easing: 'ease-in',
duration: 1,
opacity: {
value: 0,
duration: 2
},
height: 0,
width: 0
}, function(e) {
test.resume(function() {
Y.Assert.areEqual(2, parseInt(e.elapsedTime));
node.setStyle('height', '100px');
node.setStyle('opacity', '1');
Y.Assert.areEqual(1, node.getStyle('opacity'));
});
});
test.wait(3000);
},
/* deprecated
'transition:end should fire after longest duration': function() {
var node = Y.one('.demo'),
test = this,
config = {
easing: 'ease-in',
duration: 1,
opacity: {
value: 0,
duration: 2
},
height: 0,
width: 0
};
node.once('transition:end', function(e) {
test.resume(function() {
Y.Assert.areEqual(2, parseInt(e.elapsedTime));
Y.Assert.areSame(config, e.config);
node.setStyle('height', '100px');
node.setStyle('opacity', '1');
Y.Assert.areEqual(1, node.getStyle('opacity'));
});
});
node.transition(config);
test.wait(4000);
},
*/
'native transform should map to vendor prefix': function() {
var node = Y.one('.demo'),
test = this;
node.transition({
easing: 'ease',
duration: 1,
height: 0,
transform: 'rotate(180deg)'
}, function(e) {
test.resume(function() {
Y.Assert.areEqual(1, parseInt(e.elapsedTime));
node.setStyle('height', '100px');
if (Y.UA.webkit) {
Y.Assert.areEqual('matrix(-1, 1.22465e-16, -1.22465e-16, -1, 0, 0)', node.getComputedStyle('WebkitTransform'));
}
});
});
test.wait(2000);
},
'setStyle should not transition': function() {
var node = Y.one('.demo'),
test = this;
node.setStyle('height', '100px');
Y.Assert.areEqual('100px', node.getComputedStyle('height'));
},
'destroyed node should complete transition': function() {
var node = Y.one('.demo'),
test = this;
node.transition({
easing: 'ease',
duration: 1,
height: 0
}, function(e) {
test.resume(function() {
var node = Y.one('.demo');
Y.Assert.areEqual(1, parseInt(e.elapsedTime));
Y.Assert.areEqual('0px', node.getComputedStyle('height'));
});
});
node.destroy();
test.wait(2000);
}
}));
suite.add(new Y.Test.Case({
name: 'toggleView Tests',
'should force state with boolean first arg': function() {
var node = Y.one('.demo'),
test = this;
node.toggleView(false, function() {
test.resume(function() {
Y.Assert.areEqual(0, node.getStyle('opacity'));
node.destroy();
})
});
test.wait(2000);
}
}));
//return it
return suite;
})();
new Y.Console({
verbose : true,
height: 600,
newestOnTop : false
}).render();
//add to the testrunner and run
Y.Test.Runner.add(Y.Tests.Transition);
Y.Test.Runner.run();
/*if (parent && parent != window) {
YAHOO.tool.TestManager.load();
} else {
YAHOO.tool.TestRunner.run();
}*/
});
</script>
</body>
</html>