transition.html revision b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baff
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">
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney<script type="text/javascript" src="/build/yui/yui.js"></script>
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney<style>
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney#demo {
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney background: #ccc;
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney border: 5px solid green;
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney width: 200px;
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney height: 200px;
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney}
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney</style>
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney</head>
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney<body class="yui3-skin-sam">
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney <h1>Transition Tests</h1>
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney <div id="demo"></div>
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney<script type="text/javascript">
4a589644c0b4ea2684514116fbbad30d79536f8aMatt SweeneyYUI({
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney filter: "debug",
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney logInclude: { TestRunner: true }
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney}).use('transition', 'test', 'console', function (Y) {
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney Y.namespace('Tests');
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney Y.Tests.Transition = (function(){
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney var suite = new Y.Test.Suite('Transition Tests');
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney suite.add(new Y.Test.Case({
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 });
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney },
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney 'all chained callbacks should fire': function() {
4a589644c0b4ea2684514116fbbad30d79536f8aMatt 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() {
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney Y.log('callback 1');
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney Y.Assert.areEqual('0px', node.getComputedStyle('width'));
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney node.transition({
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney height: 0
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney }, function(e) {
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney Y.log('callback 2');
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney test.resume(function() {
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney Y.Assert.areEqual('0px', node.getComputedStyle('height'));
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney });
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney });
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney test.wait();
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney });
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney });
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney test.wait(4000);
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney },
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney 'all serial callbacks should fire': function() {
4a589644c0b4ea2684514116fbbad30d79536f8aMatt 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 test.wait(4000);
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney });
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney node.transition({
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney duration: 1,
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 });
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney });
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney test.wait(4000);
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney },
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney 'parallel transition should steal attribute': function() {
4a589644c0b4ea2684514116fbbad30d79536f8aMatt 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);
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney test.wait(4000);
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
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney test.wait(4000);
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney },
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney 'parallel transition should shorten duration': function() {
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney var node = Y.one('#demo'),
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney test = this;
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney node.transition({
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney easing: 'ease-in',
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney duration: 2,
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney opacity: {
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney value: 0,
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney duration: 3
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney },
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney height: 0,
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney width: 0
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney }, function(e) {
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney test.resume(function() {
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney Y.Assert.areEqual(2, parseInt(e.elapsedTime));
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney });
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney });
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney node.transition({
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney duration: 1,
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney opacity: 0
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney }, function(e) {
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney test.resume(function() {
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney Y.Assert.areEqual('0', node.getComputedStyle('opacity'));
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney Y.Assert.areEqual(1, parseInt(e.elapsedTime));
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney test.wait(4000);
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney });
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney });
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney test.wait(4000);
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney }
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney }));
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney suite.add(new Y.Test.Case({
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney name: 'Single Transition Tests',
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney setUp: function() {
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney var node = Y.one('#demo');
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney if (node) {
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney node.setStyles({
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney height: '200px',
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney width: '200px',
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney opacity: '1'
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney });
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney }
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney },
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney 'should end at final value': function() {
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney var node = Y.one('#demo'),
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney test = this;
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney node.transition({
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney width: 0
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney }, function(e) {
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney test.resume(function() {
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney Y.Assert.areEqual('0px', node.getComputedStyle('width'));
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney });
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney });
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney test.wait(4000);
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney },
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney 'should end at final values': function() {
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney var node = Y.one('#demo'),
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney test = this;
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney node.transition({
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney width: 0,
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney height: 0,
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney opacity: 0
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney }, function(e) {
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney test.resume(function() {
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney Y.Assert.areEqual('0px', node.getComputedStyle('width'));
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney Y.Assert.areEqual('0px', node.getComputedStyle('height'));
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney Y.Assert.areEqual('0', node.getComputedStyle('opacity'));
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney });
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney });
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney test.wait(4000);
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney },
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney 'callback should fire after longest duration': function() {
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney var node = Y.one('#demo'),
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney test = this;
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney node.transition({
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney easing: 'ease-in',
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney duration: 1,
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney opacity: {
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney value: 0,
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney duration: 2
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney },
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney height: 0,
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney width: 0
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney }, function(e) {
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney test.resume(function() {
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney Y.Assert.areEqual(2, parseInt(e.elapsedTime));
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney });
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney });
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney test.wait(4000);
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney }
b8e54cd0fdbfd4d5482a6c38e53b0d42e2e2baffMatt Sweeney }));
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney //return it
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney return suite;
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney })();
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney new Y.Console({
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney verbose : true,
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney height: 600,
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney newestOnTop : false
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney }).render();
4a589644c0b4ea2684514116fbbad30d79536f8aMatt 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 /*if (parent && parent != window) {
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney YAHOO.tool.TestManager.load();
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney } else {
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney YAHOO.tool.TestRunner.run();
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney }*/
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney});
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney</script>
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney</body>
4a589644c0b4ea2684514116fbbad30d79536f8aMatt Sweeney</html>