When you visit that page, all of the tests should be failing; your job is to
get the tests to pass. To do this, you'll need to refer to the tests in the
files in the tests/app directory, and edit the files in the app/ directory.
Once you update a test, you can reload the test page in the browser to see
whether it worked.

You can also run (most of) the tests on the command line:

npm test

The command line runner is a work in progress; contributions welcome :)

I want to contribute tests; what do I do?

Submit a pull request! The tests are currently loosely organized by topic, so
you should do your best to add tests to the appropriate file in tests/app, or
create a new file there if you don't see an appropriate one. If you do create
a new file, make sure to add it to tests/runner.js, and to add a stub for the
solution to the corresponding file in app/.

Any substantial contributions will be duly credited in the readme, as well as
of course in the git commit log.

Data-driven tests

If your tests need data that can be fetched via XHR, stick a .json file in
the data directory; you can access it at /data/<filename>.json.

Available dependencies

The repo includes jQuery, Backbone, Underscore, and RequireJS. If there's other
stuff you'd find useful, you can put it in the lib directory.

I want to see the answers!

I haven't worked out how best to show the answers, or whether to show them at
all. For now, if you're stuck, the tests themselves should include enough
keywords that your friendly neighborhood search engine can point you in the
right direction.

I hate <some technology you've chosen>

This repo uses RequireJS for dependency management and
Mocha and expect.js
for the tests themselves. It uses the BDD style for authoring tests. If this
doesn't suit you, please fork away, or, better, submit a pull request that lets
this be more flexible than it currently is.

Todos

There are a number of things that would make this project better; check out the
issues for details, pull
requests welcome!