If you're going to write an insanely fast, headless test tool, how can you not call it Zombie? Zombie it is.
You don't have to, but I really recommend running Zombie.js with Vows , an outstanding BDD test framework for Node.js.
See the documentation for Sizzle.js.
To get started hacking on Zombie.js you'll need Node.js, NPM and CoffeeScript:
$ brew install node npm $ npm install coffee-script
Next, install all other development and runtime dependencies:
$ cake setup
The DOM implementation is JSDOM, which provides
pretty decent emulation of DOM Level 3. There are some issues and some
features Zombie.js needs but JSDOM doesn't care for (e.g default event
handlers). Those are patched onto JSDOM in
DOM selectors are provided by Sizzle.js, and
vendored in the
Zombie.js is tested using Vows. Since we're
testing a Web browser, we also need a Web server, so it spins up an
instance of Express. Spinning up Express and
making sure it doesn't power down before all tests are done (Vows is
asynchronous, like everything in Node) is the responsibility of
To run the test suite:
To stress Zombie.js, we have test cases that use Sammy.js and jQuery.
The scripts themselves are contained in the
The dot is necessary to hide these JS files from Vows.
Zombie.js documentation is written in Markdown.
Everything you need to know to get started is covered by
it shows up when you visit the Github
Additional documentation lives in the
doc directory. Annotated source
code generated using Docco.
To generate the documentation
$ cake doc $ open html/index.html
- Find assaf/zombie on Github
- Fork the project
- Add tests
- Make your changes
- Send a pull request
Check out the outstanding to-dos.
Zombie.js is copyright of Assaf Arkin, released under the MIT License.
Sizzle.js is copyright of John Resig, released under the MIT, BSD and GPL.