transition.html revision f01d121976553130cab6089d35c71d5b947d1204
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney<link type="text/css" rel="stylesheet" href="/build/logreader/assets/skins/sam/logreader.css">
f01d121976553130cab6089d35c71d5b947d1204Matt Sweeney<script type="text/javascript" src="/build/yui/yui-debug.js"></script>
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney background: #ccc;
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney border: 5px solid green;
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney width: 200px;
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney height: 200px;
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney filter: "debug",
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney logInclude: { TestRunner: true }
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney}).use('transition', 'test', 'console', function (Y) {
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney var suite = new Y.Test.Suite('Transition Tests');
49b2441cfaf50222c256670b81ff734d8be3f9a4Matt Sweeney name: 'Single Transition Tests',
49b2441cfaf50222c256670b81ff734d8be3f9a4Matt Sweeney setUp: function() {
49b2441cfaf50222c256670b81ff734d8be3f9a4Matt Sweeney var node = Y.one('#demo');
49b2441cfaf50222c256670b81ff734d8be3f9a4Matt Sweeney height: '200px',
49b2441cfaf50222c256670b81ff734d8be3f9a4Matt Sweeney width: '200px',
f01d121976553130cab6089d35c71d5b947d1204Matt Sweeney borderWidth: '5px',
f01d121976553130cab6089d35c71d5b947d1204Matt Sweeney paddingTop: 0,
49b2441cfaf50222c256670b81ff734d8be3f9a4Matt Sweeney opacity: '1'
49b2441cfaf50222c256670b81ff734d8be3f9a4Matt Sweeney 'should end at final value': function() {
49b2441cfaf50222c256670b81ff734d8be3f9a4Matt Sweeney var node = Y.one('#demo'),
49b2441cfaf50222c256670b81ff734d8be3f9a4Matt Sweeney test = this;
49b2441cfaf50222c256670b81ff734d8be3f9a4Matt Sweeney }, function(e) {
49b2441cfaf50222c256670b81ff734d8be3f9a4Matt Sweeney Y.Assert.areEqual('0px', node.getComputedStyle('width'));
49b2441cfaf50222c256670b81ff734d8be3f9a4Matt Sweeney 'should end at final values': function() {
49b2441cfaf50222c256670b81ff734d8be3f9a4Matt Sweeney var node = Y.one('#demo'),
49b2441cfaf50222c256670b81ff734d8be3f9a4Matt Sweeney test = this;
49b2441cfaf50222c256670b81ff734d8be3f9a4Matt Sweeney duration: 1,
f01d121976553130cab6089d35c71d5b947d1204Matt Sweeney borderWidth: '1px',
f01d121976553130cab6089d35c71d5b947d1204Matt Sweeney foo: 0, // ignore non-supported
f01d121976553130cab6089d35c71d5b947d1204Matt Sweeney paddingTop: '100px'
49b2441cfaf50222c256670b81ff734d8be3f9a4Matt Sweeney }, function(e) {
49b2441cfaf50222c256670b81ff734d8be3f9a4Matt Sweeney Y.Assert.areEqual('0px', node.getComputedStyle('width'));
49b2441cfaf50222c256670b81ff734d8be3f9a4Matt Sweeney Y.Assert.areEqual('0px', node.getComputedStyle('height'));
49b2441cfaf50222c256670b81ff734d8be3f9a4Matt Sweeney Y.Assert.areEqual('0', node.getComputedStyle('opacity'));
f01d121976553130cab6089d35c71d5b947d1204Matt Sweeney Y.Assert.areEqual('100px', node.getComputedStyle('paddingTop'));
f01d121976553130cab6089d35c71d5b947d1204Matt Sweeney Y.Assert.areEqual('1px', node.getStyle('borderWidth'));
49b2441cfaf50222c256670b81ff734d8be3f9a4Matt Sweeney 'callback should fire after longest duration': function() {
49b2441cfaf50222c256670b81ff734d8be3f9a4Matt Sweeney var node = Y.one('#demo'),
49b2441cfaf50222c256670b81ff734d8be3f9a4Matt Sweeney test = this;
49b2441cfaf50222c256670b81ff734d8be3f9a4Matt Sweeney easing: 'ease-in',
49b2441cfaf50222c256670b81ff734d8be3f9a4Matt Sweeney duration: 1,
49b2441cfaf50222c256670b81ff734d8be3f9a4Matt Sweeney }, function(e) {
49b2441cfaf50222c256670b81ff734d8be3f9a4Matt Sweeney node.setStyle('height', '100px');
49b2441cfaf50222c256670b81ff734d8be3f9a4Matt Sweeney node.setStyle('opacity', '1');
49b2441cfaf50222c256670b81ff734d8be3f9a4Matt Sweeney Y.Assert.areEqual(1, node.getStyle('opacity'));
49b2441cfaf50222c256670b81ff734d8be3f9a4Matt Sweeney 'transition:end should fire after longest duration': function() {
49b2441cfaf50222c256670b81ff734d8be3f9a4Matt Sweeney var node = Y.one('#demo'),
49b2441cfaf50222c256670b81ff734d8be3f9a4Matt Sweeney test = this,
49b2441cfaf50222c256670b81ff734d8be3f9a4Matt Sweeney easing: 'ease-in',
49b2441cfaf50222c256670b81ff734d8be3f9a4Matt Sweeney duration: 1,
49b2441cfaf50222c256670b81ff734d8be3f9a4Matt Sweeney node.once('transition:end', function(e) {
49b2441cfaf50222c256670b81ff734d8be3f9a4Matt Sweeney node.setStyle('height', '100px');
49b2441cfaf50222c256670b81ff734d8be3f9a4Matt Sweeney node.setStyle('opacity', '1');
49b2441cfaf50222c256670b81ff734d8be3f9a4Matt Sweeney Y.Assert.areEqual(1, node.getStyle('opacity'));
49b2441cfaf50222c256670b81ff734d8be3f9a4Matt Sweeney 'setStyle should not transition': function() {
49b2441cfaf50222c256670b81ff734d8be3f9a4Matt Sweeney var node = Y.one('#demo'),
49b2441cfaf50222c256670b81ff734d8be3f9a4Matt Sweeney test = this;
49b2441cfaf50222c256670b81ff734d8be3f9a4Matt Sweeney node.setStyle('height', '100px');
49b2441cfaf50222c256670b81ff734d8be3f9a4Matt Sweeney Y.Assert.areEqual('100px', node.getComputedStyle('height'));
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney name: 'Multiple Transition Tests',
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney setUp: function() {
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney Y.one('#demo').setStyles({
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney height: '200px',
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney width: '200px',
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney opacity: '1'
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney 'all chained callbacks should fire': function() {
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney var node = Y.one('#demo'),
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney test = this;
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney }, function(e) {
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney Y.Assert.areEqual('0px', node.getComputedStyle('width'));
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney }, function(e) {
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney Y.Assert.areEqual('0px', node.getComputedStyle('height'));
85a258143f630b36522d3d1835a8e5a916dbad2cMatt Sweeney 'last transition should win for same property': function() {
85a258143f630b36522d3d1835a8e5a916dbad2cMatt Sweeney var node = Y.one('#demo'),
85a258143f630b36522d3d1835a8e5a916dbad2cMatt Sweeney test = this;
85a258143f630b36522d3d1835a8e5a916dbad2cMatt Sweeney }, function(e) {
85a258143f630b36522d3d1835a8e5a916dbad2cMatt Sweeney test.resume(function() { // shouldnt fire
85a258143f630b36522d3d1835a8e5a916dbad2cMatt Sweeney }, function(e) {
85a258143f630b36522d3d1835a8e5a916dbad2cMatt Sweeney test.resume(function() { // shouldnt fire
85a258143f630b36522d3d1835a8e5a916dbad2cMatt Sweeney }, function(e) {
85a258143f630b36522d3d1835a8e5a916dbad2cMatt Sweeney Y.Assert.areEqual('1', node.getComputedStyle('opacity'));
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney 'all serial callbacks should fire': function() {
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney var node = Y.one('#demo'),
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney test = this;
0dfbad86367ee46837c580e51d7d76e8bd6d88b7Matt Sweeney duration: 2,
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney }, function(e) {
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney Y.Assert.areEqual('0px', node.getComputedStyle('width'));
0dfbad86367ee46837c580e51d7d76e8bd6d88b7Matt Sweeney duration: 1,
0dfbad86367ee46837c580e51d7d76e8bd6d88b7Matt Sweeney }, function(e) {
0dfbad86367ee46837c580e51d7d76e8bd6d88b7Matt Sweeney Y.Assert.areEqual('0px', node.getComputedStyle('height'));
0dfbad86367ee46837c580e51d7d76e8bd6d88b7Matt Sweeney 'all serial callbacks should fire (duration)': function() {
0dfbad86367ee46837c580e51d7d76e8bd6d88b7Matt Sweeney var node = Y.one('#demo'),
0dfbad86367ee46837c580e51d7d76e8bd6d88b7Matt Sweeney test = this;
0dfbad86367ee46837c580e51d7d76e8bd6d88b7Matt Sweeney duration: 1,
0dfbad86367ee46837c580e51d7d76e8bd6d88b7Matt Sweeney }, function(e) {
0dfbad86367ee46837c580e51d7d76e8bd6d88b7Matt Sweeney Y.Assert.areEqual('0px', node.getComputedStyle('width'));
0dfbad86367ee46837c580e51d7d76e8bd6d88b7Matt Sweeney duration: 2,
0dfbad86367ee46837c580e51d7d76e8bd6d88b7Matt Sweeney }, function(e) {
0dfbad86367ee46837c580e51d7d76e8bd6d88b7Matt Sweeney Y.Assert.areEqual('0px', node.getComputedStyle('height'));
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney 'parallel transition should steal attribute': function() {
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney var node = Y.one('#demo'),
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney test = this;
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney }, function(e) { // should never fire
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney duration: 1,
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney }, function(e) {
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney Y.Assert.areEqual('0px', node.getComputedStyle('width'));
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney 'parallel transition should shorten duration': function() {
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney var node = Y.one('#demo'),
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney test = this;
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney easing: 'ease-in',
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney duration: 2,
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney }, function(e) {
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney duration: 1,
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney }, function(e) {
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney Y.Assert.areEqual('0', node.getComputedStyle('opacity'));
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney return suite;
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney verbose : true,
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney height: 600,
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney newestOnTop : false
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney }).render();
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney //add to the testrunner and run
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney /*if (parent && parent != window) {