4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney<html>
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney<head>
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney<title>Transition tests</title>
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney<link type="text/css" rel="stylesheet" href="/build/logreader/assets/skins/sam/logreader.css">
564c5c8d77e1fe074bfa96133bfdbbd0707c1ed3Matt Sweeney<script type="text/javascript" src="/build/yui/yui.js"></script>
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney<style>
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney.demo {
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney background: #ccc;
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney border: 5px solid green;
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney width: 200px;
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney height: 200px;
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney}
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney.demo div {
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney width: 200px;
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney height: 200px;
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney}
c8e4d490297a285316d25bb12037408129938310Matt Sweeney
c8e4d490297a285316d25bb12037408129938310Matt Sweeney#yui-log {
c8e4d490297a285316d25bb12037408129938310Matt Sweeney background: #fff;
c8e4d490297a285316d25bb12037408129938310Matt Sweeney position: absolute;
c8e4d490297a285316d25bb12037408129938310Matt Sweeney top: 0;
c8e4d490297a285316d25bb12037408129938310Matt Sweeney right: 0;
c8e4d490297a285316d25bb12037408129938310Matt Sweeney width: 30em;
c8e4d490297a285316d25bb12037408129938310Matt Sweeney z-index:10;
c8e4d490297a285316d25bb12037408129938310Matt Sweeney}
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney</style>
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney</head>
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney<body class="yui3-skin-sam">
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney <h1>Transition Tests</h1>
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney <div class="demo"><div></div></div>
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney <div class="demo"><div></div></div>
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney
c8e4d490297a285316d25bb12037408129938310Matt Sweeney <div id="yui-log"></div>
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney<script type="text/javascript">
4a589644c0b4ea2684514116fbbad30d79536f8aMatt SweeneyYUI({
6b46efce647747114e18c280d614ff4e5ef7c423Matt Sweeney filter: (window.location.search.match(/[?&]filter=([^&]+)/) || [])[1] || 'min',
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney logInclude: { TestRunner: true }
c8e4d490297a285316d25bb12037408129938310Matt Sweeney}).use('transition', 'test', 'test-console', function (Y) {
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney Y.namespace('Tests');
c8e4d490297a285316d25bb12037408129938310Matt Sweeney new Y.Test.Console({node: '#yui-log'}).render('#yui-log');
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney Y.Tests.Transition = (function(){
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney var suite = new Y.Test.Suite('Transition Tests');
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney
056ec5e3a7c6ad7819398c8c3e6e225386c4bbd0Matt Sweeney suite.add(new Y.Test.Case({
056ec5e3a7c6ad7819398c8c3e6e225386c4bbd0Matt Sweeney name: 'property onend Tests',
056ec5e3a7c6ad7819398c8c3e6e225386c4bbd0Matt Sweeney
056ec5e3a7c6ad7819398c8c3e6e225386c4bbd0Matt Sweeney 'should run the onend for the property': function() {
056ec5e3a7c6ad7819398c8c3e6e225386c4bbd0Matt Sweeney
056ec5e3a7c6ad7819398c8c3e6e225386c4bbd0Matt Sweeney var node = Y.one('.demo'),
056ec5e3a7c6ad7819398c8c3e6e225386c4bbd0Matt Sweeney test = this;
056ec5e3a7c6ad7819398c8c3e6e225386c4bbd0Matt Sweeney
056ec5e3a7c6ad7819398c8c3e6e225386c4bbd0Matt Sweeney node.transition({
056ec5e3a7c6ad7819398c8c3e6e225386c4bbd0Matt Sweeney height: {
056ec5e3a7c6ad7819398c8c3e6e225386c4bbd0Matt Sweeney value: 0,
056ec5e3a7c6ad7819398c8c3e6e225386c4bbd0Matt Sweeney on: {
056ec5e3a7c6ad7819398c8c3e6e225386c4bbd0Matt Sweeney end: function() {
056ec5e3a7c6ad7819398c8c3e6e225386c4bbd0Matt Sweeney test.resume(function() {
056ec5e3a7c6ad7819398c8c3e6e225386c4bbd0Matt Sweeney Y.Assert.areEqual('0px', node.getComputedStyle('height'));
056ec5e3a7c6ad7819398c8c3e6e225386c4bbd0Matt Sweeney node.setStyle('height', '');
056ec5e3a7c6ad7819398c8c3e6e225386c4bbd0Matt Sweeney });
056ec5e3a7c6ad7819398c8c3e6e225386c4bbd0Matt Sweeney }
056ec5e3a7c6ad7819398c8c3e6e225386c4bbd0Matt Sweeney }
056ec5e3a7c6ad7819398c8c3e6e225386c4bbd0Matt Sweeney }
056ec5e3a7c6ad7819398c8c3e6e225386c4bbd0Matt Sweeney });
056ec5e3a7c6ad7819398c8c3e6e225386c4bbd0Matt Sweeney
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney test.wait(1000);
056ec5e3a7c6ad7819398c8c3e6e225386c4bbd0Matt Sweeney }
056ec5e3a7c6ad7819398c8c3e6e225386c4bbd0Matt Sweeney
056ec5e3a7c6ad7819398c8c3e6e225386c4bbd0Matt Sweeney }));
056ec5e3a7c6ad7819398c8c3e6e225386c4bbd0Matt Sweeney
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney suite.add(new Y.Test.Case({
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney name: 'onstart Tests',
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney 'should run the onstart prior to setting target values': function() {
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney var node = Y.one('.demo'),
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney test = this,
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney h = node.getComputedStyle('height'),
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney onstart = function() {
484ded111840f4104ab556e0628b0e84632eba34Matt Sweeney node.setStyle('height', 0);
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney };
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney node.setStyle('height', h);
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney node.transition({
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney height: function() {
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney return h;
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney },
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney on: {
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney start: onstart
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney }
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney }, function() {
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney test.resume(function() {
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney Y.Assert.areEqual(h, node.getComputedStyle('height'));
484ded111840f4104ab556e0628b0e84632eba34Matt Sweeney node.setStyle('height', '');
484ded111840f4104ab556e0628b0e84632eba34Matt Sweeney });
484ded111840f4104ab556e0628b0e84632eba34Matt Sweeney });
484ded111840f4104ab556e0628b0e84632eba34Matt Sweeney
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney test.wait(1000);
484ded111840f4104ab556e0628b0e84632eba34Matt Sweeney }
484ded111840f4104ab556e0628b0e84632eba34Matt Sweeney
484ded111840f4104ab556e0628b0e84632eba34Matt Sweeney }));
484ded111840f4104ab556e0628b0e84632eba34Matt Sweeney
484ded111840f4104ab556e0628b0e84632eba34Matt Sweeney suite.add(new Y.Test.Case({
484ded111840f4104ab556e0628b0e84632eba34Matt Sweeney name: 'onend Tests',
484ded111840f4104ab556e0628b0e84632eba34Matt Sweeney
484ded111840f4104ab556e0628b0e84632eba34Matt Sweeney 'should run the onend after transition completes': function() {
484ded111840f4104ab556e0628b0e84632eba34Matt Sweeney var node = Y.one('.demo'),
484ded111840f4104ab556e0628b0e84632eba34Matt Sweeney test = this;
484ded111840f4104ab556e0628b0e84632eba34Matt Sweeney onend = function() {
484ded111840f4104ab556e0628b0e84632eba34Matt Sweeney test.resume(function() {
484ded111840f4104ab556e0628b0e84632eba34Matt Sweeney Y.Assert.areEqual('0px', node.getComputedStyle('height'));
484ded111840f4104ab556e0628b0e84632eba34Matt Sweeney node.setStyle('height', '');
484ded111840f4104ab556e0628b0e84632eba34Matt Sweeney });
484ded111840f4104ab556e0628b0e84632eba34Matt Sweeney };
484ded111840f4104ab556e0628b0e84632eba34Matt Sweeney
484ded111840f4104ab556e0628b0e84632eba34Matt Sweeney node.transition({
484ded111840f4104ab556e0628b0e84632eba34Matt Sweeney height: 0,
484ded111840f4104ab556e0628b0e84632eba34Matt Sweeney on: {
484ded111840f4104ab556e0628b0e84632eba34Matt Sweeney end: onend
484ded111840f4104ab556e0628b0e84632eba34Matt Sweeney }
484ded111840f4104ab556e0628b0e84632eba34Matt Sweeney });
484ded111840f4104ab556e0628b0e84632eba34Matt Sweeney
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney test.wait(1000);
484ded111840f4104ab556e0628b0e84632eba34Matt Sweeney },
484ded111840f4104ab556e0628b0e84632eba34Matt Sweeney
484ded111840f4104ab556e0628b0e84632eba34Matt Sweeney 'should run the onend before callback': function() {
484ded111840f4104ab556e0628b0e84632eba34Matt Sweeney var node = Y.one('.demo'),
484ded111840f4104ab556e0628b0e84632eba34Matt Sweeney test = this,
484ded111840f4104ab556e0628b0e84632eba34Matt Sweeney h = node.getComputedStyle('height'),
484ded111840f4104ab556e0628b0e84632eba34Matt Sweeney onend = function() {
484ded111840f4104ab556e0628b0e84632eba34Matt Sweeney test.resume(function() {
484ded111840f4104ab556e0628b0e84632eba34Matt Sweeney Y.Assert.areEqual(h, node.getComputedStyle('height'));
484ded111840f4104ab556e0628b0e84632eba34Matt Sweeney node.setStyle('height', h);
484ded111840f4104ab556e0628b0e84632eba34Matt Sweeney test.wait(1000);
484ded111840f4104ab556e0628b0e84632eba34Matt Sweeney });
484ded111840f4104ab556e0628b0e84632eba34Matt Sweeney };
484ded111840f4104ab556e0628b0e84632eba34Matt Sweeney
484ded111840f4104ab556e0628b0e84632eba34Matt Sweeney node.setStyle('height', 0);
484ded111840f4104ab556e0628b0e84632eba34Matt Sweeney node.transition({
484ded111840f4104ab556e0628b0e84632eba34Matt Sweeney height: function() {
484ded111840f4104ab556e0628b0e84632eba34Matt Sweeney return h;
484ded111840f4104ab556e0628b0e84632eba34Matt Sweeney },
484ded111840f4104ab556e0628b0e84632eba34Matt Sweeney
484ded111840f4104ab556e0628b0e84632eba34Matt Sweeney on: {
484ded111840f4104ab556e0628b0e84632eba34Matt Sweeney end: onend
484ded111840f4104ab556e0628b0e84632eba34Matt Sweeney }
484ded111840f4104ab556e0628b0e84632eba34Matt Sweeney }, function() {
484ded111840f4104ab556e0628b0e84632eba34Matt Sweeney test.resume(function() {
484ded111840f4104ab556e0628b0e84632eba34Matt Sweeney Y.Assert.areEqual(h, node.getComputedStyle('height'));
484ded111840f4104ab556e0628b0e84632eba34Matt Sweeney node.setStyle('height', '');
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney });
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney });
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney test.wait(1000);
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney }
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney }));
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney suite.add(new Y.Test.Case({
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney name: 'Show Transition Tests',
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney 'should show the node with the default transition': function() {
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney var node = Y.one('.demo'),
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney test = this;
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney node.setStyle('display', 'none');
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney node.setStyle('opacity', '0');
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney node.show(true);
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney
c8e4d490297a285316d25bb12037408129938310Matt Sweeney Y.later(550, null, function() {
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney test.resume(function() {
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney Y.Assert.areEqual(1, node.getStyle('opacity'));
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney Y.Assert.areEqual('block', node.getStyle('display'));
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney });
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney });
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney test.wait(1000);
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney },
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney 'should show the node with the default transition and fire callback': function() {
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney var node = Y.one('.demo'),
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney test = this;
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney node.setStyle('display', 'none');
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney node.setStyle('opacity', '0');
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney node.show(true, function() {
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney test.resume(function() {
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney Y.Assert.areEqual(1, node.getStyle('opacity'));
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney Y.Assert.areEqual('block', node.getStyle('display'));
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney });
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney });
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney test.wait(1000);
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney },
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney 'should show the node with the named transition': function() {
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney var node = Y.one('.demo'),
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney test = this,
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney h = node.getComputedStyle('height'),
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney w = node.getComputedStyle('width');
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney node.setStyles({
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney height: 0,
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney width: 0
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney });
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney node.show('sizeIn');
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney
c8e4d490297a285316d25bb12037408129938310Matt Sweeney Y.later(600, null, function() {
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney test.resume(function() {
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney Y.Assert.areEqual(h, node.getComputedStyle('height'));
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney Y.Assert.areEqual(w, node.getComputedStyle('width'));
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney });
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney });
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney test.wait(1000);
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney },
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney 'should show the node with the named transition using passed config': function() {
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney var node = Y.one('.demo'),
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney test = this,
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney h = node.getComputedStyle('height'),
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney w = node.getComputedStyle('width');
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney node.setStyles({
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney height: 0,
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney width: 0,
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney opacity: 0
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney });
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney Y.Assert.areEqual(0, node.getComputedStyle('opacity'));
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney node.show('sizeIn', {
c8e4d490297a285316d25bb12037408129938310Matt Sweeney duration: 0.2,
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney opacity: 1
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney });
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney
c8e4d490297a285316d25bb12037408129938310Matt Sweeney Y.later(250, null, function() {
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney test.resume(function() {
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney Y.Assert.areEqual(h, node.getComputedStyle('height'));
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney Y.Assert.areEqual(w, node.getComputedStyle('width'));
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney Y.Assert.areEqual(1, node.getComputedStyle('opacity'));
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney });
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney });
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney test.wait(1000);
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney },
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney 'should show the node with the named transition and fire callback': function() {
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney var node = Y.one('.demo'),
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney test = this,
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney h = node.getComputedStyle('height'),
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney w = node.getComputedStyle('width');
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney node.setStyles({
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney height: 0,
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney width: 0
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney });
c8e4d490297a285316d25bb12037408129938310Matt Sweeney node.show('sizeIn', {duration: 0.2}, function() {
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney test.resume(function() {
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney Y.Assert.areEqual(h, node.getComputedStyle('height'));
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney Y.Assert.areEqual(w, node.getComputedStyle('width'));
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney });
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney });
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney test.wait(1000);
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney },
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney
484ded111840f4104ab556e0628b0e84632eba34Matt Sweeney 'should override the default duration': function() {
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney var node = Y.one('.demo'),
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney test = this;
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney node.setStyle('opacity', 0);
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney
c09e07fdf8558c40313b0b1701a91a9e2e0972e2Matt Sweeney node.show({duration: 0.2}, function(e) {
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney test.resume(function() {
c8e4d490297a285316d25bb12037408129938310Matt Sweeney Y.Assert.areEqual(2, parseInt(e.elapsedTime * 10));
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney });
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney });
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney test.wait(2000);
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney }
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney }));
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney suite.add(new Y.Test.Case({
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney name: 'Hide Transition Tests',
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney 'should hide the node with the default transition': function() {
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney var node = Y.one('.demo'),
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney test = this;
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney node.hide(true, function() {
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney test.resume(function() {
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney Y.Assert.areEqual(0, node.getStyle('opacity'));
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney Y.Assert.areEqual('none', node.getStyle('display'));
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney node.setStyle('display', 'block');
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney node.setStyle('opacity', '1');
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney });
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney });
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney Y.Assert.areEqual('block', node.getStyle('display'));
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney test.wait(1000);
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney }
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney }));
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney
49b2441cfaf50222c256670b81ff734d8be3f9a4Matt Sweeney
c56d37350cde9ba6fcde1a42433b3d759fe2b2ecMatt Sweeney suite.add(new Y.Test.Case({
c56d37350cde9ba6fcde1a42433b3d759fe2b2ecMatt Sweeney name: 'Named Transition Tests',
c56d37350cde9ba6fcde1a42433b3d759fe2b2ecMatt Sweeney
c56d37350cde9ba6fcde1a42433b3d759fe2b2ecMatt Sweeney 'should run named effect': function() {
c56d37350cde9ba6fcde1a42433b3d759fe2b2ecMatt Sweeney var node = Y.one('.demo'),
c56d37350cde9ba6fcde1a42433b3d759fe2b2ecMatt Sweeney test = this;
c56d37350cde9ba6fcde1a42433b3d759fe2b2ecMatt Sweeney
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney node.transition('fadeOut');
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney
c8e4d490297a285316d25bb12037408129938310Matt Sweeney Y.later(550, null, function(e) {
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney test.resume(function() {
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney Y.Assert.areEqual(0, node.getStyle('opacity'));
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney });
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney });
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney test.wait(1000);
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney },
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney 'should run named effect with passed config': function() {
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney var node = Y.one('.demo'),
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney test = this;
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney
c8e4d490297a285316d25bb12037408129938310Matt Sweeney node.transition('fadeOut', {duration: 0.2, height: '0px'});
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney
c8e4d490297a285316d25bb12037408129938310Matt Sweeney Y.later(250, null, function(e) {
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney test.resume(function() {
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney Y.Assert.areEqual(0, node.getStyle('opacity'));
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney Y.Assert.areEqual('0px', node.getStyle('height'));
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney //node.setStyle('opacity', 1);
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney });
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney });
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney test.wait(1000);
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney },
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney 'should run named effect and fire callback': function() {
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney var node = Y.one('.demo'),
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney test = this;
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney
c56d37350cde9ba6fcde1a42433b3d759fe2b2ecMatt Sweeney node.transition('fadeOut', function(e) {
c56d37350cde9ba6fcde1a42433b3d759fe2b2ecMatt Sweeney test.resume(function() {
c56d37350cde9ba6fcde1a42433b3d759fe2b2ecMatt Sweeney Y.Assert.areEqual(0, node.getStyle('opacity'));
c56d37350cde9ba6fcde1a42433b3d759fe2b2ecMatt Sweeney });
c56d37350cde9ba6fcde1a42433b3d759fe2b2ecMatt Sweeney });
c56d37350cde9ba6fcde1a42433b3d759fe2b2ecMatt Sweeney
c8e4d490297a285316d25bb12037408129938310Matt Sweeney test.wait(1000);
c56d37350cde9ba6fcde1a42433b3d759fe2b2ecMatt Sweeney },
c56d37350cde9ba6fcde1a42433b3d759fe2b2ecMatt Sweeney
73857faca3d4266c7840cd6ce428a71cf9a94d0cMatt Sweeney 'should override effect duration': function() {
c56d37350cde9ba6fcde1a42433b3d759fe2b2ecMatt Sweeney var node = Y.one('.demo'),
c56d37350cde9ba6fcde1a42433b3d759fe2b2ecMatt Sweeney test = this;
c56d37350cde9ba6fcde1a42433b3d759fe2b2ecMatt Sweeney
c8e4d490297a285316d25bb12037408129938310Matt Sweeney node.transition('fadeIn', {duration: 0.25}, function(e) {
c56d37350cde9ba6fcde1a42433b3d759fe2b2ecMatt Sweeney test.resume(function() {
c8e4d490297a285316d25bb12037408129938310Matt Sweeney Y.Assert.areEqual(2, parseInt(e.elapsedTime * 10));
c56d37350cde9ba6fcde1a42433b3d759fe2b2ecMatt Sweeney Y.Assert.areEqual(1, node.getStyle('opacity'));
c56d37350cde9ba6fcde1a42433b3d759fe2b2ecMatt Sweeney });
c56d37350cde9ba6fcde1a42433b3d759fe2b2ecMatt Sweeney });
c56d37350cde9ba6fcde1a42433b3d759fe2b2ecMatt Sweeney
c8e4d490297a285316d25bb12037408129938310Matt Sweeney test.wait(1000);
c56d37350cde9ba6fcde1a42433b3d759fe2b2ecMatt Sweeney }
c56d37350cde9ba6fcde1a42433b3d759fe2b2ecMatt Sweeney
c56d37350cde9ba6fcde1a42433b3d759fe2b2ecMatt Sweeney }));
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney suite.add(new Y.Test.Case({
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney name: 'Multiple Transition Tests',
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney setUp: function() {
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney Y.one('.demo').setStyles({
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney height: '200px',
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney width: '200px',
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney opacity: '1'
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney });
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney },
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney 'all chained callbacks should fire': function() {
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney var node = Y.one('.demo'),
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney test = this;
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney node.transition({
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney width: 0
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney }, function(e) {
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney test.resume(function() {
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney Y.Assert.areEqual('0px', node.getComputedStyle('width'));
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney node.transition({
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney height: 0
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney }, function(e) {
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney test.resume(function() {
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney Y.Assert.areEqual('0px', node.getComputedStyle('height'));
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney });
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney });
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney test.wait(1000);
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney });
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney });
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney test.wait(1000);
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney },
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney 'setStyle should not transition 1': function() {
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney var node = Y.one('.demo'),
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney test = this;
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney node.setStyle('height', '100px');
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney Y.Assert.areEqual('100px', node.getComputedStyle('height'));
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney },
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney
85a258143f630b36522d3d1835a8e5a916dbad2cMatt Sweeney 'last transition should win for same property': function() {
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney var node = Y.one('.demo'),
85a258143f630b36522d3d1835a8e5a916dbad2cMatt Sweeney test = this;
85a258143f630b36522d3d1835a8e5a916dbad2cMatt Sweeney
85a258143f630b36522d3d1835a8e5a916dbad2cMatt Sweeney node.transition({
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney height: '100px'
85a258143f630b36522d3d1835a8e5a916dbad2cMatt Sweeney }, function(e) {
85a258143f630b36522d3d1835a8e5a916dbad2cMatt Sweeney test.resume(function() { // shouldnt fire
85a258143f630b36522d3d1835a8e5a916dbad2cMatt Sweeney Y.Assert.isNull(1);
85a258143f630b36522d3d1835a8e5a916dbad2cMatt Sweeney });
85a258143f630b36522d3d1835a8e5a916dbad2cMatt Sweeney });
85a258143f630b36522d3d1835a8e5a916dbad2cMatt Sweeney
85a258143f630b36522d3d1835a8e5a916dbad2cMatt Sweeney node.transition({
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney height: 0
85a258143f630b36522d3d1835a8e5a916dbad2cMatt Sweeney }, function(e) {
85a258143f630b36522d3d1835a8e5a916dbad2cMatt Sweeney test.resume(function() { // shouldnt fire
85a258143f630b36522d3d1835a8e5a916dbad2cMatt Sweeney Y.Assert.isNull(1);
85a258143f630b36522d3d1835a8e5a916dbad2cMatt Sweeney });
85a258143f630b36522d3d1835a8e5a916dbad2cMatt Sweeney });
85a258143f630b36522d3d1835a8e5a916dbad2cMatt Sweeney
85a258143f630b36522d3d1835a8e5a916dbad2cMatt Sweeney node.transition({
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney height: '100px'
85a258143f630b36522d3d1835a8e5a916dbad2cMatt Sweeney }, function(e) {
85a258143f630b36522d3d1835a8e5a916dbad2cMatt Sweeney test.resume(function() {
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney Y.Assert.areEqual('100px', node.getComputedStyle('height'));
85a258143f630b36522d3d1835a8e5a916dbad2cMatt Sweeney });
85a258143f630b36522d3d1835a8e5a916dbad2cMatt Sweeney });
85a258143f630b36522d3d1835a8e5a916dbad2cMatt Sweeney
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney test.wait(2000);
85a258143f630b36522d3d1835a8e5a916dbad2cMatt Sweeney },
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney 'setStyle should not transition 2': function() {
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney var node = Y.one('.demo'),
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney test = this;
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney node.setStyle('height', '100px');
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney Y.Assert.areEqual('100px', node.getComputedStyle('height'));
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney },
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney 'all serial callbacks should fire': function() {
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney var node = Y.one('.demo'),
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney test = this;
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney node.transition({
0dfbad86367ee46837c580e51d7d76e8bd6d88b7Matt Sweeney duration: 2,
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney width: 0
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney }, function(e) {
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney test.resume(function() {
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney Y.Assert.areEqual('0px', node.getComputedStyle('width'));
0dfbad86367ee46837c580e51d7d76e8bd6d88b7Matt Sweeney });
0dfbad86367ee46837c580e51d7d76e8bd6d88b7Matt Sweeney });
0dfbad86367ee46837c580e51d7d76e8bd6d88b7Matt Sweeney
0dfbad86367ee46837c580e51d7d76e8bd6d88b7Matt Sweeney node.transition({
0dfbad86367ee46837c580e51d7d76e8bd6d88b7Matt Sweeney duration: 1,
0dfbad86367ee46837c580e51d7d76e8bd6d88b7Matt Sweeney height: 0
0dfbad86367ee46837c580e51d7d76e8bd6d88b7Matt Sweeney }, function(e) {
0dfbad86367ee46837c580e51d7d76e8bd6d88b7Matt Sweeney test.resume(function() {
0dfbad86367ee46837c580e51d7d76e8bd6d88b7Matt Sweeney Y.Assert.areEqual('0px', node.getComputedStyle('height'));
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney test.wait(2000);
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney });
0dfbad86367ee46837c580e51d7d76e8bd6d88b7Matt Sweeney });
0dfbad86367ee46837c580e51d7d76e8bd6d88b7Matt Sweeney
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney test.wait(2000);
0dfbad86367ee46837c580e51d7d76e8bd6d88b7Matt Sweeney },
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney 'setStyle should not transition 3': function() {
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney var node = Y.one('.demo'),
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney test = this;
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney node.setStyle('height', '100px');
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney Y.Assert.areEqual('100px', node.getComputedStyle('height'));
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney },
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney
0dfbad86367ee46837c580e51d7d76e8bd6d88b7Matt Sweeney 'all serial callbacks should fire (duration)': function() {
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney var node = Y.one('.demo'),
0dfbad86367ee46837c580e51d7d76e8bd6d88b7Matt Sweeney test = this;
0dfbad86367ee46837c580e51d7d76e8bd6d88b7Matt Sweeney
0dfbad86367ee46837c580e51d7d76e8bd6d88b7Matt Sweeney node.transition({
0dfbad86367ee46837c580e51d7d76e8bd6d88b7Matt Sweeney duration: 1,
0dfbad86367ee46837c580e51d7d76e8bd6d88b7Matt Sweeney width: 0
0dfbad86367ee46837c580e51d7d76e8bd6d88b7Matt Sweeney }, function(e) {
0dfbad86367ee46837c580e51d7d76e8bd6d88b7Matt Sweeney test.resume(function() {
0dfbad86367ee46837c580e51d7d76e8bd6d88b7Matt Sweeney Y.Assert.areEqual('0px', node.getComputedStyle('width'));
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney test.wait(2000);
0dfbad86367ee46837c580e51d7d76e8bd6d88b7Matt Sweeney });
0dfbad86367ee46837c580e51d7d76e8bd6d88b7Matt Sweeney });
0dfbad86367ee46837c580e51d7d76e8bd6d88b7Matt Sweeney
0dfbad86367ee46837c580e51d7d76e8bd6d88b7Matt Sweeney node.transition({
0dfbad86367ee46837c580e51d7d76e8bd6d88b7Matt Sweeney duration: 2,
0dfbad86367ee46837c580e51d7d76e8bd6d88b7Matt Sweeney height: 0
0dfbad86367ee46837c580e51d7d76e8bd6d88b7Matt Sweeney }, function(e) {
0dfbad86367ee46837c580e51d7d76e8bd6d88b7Matt Sweeney test.resume(function() {
0dfbad86367ee46837c580e51d7d76e8bd6d88b7Matt Sweeney Y.Assert.areEqual('0px', node.getComputedStyle('height'));
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney });
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney });
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney test.wait(2000);
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney },
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney 'setStyle should not transition 4': function() {
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney var node = Y.one('.demo'),
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney test = this;
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney node.setStyle('height', '100px');
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney Y.Assert.areEqual('100px', node.getComputedStyle('height'));
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney },
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney 'parallel transition should steal attribute': function() {
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney var node = Y.one('.demo'),
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney test = this;
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney node.transition({
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney width: 0
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney }, function(e) { // should never fire
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney test.resume(function() {
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney Y.Assert.isNull(1);
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney test.wait(2000);
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney });
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney });
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney node.transition({
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney duration: 1,
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney width: 0
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney }, function(e) {
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney test.resume(function() {
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney Y.Assert.areEqual('0px', node.getComputedStyle('width'));
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney });
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney });
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney test.wait(2000);
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney },
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney 'setStyle should not transition 5': function() {
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney var node = Y.one('.demo'),
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney test = this;
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney node.setStyle('width', '100px');
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney Y.Assert.areEqual('100px', node.getComputedStyle('width'));
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney },
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney 'parallel transition should shorten duration': function() {
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney var node = Y.one('.demo'),
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney test = this;
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney node.transition({
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney easing: 'ease-in',
f450ed71eb04b7496678633095eb2dce9bc96fb0Matt Sweeney duration: 0.2,
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney opacity: {
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney value: 0,
f450ed71eb04b7496678633095eb2dce9bc96fb0Matt Sweeney duration: 0.3
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney },
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney height: 0,
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney width: 0
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney }, function(e) {
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney test.resume(function() {
f450ed71eb04b7496678633095eb2dce9bc96fb0Matt Sweeney Y.Assert.areEqual(2, parseInt(e.elapsedTime * 10));
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney });
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney });
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney node.transition({
f450ed71eb04b7496678633095eb2dce9bc96fb0Matt Sweeney duration: 0.1,
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney opacity: 0
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney }, function(e) {
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney test.resume(function() {
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney Y.Assert.areEqual('0', node.getComputedStyle('opacity'));
f450ed71eb04b7496678633095eb2dce9bc96fb0Matt Sweeney Y.Assert.areEqual(1, parseInt(e.elapsedTime * 10));
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney test.wait(2000);
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney });
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney });
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney test.wait(2500);
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney },
bf3c648d6ab588c8b04fb824a7281898c469bd67Matt Sweeney
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney 'setStyle should not transition 6': function() {
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney var node = Y.one('.demo'),
bf3c648d6ab588c8b04fb824a7281898c469bd67Matt Sweeney test = this;
bf3c648d6ab588c8b04fb824a7281898c469bd67Matt Sweeney
bf3c648d6ab588c8b04fb824a7281898c469bd67Matt Sweeney node.setStyle('height', '100px');
bf3c648d6ab588c8b04fb824a7281898c469bd67Matt Sweeney Y.Assert.areEqual('100px', node.getComputedStyle('height'));
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney }
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney }));
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney suite.add(new Y.Test.Case({
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney name: 'Multiple Element Tests',
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney setUp: function() {
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney Y.all('.demo').setStyles({
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney height: '200px',
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney width: '200px',
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney opacity: '1'
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney });
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney },
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney 'multiple elements should transition together': function() {
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney var nodes = Y.all('.demo'),
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney node1 = nodes.item(0),
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney node2 = nodes.item(1),
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney test = this;
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney node1.transition({
c8e4d490297a285316d25bb12037408129938310Matt Sweeney duration: 0.15,
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney height: 0
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney });
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney node2.transition({
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney height: '100px',
c8e4d490297a285316d25bb12037408129938310Matt Sweeney duration: 0.25
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney }, function(e) {
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney test.resume(function () {
564c5c8d77e1fe074bfa96133bfdbbd0707c1ed3Matt Sweeney Y.Assert.areEqual('0px', node1.getComputedStyle('height'), 'item 1 height');
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney Y.Assert.areEqual('100px', node2.getComputedStyle('height'), 'item 2 height');
c8e4d490297a285316d25bb12037408129938310Matt Sweeney Y.Assert.areEqual(2, parseInt(e.elapsedTime * 10));
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney });
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney });
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney test.wait(2500);
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney },
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney 'nodelist should transition together': function() {
564c5c8d77e1fe074bfa96133bfdbbd0707c1ed3Matt Sweeney var test = this,
564c5c8d77e1fe074bfa96133bfdbbd0707c1ed3Matt Sweeney resumed = false;
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney
c8e4d490297a285316d25bb12037408129938310Matt Sweeney Y.all('.demo').transition({duration: 0.15, opacity: 0}, function(e) {
564c5c8d77e1fe074bfa96133bfdbbd0707c1ed3Matt Sweeney if (!resumed) {
564c5c8d77e1fe074bfa96133bfdbbd0707c1ed3Matt Sweeney test.resume(function() {
564c5c8d77e1fe074bfa96133bfdbbd0707c1ed3Matt Sweeney resumed = true;
564c5c8d77e1fe074bfa96133bfdbbd0707c1ed3Matt Sweeney var nodes = Y.all('.demo');
564c5c8d77e1fe074bfa96133bfdbbd0707c1ed3Matt Sweeney Y.Assert.areEqual(0, nodes.item(0).getStyle('opacity'));
c8e4d490297a285316d25bb12037408129938310Matt Sweeney Y.Assert.areEqual(1, parseInt(e.elapsedTime * 10));
564c5c8d77e1fe074bfa96133bfdbbd0707c1ed3Matt Sweeney });
564c5c8d77e1fe074bfa96133bfdbbd0707c1ed3Matt Sweeney }
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney });
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney test.wait(2000);
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney }
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney }));
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney suite.add(new Y.Test.Case({
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney name: 'Single Transition Tests',
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney setUp: function() {
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney Y.all('.demo').setStyles({
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney height: '200px',
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney width: '200px',
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney borderWidth: '5px',
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney paddingTop: 0,
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney opacity: '1'
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney });
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney },
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney 'should end at final value': function() {
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney var node = Y.one('.demo'),
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney test = this;
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney node.transition({
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney width: 0
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney }, function(e) {
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney test.resume(function() {
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney Y.Assert.areEqual('0px', node.getComputedStyle('width'));
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney });
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney });
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney test.wait(2000);
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney },
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney
142b1eb4e6b33c96ecf163bf42d31147b2e0e1d0Matt Sweeney 'should end at both final values': function() {
142b1eb4e6b33c96ecf163bf42d31147b2e0e1d0Matt Sweeney var node = Y.one('.demo'),
142b1eb4e6b33c96ecf163bf42d31147b2e0e1d0Matt Sweeney test = this;
142b1eb4e6b33c96ecf163bf42d31147b2e0e1d0Matt Sweeney
142b1eb4e6b33c96ecf163bf42d31147b2e0e1d0Matt Sweeney node.transition({
142b1eb4e6b33c96ecf163bf42d31147b2e0e1d0Matt Sweeney opacity: {
142b1eb4e6b33c96ecf163bf42d31147b2e0e1d0Matt Sweeney easing: 'ease-out',
142b1eb4e6b33c96ecf163bf42d31147b2e0e1d0Matt Sweeney duration: 1.25,
142b1eb4e6b33c96ecf163bf42d31147b2e0e1d0Matt Sweeney value: 0
142b1eb4e6b33c96ecf163bf42d31147b2e0e1d0Matt Sweeney },
142b1eb4e6b33c96ecf163bf42d31147b2e0e1d0Matt Sweeney height: {
142b1eb4e6b33c96ecf163bf42d31147b2e0e1d0Matt Sweeney delay:1.25,
142b1eb4e6b33c96ecf163bf42d31147b2e0e1d0Matt Sweeney easing: 'ease-out',
142b1eb4e6b33c96ecf163bf42d31147b2e0e1d0Matt Sweeney value: 0
142b1eb4e6b33c96ecf163bf42d31147b2e0e1d0Matt Sweeney }
142b1eb4e6b33c96ecf163bf42d31147b2e0e1d0Matt Sweeney }, function(e) {
142b1eb4e6b33c96ecf163bf42d31147b2e0e1d0Matt Sweeney test.resume(function() {
142b1eb4e6b33c96ecf163bf42d31147b2e0e1d0Matt Sweeney Y.Assert.areEqual('0px', node.getComputedStyle('height'));
142b1eb4e6b33c96ecf163bf42d31147b2e0e1d0Matt Sweeney Y.Assert.areEqual('0', node.getComputedStyle('opacity'));
142b1eb4e6b33c96ecf163bf42d31147b2e0e1d0Matt Sweeney });
142b1eb4e6b33c96ecf163bf42d31147b2e0e1d0Matt Sweeney });
142b1eb4e6b33c96ecf163bf42d31147b2e0e1d0Matt Sweeney
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney test.wait(2000);
142b1eb4e6b33c96ecf163bf42d31147b2e0e1d0Matt Sweeney },
142b1eb4e6b33c96ecf163bf42d31147b2e0e1d0Matt Sweeney
0df23d09dc16bc41af5ceff68c11ed9c7d6285edMatt Sweeney 'callback should fire when transitioning to current value': function() {
0df23d09dc16bc41af5ceff68c11ed9c7d6285edMatt Sweeney var node = Y.one('.demo'),
0df23d09dc16bc41af5ceff68c11ed9c7d6285edMatt Sweeney test = this;
0df23d09dc16bc41af5ceff68c11ed9c7d6285edMatt Sweeney
0df23d09dc16bc41af5ceff68c11ed9c7d6285edMatt Sweeney node.transition({
c8e4d490297a285316d25bb12037408129938310Matt Sweeney duration: 0.15,
0df23d09dc16bc41af5ceff68c11ed9c7d6285edMatt Sweeney height: '200px',
0df23d09dc16bc41af5ceff68c11ed9c7d6285edMatt Sweeney width: 0
0df23d09dc16bc41af5ceff68c11ed9c7d6285edMatt Sweeney }, function(e) {
0df23d09dc16bc41af5ceff68c11ed9c7d6285edMatt Sweeney test.resume(function() {
c8e4d490297a285316d25bb12037408129938310Matt Sweeney Y.Assert.areEqual(1, parseInt(e.elapsedTime * 10));
0df23d09dc16bc41af5ceff68c11ed9c7d6285edMatt Sweeney Y.Assert.areEqual('200px', node.getComputedStyle('height'));
0df23d09dc16bc41af5ceff68c11ed9c7d6285edMatt Sweeney Y.Assert.areEqual('0px', node.getComputedStyle('width'));
0df23d09dc16bc41af5ceff68c11ed9c7d6285edMatt Sweeney });
0df23d09dc16bc41af5ceff68c11ed9c7d6285edMatt Sweeney });
0df23d09dc16bc41af5ceff68c11ed9c7d6285edMatt Sweeney
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney test.wait(2000);
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney },
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney 'callback should fire when transitioning to current number value': function() {
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney var node = Y.one('.demo'),
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney test = this;
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney node.setStyle('width', 0);
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney node.transition({
c8e4d490297a285316d25bb12037408129938310Matt Sweeney duration: 0.15,
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney width: 0
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney }, function(e) {
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney test.resume(function() {
c8e4d490297a285316d25bb12037408129938310Matt Sweeney Y.Assert.areEqual(1, parseInt(e.elapsedTime * 10));
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney Y.Assert.areEqual('0px', node.getComputedStyle('width'));
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney });
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney });
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney test.wait(2000);
0df23d09dc16bc41af5ceff68c11ed9c7d6285edMatt Sweeney
0df23d09dc16bc41af5ceff68c11ed9c7d6285edMatt Sweeney },
0df23d09dc16bc41af5ceff68c11ed9c7d6285edMatt Sweeney
142b1eb4e6b33c96ecf163bf42d31147b2e0e1d0Matt Sweeney 'should end at all final values': function() {
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney var node = Y.one('.demo'),
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney test = this;
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney node.transition({
c8e4d490297a285316d25bb12037408129938310Matt Sweeney duration: 0.15,
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney width: 0,
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney height: 0,
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney opacity: 0,
2e49faa8717cc2acbd7ab2aac237061848568a6cMatt Sweeney borderTopWidth: '1px',
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney foo: 0, // ignore non-supported
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney paddingTop: '100px'
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney }, function(e) {
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney test.resume(function() {
c8e4d490297a285316d25bb12037408129938310Matt Sweeney Y.Assert.areEqual(1, parseInt(e.elapsedTime * 10));
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney Y.Assert.areEqual('0px', node.getComputedStyle('width'));
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney Y.Assert.areEqual('0px', node.getComputedStyle('height'));
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney Y.Assert.areEqual('0', node.getComputedStyle('opacity'));
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney Y.Assert.areEqual('100px', node.getComputedStyle('paddingTop'));
2e49faa8717cc2acbd7ab2aac237061848568a6cMatt Sweeney Y.Assert.areEqual('1px', node.getStyle('borderTopWidth'));
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney });
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney });
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney test.wait(2000);
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney },
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney 'callback should fire after longest duration': function() {
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney var node = Y.one('.demo'),
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney test = this;
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney node.transition({
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney easing: 'ease-in',
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney duration: 1,
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney opacity: {
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney value: 0,
c8e4d490297a285316d25bb12037408129938310Matt Sweeney duration: 0.25
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney },
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney height: 0,
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney width: 0
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney }, function(e) {
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney test.resume(function() {
c8e4d490297a285316d25bb12037408129938310Matt Sweeney Y.Assert.areEqual(10, parseInt(e.elapsedTime * 10));
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney node.setStyle('height', '100px');
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney node.setStyle('opacity', '1');
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney Y.Assert.areEqual(1, node.getStyle('opacity'));
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney });
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney });
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney test.wait(3000);
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney },
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney 'native transform should map to vendor prefix': function() {
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney var node = Y.one('.demo'),
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney test = this;
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney node.transition({
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney easing: 'ease',
f450ed71eb04b7496678633095eb2dce9bc96fb0Matt Sweeney duration: 0.1,
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney height: 0,
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney transform: 'rotate(180deg)'
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney }, function(e) {
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney test.resume(function() {
f450ed71eb04b7496678633095eb2dce9bc96fb0Matt Sweeney Y.Assert.areEqual(1, parseInt(e.elapsedTime * 10));
564c5c8d77e1fe074bfa96133bfdbbd0707c1ed3Matt Sweeney node.setStyle('height', '100px');
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney if (Y.UA.webkit) {
2e49faa8717cc2acbd7ab2aac237061848568a6cMatt Sweeney Y.Assert.areEqual('matrix(-1, 0.00000000000000012246467991473532, -0.00000000000000012246467991473532, -1, 0, 0)', node.getComputedStyle('WebkitTransform'));
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney }
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney });
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney });
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney test.wait(2000);
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney },
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney 'setStyle should not transition': function() {
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney var node = Y.one('.demo'),
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney test = this;
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney node.setStyle('height', '100px');
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney Y.Assert.areEqual('100px', node.getComputedStyle('height'));
564c5c8d77e1fe074bfa96133bfdbbd0707c1ed3Matt Sweeney },
564c5c8d77e1fe074bfa96133bfdbbd0707c1ed3Matt Sweeney
564c5c8d77e1fe074bfa96133bfdbbd0707c1ed3Matt Sweeney 'destroyed node should complete transition': function() {
564c5c8d77e1fe074bfa96133bfdbbd0707c1ed3Matt Sweeney var node = Y.one('.demo'),
564c5c8d77e1fe074bfa96133bfdbbd0707c1ed3Matt Sweeney test = this;
100cd7da99ccec416d3021e9a567addc2d9ed3dfMatt Sweeney
564c5c8d77e1fe074bfa96133bfdbbd0707c1ed3Matt Sweeney node.transition({
564c5c8d77e1fe074bfa96133bfdbbd0707c1ed3Matt Sweeney easing: 'ease',
f450ed71eb04b7496678633095eb2dce9bc96fb0Matt Sweeney duration: 0.1,
564c5c8d77e1fe074bfa96133bfdbbd0707c1ed3Matt Sweeney height: 0
564c5c8d77e1fe074bfa96133bfdbbd0707c1ed3Matt Sweeney }, function(e) {
564c5c8d77e1fe074bfa96133bfdbbd0707c1ed3Matt Sweeney test.resume(function() {
564c5c8d77e1fe074bfa96133bfdbbd0707c1ed3Matt Sweeney var node = Y.one('.demo');
f450ed71eb04b7496678633095eb2dce9bc96fb0Matt Sweeney Y.Assert.areEqual(1, parseInt(e.elapsedTime * 10));
564c5c8d77e1fe074bfa96133bfdbbd0707c1ed3Matt Sweeney Y.Assert.areEqual('0px', node.getComputedStyle('height'));
564c5c8d77e1fe074bfa96133bfdbbd0707c1ed3Matt Sweeney });
564c5c8d77e1fe074bfa96133bfdbbd0707c1ed3Matt Sweeney });
564c5c8d77e1fe074bfa96133bfdbbd0707c1ed3Matt Sweeney node.destroy();
5985d0db35cae8ef4c1a022bb03ac15792ff51adMatt Sweeney test.wait(2000);
791ee0d70de75fc9e57367fbc95c336c39659666Matt Sweeney },
791ee0d70de75fc9e57367fbc95c336c39659666Matt Sweeney
791ee0d70de75fc9e57367fbc95c336c39659666Matt Sweeney 'should clean up style object': function() {
791ee0d70de75fc9e57367fbc95c336c39659666Matt Sweeney
564c5c8d77e1fe074bfa96133bfdbbd0707c1ed3Matt Sweeney }
791ee0d70de75fc9e57367fbc95c336c39659666Matt Sweeney }));
c56d37350cde9ba6fcde1a42433b3d759fe2b2ecMatt Sweeney
f0d88feb1b7e3a775e0e9c8648faf84a32250546Matt Sweeney suite.add(new Y.Test.Case({
f0d88feb1b7e3a775e0e9c8648faf84a32250546Matt Sweeney name: 'toggleView Tests',
f0d88feb1b7e3a775e0e9c8648faf84a32250546Matt Sweeney
f0d88feb1b7e3a775e0e9c8648faf84a32250546Matt Sweeney 'should force state with boolean first arg': function() {
f0d88feb1b7e3a775e0e9c8648faf84a32250546Matt Sweeney var node = Y.one('.demo'),
f0d88feb1b7e3a775e0e9c8648faf84a32250546Matt Sweeney test = this;
f0d88feb1b7e3a775e0e9c8648faf84a32250546Matt Sweeney
f0d88feb1b7e3a775e0e9c8648faf84a32250546Matt Sweeney node.toggleView(false, function() {
f0d88feb1b7e3a775e0e9c8648faf84a32250546Matt Sweeney test.resume(function() {
f0d88feb1b7e3a775e0e9c8648faf84a32250546Matt Sweeney Y.Assert.areEqual(0, node.getStyle('opacity'));
f0d88feb1b7e3a775e0e9c8648faf84a32250546Matt Sweeney node.destroy();
f0d88feb1b7e3a775e0e9c8648faf84a32250546Matt Sweeney })
f0d88feb1b7e3a775e0e9c8648faf84a32250546Matt Sweeney });
f0d88feb1b7e3a775e0e9c8648faf84a32250546Matt Sweeney test.wait(2000);
f0d88feb1b7e3a775e0e9c8648faf84a32250546Matt Sweeney }
f0d88feb1b7e3a775e0e9c8648faf84a32250546Matt Sweeney
f0d88feb1b7e3a775e0e9c8648faf84a32250546Matt Sweeney }));
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney //return it
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney return suite;
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney })();
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney
c8e4d490297a285316d25bb12037408129938310Matt Sweeney/*
c8e4d490297a285316d25bb12037408129938310Matt Sweeney Y.Test.Runner.subscribe(Y.Test.Runner.COMPLETE_EVENT, function(e) {
c8e4d490297a285316d25bb12037408129938310Matt Sweeney });
c8e4d490297a285316d25bb12037408129938310Matt Sweeney*/
c8e4d490297a285316d25bb12037408129938310Matt Sweeney
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney //add to the testrunner and run
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney Y.Test.Runner.add(Y.Tests.Transition);
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney Y.Test.Runner.run();
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney});
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney</script>
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney</body>
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney</html>