This example begins by creating a namespace:
This namespace serves as the core object upon which others will be added (to prevent creating global objects).
The first step is to create a new TestCase
object called AsyncTestCase
.
To do so, using the TestCase
constructor and pass in an object literal containing information about the tests to be run:
The only test in the TestCase
is called testAnimation
. It begins by creating a new
Anim
object that will animate the width of a div
to 400 pixels over three seconds. An
event handler is assigned to the Anim
object's onComplete
event, within which the
resume()
method is called. A function is passed into the resume()
method to indicate
the code to run when the test resumes, which is a test to make sure the width is 400 pixels. After that, the
animate()
method is called to begin the animation and the wait()
method is called to
tell the TestRunner
to wait until it is told to resume testing again. When the animation completes,
the onComplete
event is fired and the test resumes, assuring that the width is correct.
With all of the tests defined, the last step is to run them. This initialization is assigned to take place when the document tree has been
completely loaded by using the Event utility's onDOMReady()
method:
Before running the tests, it's necessary to create a TestLogger
object to display the results (otherwise the tests would run
but you wouldn't see the results). After that, the TestRunner
is loaded with the TestCase
object by calling
add()
(any number of TestCase
and TestSuite
objects can be added to a TestRunner
,
this example only adds one for simplicity). The very last step is to call run()
, which begins executing the tests in its
queue and displays the results in the TestLogger
.
You can load the necessary JavaScript and CSS for this example from Yahoo's servers. Click here to load the YUI Dependency Configurator with all of this example's dependencies preconfigured.
Copyright © 2009 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Copyright Policy - Job Openings