From 934762954b691371da905ffebf3aa6adf7dac98b Mon Sep 17 00:00:00 2001 From: Tj Holowaychuk Date: Thu, 17 Nov 2011 21:30:51 -0800 Subject: [PATCH 001/272] first pass on site --- History.md | 32 - Makefile | 51 +- Readme.md | 393 ---- bin/mocha | 179 -- bin/mocha-debug | 3 - .../Snippets/bdd - after each.tmSnippet | 16 - .../Snippets/bdd - after.tmSnippet | 16 - .../Snippets/bdd - before each.tmSnippet | 16 - .../Snippets/bdd - before.tmSnippet | 16 - .../Snippets/bdd - it.tmSnippet | 16 - .../Snippets/untitled.tmSnippet | 16 - editors/JavaScript mocha.tmbundle/info.plist | 19 - foot.html | 2 + head.html | 15 + images/concrete_wall_3.png | Bin 0 -> 62281 bytes images/handmadepaper.png | Bin 0 -> 6498 bytes images/soft_wallpaper.png | Bin 0 -> 230850 bytes images/whitey.png | Bin 0 -> 87134 bytes index.html | 377 +++ index.md | 338 +++ lib/browser/events.js | 53 - lib/browser/tty.js | 8 - lib/interfaces/bdd.js | 86 - lib/interfaces/exports.js | 60 - lib/interfaces/index.js | 4 - lib/interfaces/tdd.js | 70 - lib/mocha.js | 18 - lib/reporters/base.js | 218 -- lib/reporters/doc.js | 77 - lib/reporters/dot.js | 62 - lib/reporters/html.js | 115 - lib/reporters/index.js | 11 - lib/reporters/json-stream.js | 63 - lib/reporters/json.js | 72 - lib/reporters/landing.js | 97 - lib/reporters/list.js | 61 - lib/reporters/progress.js | 84 - lib/reporters/spec.js | 83 - lib/reporters/tap.js | 50 - lib/runner.js | 302 --- lib/suite.js | 194 -- lib/test.js | 83 - mocha.js | 2043 ----------------- package.json | 20 - style.css | 123 + support/compile.js | 150 -- support/tail.js | 37 - test/browser/array.js | 33 - test/browser/index.html | 18 - test/browser/style.css | 45 - test/duration.js | 20 - test/fs.js | 18 - test/globals.js | 19 - test/hook.async.js | 94 - test/hook.sync.js | 63 - test/hook.sync.nested.js | 62 - test/http.js | 17 - test/http.meta.2.js | 82 - test/http.meta.js | 52 - test/interfaces/bdd.js | 25 - test/interfaces/exports.js | 44 - test/interfaces/tdd.js | 15 - test/merge.js | 34 - test/misc/grep.js | 22 - test/mocha.opts | 4 - test/multiple.done.js | 10 - test/pending.js | 4 - test/timeout.js | 8 - test/uncaught.js | 10 - 69 files changed, 861 insertions(+), 5587 deletions(-) delete mode 100644 History.md delete mode 100644 Readme.md delete mode 100755 bin/mocha delete mode 100755 bin/mocha-debug delete mode 100644 editors/JavaScript mocha.tmbundle/Snippets/bdd - after each.tmSnippet delete mode 100644 editors/JavaScript mocha.tmbundle/Snippets/bdd - after.tmSnippet delete mode 100644 editors/JavaScript mocha.tmbundle/Snippets/bdd - before each.tmSnippet delete mode 100644 editors/JavaScript mocha.tmbundle/Snippets/bdd - before.tmSnippet delete mode 100644 editors/JavaScript mocha.tmbundle/Snippets/bdd - it.tmSnippet delete mode 100644 editors/JavaScript mocha.tmbundle/Snippets/untitled.tmSnippet delete mode 100644 editors/JavaScript mocha.tmbundle/info.plist create mode 100644 foot.html create mode 100644 head.html create mode 100644 images/concrete_wall_3.png create mode 100644 images/handmadepaper.png create mode 100644 images/soft_wallpaper.png create mode 100644 images/whitey.png create mode 100644 index.html create mode 100644 index.md delete mode 100644 lib/browser/events.js delete mode 100644 lib/browser/tty.js delete mode 100644 lib/interfaces/bdd.js delete mode 100644 lib/interfaces/exports.js delete mode 100644 lib/interfaces/index.js delete mode 100644 lib/interfaces/tdd.js delete mode 100644 lib/mocha.js delete mode 100644 lib/reporters/base.js delete mode 100644 lib/reporters/doc.js delete mode 100644 lib/reporters/dot.js delete mode 100644 lib/reporters/html.js delete mode 100644 lib/reporters/index.js delete mode 100644 lib/reporters/json-stream.js delete mode 100644 lib/reporters/json.js delete mode 100644 lib/reporters/landing.js delete mode 100644 lib/reporters/list.js delete mode 100644 lib/reporters/progress.js delete mode 100644 lib/reporters/spec.js delete mode 100644 lib/reporters/tap.js delete mode 100644 lib/runner.js delete mode 100644 lib/suite.js delete mode 100644 lib/test.js delete mode 100644 mocha.js delete mode 100644 package.json create mode 100644 style.css delete mode 100644 support/compile.js delete mode 100644 support/tail.js delete mode 100644 test/browser/array.js delete mode 100644 test/browser/index.html delete mode 100644 test/browser/style.css delete mode 100644 test/duration.js delete mode 100644 test/fs.js delete mode 100644 test/globals.js delete mode 100644 test/hook.async.js delete mode 100644 test/hook.sync.js delete mode 100644 test/hook.sync.nested.js delete mode 100644 test/http.js delete mode 100644 test/http.meta.2.js delete mode 100644 test/http.meta.js delete mode 100644 test/interfaces/bdd.js delete mode 100644 test/interfaces/exports.js delete mode 100644 test/interfaces/tdd.js delete mode 100644 test/merge.js delete mode 100644 test/misc/grep.js delete mode 100644 test/mocha.opts delete mode 100644 test/multiple.done.js delete mode 100644 test/pending.js delete mode 100644 test/timeout.js delete mode 100644 test/uncaught.js diff --git a/History.md b/History.md deleted file mode 100644 index 91d11de34f..0000000000 --- a/History.md +++ /dev/null @@ -1,32 +0,0 @@ - -0.0.1-alpha5 / 2011-11-17 -================== - - * Added `doc` reporter. Closes #33 - * Added suite merging. Closes #28 - * Added TextMate bundle and `make tm`. Closes #20 - -0.0.1-alpha4 / 2011-11-15 -================== - - * Fixed getWindowSize() for 0.4.x - -0.0.1-alpha3 / 2011-11-15 -================== - - * Added `-s, --slow ` to specify "slow" test threshold - * Added `mocha-debug(1)` - * Added `mocha.opts` support. Closes #31 - * Added: default [files] to _test/*.js_ - * Added protection against multiple calls to `done()`. Closes #35 - * Changed: bright yellow for slow Dot reporter tests - -0.0.1-alpha1 / 2011-11-08 -================== - - * Missed this one :) - -0.0.1-alpha1 / 2011-11-08 -================== - - * Initial release diff --git a/Makefile b/Makefile index 5b0eb18f12..51fbe9831a 100644 --- a/Makefile +++ b/Makefile @@ -1,49 +1,10 @@ -REPORTER = dot -TM_DEST = ~/Library/Application\ Support/TextMate/Bundles -TM_BUNDLE = JavaScript\ mocha.tmbundle -SRC = $(shell find lib -name "*.js" -type f) - -mocha.js: $(SRC) - @node support/compile $^ - @cat support/tail.js >> mocha.js +index.html: head.html foot.html index.md + @markdown < index.md \ + | cat head.html - foot.html \ + > $@ clean: - rm -f mocha.js - -test: test-unit - -test-all: test-bdd test-tdd test-exports test-unit test-grep - -test-unit: - @./bin/mocha \ - --reporter $(REPORTER) - -test-bdd: - @./bin/mocha \ - --reporter $(REPORTER) \ - --ui bdd \ - test/interfaces/bdd - -test-tdd: - @./bin/mocha \ - --reporter $(REPORTER) \ - --ui tdd \ - test/interfaces/tdd - -test-exports: - @./bin/mocha \ - --reporter $(REPORTER) \ - --ui exports \ - test/interfaces/exports - -test-grep: - @./bin/mocha \ - --reporter $(REPORTER) \ - --grep fast \ - test/misc/grep - -tm: - cp -fr editors/$(TM_BUNDLE) $(TM_DEST)/$(TM_BUNDLE) + rm -f index.html -.PHONY: test test-all test-bdd test-tdd test-exports test-unit test-grep tm clean \ No newline at end of file +.PHONY: clean \ No newline at end of file diff --git a/Readme.md b/Readme.md deleted file mode 100644 index a8e9cae7a7..0000000000 --- a/Readme.md +++ /dev/null @@ -1,393 +0,0 @@ - -# mocha - - Mocha is a _simple_, _fun_, _extensible_ JavaScript test framework rich with features, running on [node](http://nodejs.org) and the browser. Mocha tests run serially, allowing reporting flexibility, and mapping uncaught exceptions to the correct test cases; This also makes Mocha an ideal choice when mocking and stubbing is involved. - - Mocha allows you to use any assertion library you want, if it throws an error, it will work. This means you can utilize libraries such as [should](http://github.com/visionmedia/should.js), node's regular `assert` module, or others. - - Testing asynchronous code with Mocha could not be simpler, when your tests are sync simple omit the callback, when they are async add a callback and invoke it when your test is complete. - - -## Features - - - proper exit status for CI support etc - - ideal for asynchronous APIs - - auto-detects and disables coloring for non-ttys - - maps uncaught exceptions to the correct test case - - async test timeout support - - growl notification support - - reports test durations - - highlights slow tests - - global variable leak detection - - configurable test-case timeout - - optionally run tests that match a regexp - - auto-exit to prevent "hanging" due to an active event loop - - easily meta-generate suites & test-cases - - mocha.opts file support - - `mocha-debug(1)` for node debugger support - - detects multiple calls to `done()` - - TextMate bundle - - use any assertion library you want ([should](http://github.com/visionmedia/should.js), `assert`, etc) - - extensible reporting - - `dot`: a dot matrix - - `doc`: a documentation generator (html) based on your tests - - `landing`: a unicode landing strip ✈ - - `tap`: test-anything-protocol (TAP) producer - - `progress`: a progress bar - - `spec`: hierarchical specification - - `list`: similar to `spec` as a flat-list - - `json-stream`: streaming JSON delimited by a LF - - `json`: a single JSON chunk on exit - - extensible test DSLs - - BDD - - TDD - - exports - -## Usage - -``` - -Usage: mocha [options] [files] - -Options: - - -h, --help output usage information - -V, --version output the version number - -r, --require require the given module - -R, --reporter specify the reporter to use - -u, --ui specify user-interface (bdd|tdd|exports) - -g, --grep only run tests matching - -t, --timeout set test-case timeout in milliseconds [2000] - -s, --slow "slow" test threshold in milliseconds [75] - -G, --growl enable growl support - -Reporters: - - dot - dot matrix - doc - html documentation - json - single json object - progress - progress bar - list - spec-style listing - tap - test-anything-protocol - landing - unicode landing strip - json-stream - newline delimited json events - -Interfaces: - - bdd - describe() / it() - tdd - suite() / test() - exports - module.exports - -``` - -## Interfaces - - Mocha "interfaces" providing BDD, TDD, and expresso export-style flavoured APIs on top of the internals. - -### BDD - -```js -describe('Array', function(){ - before(function(){ - // ... - }); - - describe('#indexOf()', function(){ - it('should return -1 when not present', function(){ - [1,2,3].indexOf(4).should.equal(-1); - }); - - it('should return the index when present', function(){ - [1,2,3].indexOf(3).should.equal(2); - [1,2,3].indexOf(2).should.equal(1); - [1,2,3].indexOf(1).should.equal(0); - }); - }); -}); -``` - -### TDD - -```js -suite('Array', function(){ - setup(function(){ - // ... - }); - - suite('#indexOf()', function(){ - test('should return -1 when not present', function(){ - assert.equal(-1, [1,2,3].indexOf(4)); - }); - - test('should return the index when present', function(){ - assert.equal(2, [1,2,3].indexOf(3)); - assert.equal(1, [1,2,3].indexOf(2)); - assert.equal(0, [1,2,3].indexOf(1)); - }); - }); -}); -``` - -### Exports - -```js -module.exports = { - 'Array': { - '#indexOf()': { - 'should return -1 when not present': function(){ - [1,2,3].indexOf(4).should.equal(-1); - }, - - 'should return the index when present': function(){ - [1,2,3].indexOf(3).should.equal(2); - [1,2,3].indexOf(2).should.equal(1); - [1,2,3].indexOf(1).should.equal(0); - } - } - } -}; -``` - -## Reporters - - Mocha reporters adjust to the terminal window, - and always disable ansi-escape colouring when - the stdio streams are not associated with a tty. - -### Dot Matrix - - The Dot Matrix reporter is simply a series of dots - that represent test cases, failures highlight in red. - - ![dot matrix reporter](http://f.cl.ly/items/3b3b471Z1p2U3D1P2Y1n/Screenshot.png) - - ![dot matrix failure](http://f.cl.ly/items/1P11330L033r423g1y1n/Screenshot.png) - -## TAP - - The TAP reporter emits lines for a [Test-Anything-Protocol](http://en.wikipedia.org/wiki/Test_Anything_Protocol) consumer. - - ![test anything protocol](http://f.cl.ly/items/2O0X3h0d1Q430O1t1T3p/Screenshot.png) - -## Landing Strip - - The Landing Strip reporter is a gimmicky test reporter simulating - a plane landing :) unicode ftw - - ![landing strip plane reporter](http://f.cl.ly/items/0z1k400K1N1Y2G3u2u0i/Screenshot.png) - -## List - - The "List" reporter outputs a simple specifications list as - test cases pass or fail, outputting the failure details at - the bottom of the output. - - ![list reporter](http://f.cl.ly/items/0Y0x1B3l3K0n3t3h3l0p/Screenshot.png) - - ![failures](http://f.cl.ly/items/2Z0E150v20042G2d1J0i/Screenshot.png) - -## JSON - - The JSON reporter outputs a single large JSON object when - the tests have completed (failures or not). - -## JSON Stream - - The JSON Stream reporter outputs newline-delimited JSON "events" as they occur, beginning with a "start" event, followed by test passes or failures, and then the final "end" event. - -```json -["start",{"total":12}] -["pass",{"title":"should return -1 when not present","fullTitle":"Array #indexOf() should return -1 when not present","duration":0}] -["pass",{"title":"should return the index when present","fullTitle":"Array #indexOf() should return the index when present","duration":0}] -["fail",{"title":"should return -1 when not present","fullTitle":"Array #indexOf() should return -1 when not present"}] -["end",{"start":"2011-08-29T03:21:02.050Z","suites":13,"passes":11,"tests":12,"failures":1,"end":"2011-08-29T03:21:02.052Z","duration":2}] -```` - -## Doc - - The "doc" reporter outputs a hierarchical HTML body representation - of your tests, wrap it with a header, footer, some styling and you - have some fantastic documentation! - - For example suppose you have the following JavaScript: - -```js -describe('Array', function(){ - describe('#indexOf()', function(){ - it('should return -1 when the value is not present', function(){ - [1,2,3].indexOf(5).should.equal(-1); - [1,2,3].indexOf(0).should.equal(-1); - }) - }) -}) -``` - - The command `mocha --reporter doc array` would yield: - -```html -
-

Array

-
-
-

#indexOf()

-
-
should return -1 when the value is not present
-
[1,2,3].indexOf(5).should.equal(-1);
-[1,2,3].indexOf(0).should.equal(-1);
-
-
-
-
-``` - -## Async tests - - Testing async code with mocha is simple, invoke the `done()` callback - when complete, if called multiple times (due to a race-condition etc) - will cause mocha to fail, this is invaluable for testing async code. - -```js -describe('something async', function(){ - it('should finish after 300ms', function(done){ - setTimeout(done, 300); - }) -}) -``` - - The `done()` callback also accepts an error, so it's easy to write - tests that adhere to node's callback convention of `(err, result)`: - - ```js - describe('User.save()', function(){ - it('should save without failing', function(done){ - var user = new User('tj'); - user.save(done); - }) - }) - ``` - -## Best practices - -### test/* - - By default `mocha(1)` will use the pattern `./test/*.js`, so - it's usually a good place to put your tests. - -### mocha.opts - - Mocha will attempt to load `./test/mocha.opts`, these are concatenated with `process.argv`, though command-line args will take precedence. For example suppose you have the following _mocha.opts_ file: - -``` ---require should ---reporter dot ---ui bdd -``` - - This will default the reporter to `dot`, require the `should` library, - and use `bdd` as the interface. With this you may then invoke `mocha(1)` - with additional arguments, here enabling growl support and changing - the reporter to `spec`: - -``` -$ mocha --reporter list --growl -``` - -### Suite merging - - Suites with common names are "merged" in order - to produce unified reporting, especially when - meta-generating tests. - -```js -describe('merge', function(){ - describe('stuff', function(){ - describe('one', function(){ - it('should do something', function(){ - - }) - }) - }) -}) - -describe('merge', function(){ - describe('stuff', function(){ - describe('two', function(){ - it('should do something', function(){ - - }) - }) - }) -}) - -describe('merge stuff', function(){ - describe('three', function(){ - it('should do something', function(){ - - }) - }) -}) -``` - -will produce the following: - - ![mocha suite merging](http://f.cl.ly/items/380R3S1t1t0b0O2K250V/Screenshot.png) - -### Makefiles - - Be kind and don't make developers hunt around in your docs to figure - out how to run the tests, add a `make test` target to your _Makefile_: - -``` -test: - ./node_modules/.bin/mocha \ - --reporter list - -.PHONY: test -``` - -## TextMate Bundle - - The Mocha TextMate bundle includes snippets to - make writing tests quicker and more enjoyable. - To install the bundle run: - - $ make tm - -## Running tests - - Run mocha tests: - - $ make test - - Run all tests, including interfaces: - - $ make test-all - - Alter the reporter: - - $ make test REPORTER=list - -## License - -(The MIT License) - -Copyright (c) 2011 TJ Holowaychuk <tj@vision-media.ca> - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/bin/mocha b/bin/mocha deleted file mode 100755 index c162ad84b2..0000000000 --- a/bin/mocha +++ /dev/null @@ -1,179 +0,0 @@ -#!/usr/bin/env node - -/** - * Module dependencies. - */ - -var program = require('commander') - , exec = require('child_process').exec - , path = require('path') - , mocha = require('../') - , reporters = mocha.reporters - , interfaces = mocha.interfaces - , Runner = mocha.Runner - , Suite = mocha.Suite - , vm = require('vm') - , fs = require('fs') - , join = path.join - , cwd = process.cwd(); - -/** - * Files. - */ - -var files = []; - -// options - -program - .version(mocha.version) - .usage('[options] [files]') - .option('-r, --require ', 'require the given module') - .option('-R, --reporter ', 'specify the reporter to use', 'dot') - .option('-u, --ui ', 'specify user-interface (bdd|tdd|exports)', 'bdd') - .option('-g, --grep ', 'only run tests matching ') - .option('-t, --timeout ', 'set test-case timeout in milliseconds [2000]', parseInt) - .option('-s, --slow ', '"slow" test threshold in milliseconds [75]', parseInt) - .option('-G, --growl', 'enable growl support') - -// report help - -program.on('--help', function(){ - console.log(' Reporters:'); - console.log(''); - console.log(' dot - dot matrix'); - console.log(' doc - html documentation'); - console.log(' json - single json object'); - console.log(' progress - progress bar'); - console.log(' list - spec-style listing'); - console.log(' tap - test-anything-protocol'); - console.log(' landing - unicode landing strip'); - console.log(' json-stream - newline delimited json events'); - console.log(''); - - console.log(' Interfaces:'); - console.log(''); - console.log(' bdd - describe() / it()'); - console.log(' tdd - suite() / test()'); - console.log(' exports - module.exports'); - console.log(''); -}); - -// -r, --require - -program.on('require', function(mod){ - require(mod); -}); - -// mocha.opts support - -try { - var opts = fs.readFileSync('test/mocha.opts', 'utf8'); - opts = opts.split(/\s+/).slice(0, -1); - process.argv = process.argv - .slice(0, 2) - .concat(opts.concat(process.argv.slice(2))); -} catch (err) { - // ignore -} - -// parse args - -program.parse(process.argv); - -// infinite stack traces - -Error.stackTraceLimit = Infinity; // TODO: config - -// reporter - -var suite = new Suite('') - , Base = require('../lib/reporters/base') - , Reporter = require('../lib/reporters/' + program.reporter) - , ui = interfaces[program.ui](suite); - -// --slow - -if (program.slow) Base.slow = program.slow; - -// --timeout - -if (program.timeout) suite.timeout(program.timeout); - -// files - -var files = program.args; - -// default files to test/*.js - -if (!files.length) { - files = fs.readdirSync('test').filter(function(path){ - return path.match(/\.js$/); - }).map(function(path){ - return join('test', path); - }); -} - -// require test files before running -// the root suite - -var pending = files.length; -files.forEach(function(file){ - file = join(cwd, file); - suite.emit('pre-require', global, file); - suite.emit('require', require(file), file); - suite.emit('post-require', global, file); - --pending || run(suite); -}); - -// run the given suite - -function run(suite) { - suite.emit('run'); - var runner = new Runner(suite); - var reporter = new Reporter(runner); - if (program.grep) runner.grep(new RegExp(program.grep)); - if (program.growl) growl(runner, reporter) - runner.run(); -} - -// enable growl notifications - -function growl(runner, reporter) { - runner.on('end', function(){ - var stats = reporter.stats; - if (stats.failures) { - var msg = stats.failures + ' of ' + stats.tests + ' tests failed'; - notify(msg, { title: 'Failed' }); - } else { - notify(stats.passes + ' tests passed in ' + stats.duration + 'ms', { - title: 'Passed' - }); - } - }); -} - -// growl notification - -function notify(msg, options) { - var image - , args = ['growlnotify', '-m', '"' + msg + '"'] - , options = options || {} - , fn = fn || function(){}; - - if (image = options.image) { - var flag, ext = path.extname(image).substr(1) - flag = flag || ext == 'icns' && 'iconpath' - flag = flag || /^[A-Z]/.test(image) && 'appIcon' - flag = flag || /^png|gif|jpe?g$/.test(ext) && 'image' - flag = flag || ext && (image = ext) && 'icon' - flag = flag || 'icon' - args.push('--' + flag, image) - } - - if (options.sticky) args.push('--sticky'); - if (options.priority) args.push('--priority', options.priority); - if (options.name) args.push('--name', options.name); - if (options.title) args.push(options.title); - exec(args.join(' '), fn); -} \ No newline at end of file diff --git a/bin/mocha-debug b/bin/mocha-debug deleted file mode 100755 index 0968bcf883..0000000000 --- a/bin/mocha-debug +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env node debug - -require('./mocha'); \ No newline at end of file diff --git a/editors/JavaScript mocha.tmbundle/Snippets/bdd - after each.tmSnippet b/editors/JavaScript mocha.tmbundle/Snippets/bdd - after each.tmSnippet deleted file mode 100644 index e76cae136c..0000000000 --- a/editors/JavaScript mocha.tmbundle/Snippets/bdd - after each.tmSnippet +++ /dev/null @@ -1,16 +0,0 @@ - - - - - content - afterEach(function(){ - $0 -}) - name - bdd - after each - tabTrigger - ae - uuid - 7B4DA8F4-2064-468B-B252-054148419B4B - - diff --git a/editors/JavaScript mocha.tmbundle/Snippets/bdd - after.tmSnippet b/editors/JavaScript mocha.tmbundle/Snippets/bdd - after.tmSnippet deleted file mode 100644 index f1a67aa172..0000000000 --- a/editors/JavaScript mocha.tmbundle/Snippets/bdd - after.tmSnippet +++ /dev/null @@ -1,16 +0,0 @@ - - - - - content - after(function(){ - $0 -}) - name - bdd - after - tabTrigger - a - uuid - A49A87F9-399E-4D74-A489-C535BB06D487 - - diff --git a/editors/JavaScript mocha.tmbundle/Snippets/bdd - before each.tmSnippet b/editors/JavaScript mocha.tmbundle/Snippets/bdd - before each.tmSnippet deleted file mode 100644 index f8442fa5a5..0000000000 --- a/editors/JavaScript mocha.tmbundle/Snippets/bdd - before each.tmSnippet +++ /dev/null @@ -1,16 +0,0 @@ - - - - - content - beforeEach(function(){ - $0 -}) - name - bdd - before each - tabTrigger - be - uuid - 7AB064E3-EFBB-4FA7-98CA-9E87C10CC04E - - diff --git a/editors/JavaScript mocha.tmbundle/Snippets/bdd - before.tmSnippet b/editors/JavaScript mocha.tmbundle/Snippets/bdd - before.tmSnippet deleted file mode 100644 index 5c7e40fb7e..0000000000 --- a/editors/JavaScript mocha.tmbundle/Snippets/bdd - before.tmSnippet +++ /dev/null @@ -1,16 +0,0 @@ - - - - - content - before(function(){ - $0 -}) - name - bdd - before - tabTrigger - b - uuid - DF6F1F42-F80A-4A24-AF78-376F19070C4C - - diff --git a/editors/JavaScript mocha.tmbundle/Snippets/bdd - it.tmSnippet b/editors/JavaScript mocha.tmbundle/Snippets/bdd - it.tmSnippet deleted file mode 100644 index 8cd3fb1759..0000000000 --- a/editors/JavaScript mocha.tmbundle/Snippets/bdd - it.tmSnippet +++ /dev/null @@ -1,16 +0,0 @@ - - - - - content - it('should $1', function(){ - $0 -}) - name - bdd - it - tabTrigger - it - uuid - 591AE071-95E4-4E1E-B0F3-A7DAF41595EE - - diff --git a/editors/JavaScript mocha.tmbundle/Snippets/untitled.tmSnippet b/editors/JavaScript mocha.tmbundle/Snippets/untitled.tmSnippet deleted file mode 100644 index 46fd7206b7..0000000000 --- a/editors/JavaScript mocha.tmbundle/Snippets/untitled.tmSnippet +++ /dev/null @@ -1,16 +0,0 @@ - - - - - content - describe('$1', function(){ - $0 -}) - name - bdd - describe - tabTrigger - des - uuid - 4AA1FB50-9BB9-400E-A140-D61C39BDFDF5 - - diff --git a/editors/JavaScript mocha.tmbundle/info.plist b/editors/JavaScript mocha.tmbundle/info.plist deleted file mode 100644 index 16f6587a6c..0000000000 --- a/editors/JavaScript mocha.tmbundle/info.plist +++ /dev/null @@ -1,19 +0,0 @@ - - - - - name - JavaScript mocha - ordering - - 4AA1FB50-9BB9-400E-A140-D61C39BDFDF5 - 591AE071-95E4-4E1E-B0F3-A7DAF41595EE - DF6F1F42-F80A-4A24-AF78-376F19070C4C - A49A87F9-399E-4D74-A489-C535BB06D487 - 7AB064E3-EFBB-4FA7-98CA-9E87C10CC04E - 7B4DA8F4-2064-468B-B252-054148419B4B - - uuid - 094ACE33-0C0E-422A-B3F7-5B919F5B1239 - - diff --git a/foot.html b/foot.html new file mode 100644 index 0000000000..1fd5f4f290 --- /dev/null +++ b/foot.html @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/head.html b/head.html new file mode 100644 index 0000000000..7f7f2fce4c --- /dev/null +++ b/head.html @@ -0,0 +1,15 @@ + + + + Mocha - the fun, simple, flexible JavaScript test framework + + + + + +

Mocha

+

simple, flexible, fun

diff --git a/images/concrete_wall_3.png b/images/concrete_wall_3.png new file mode 100644 index 0000000000000000000000000000000000000000..5d04a21cd9e36b720b513656b6ac93bf3f7e7918 GIT binary patch literal 62281 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 literal 0 HcmV?d00001 diff --git a/images/soft_wallpaper.png b/images/soft_wallpaper.png new file mode 100644 index 0000000000000000000000000000000000000000..0fc74d97c3a903c7a4f5b91e65754a58dd3d0708 GIT binary patch literal 230850 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
  • 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 +### Browser support + + Mocha runs in the browser. Every release of Mocha will have new builds of _./mocha.js_ and _./mocha.css_ for use in the browser. To setup Mocha for browser use all you have to do is include the script, stylesheet, tell Mocha which interface you wish to use, and then run the tests. A typical setup might look something like the following, where we call `mocha.setup('bdd')` to use the __BDD__ interface before loading the test scripts, running them `onload` with `mocha.run()`. + + + + + + + + + + ### mocha.opts Mocha will attempt to load `./test/mocha.opts`, these are concatenated with `process.argv`, though command-line args will take precedence. For example suppose you have the following _mocha.opts_ file: From 13458b1d529c52042c1bd71dbfb1ca5c6a9b900a Mon Sep 17 00:00:00 2001 From: TJ Holowaychuk Date: Sat, 19 Nov 2011 12:43:24 -0800 Subject: [PATCH 005/272] images --- images/reporter-doc.png | Bin 0 -> 33028 bytes images/reporter-dot.png | Bin 0 -> 23625 bytes images/reporter-json-stream.png | Bin 0 -> 32939 bytes images/reporter-json.png | Bin 0 -> 38201 bytes images/reporter-landing-fail.png | Bin 0 -> 31304 bytes images/reporter-landing.png | Bin 0 -> 23659 bytes images/reporter-list.png | Bin 0 -> 27012 bytes images/reporter-spec-fail.png | Bin 0 -> 33493 bytes images/reporter-spec.png | Bin 0 -> 26342 bytes 9 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 images/reporter-doc.png create mode 100644 images/reporter-dot.png create mode 100644 images/reporter-json-stream.png create mode 100644 images/reporter-json.png create mode 100644 images/reporter-landing-fail.png create mode 100644 images/reporter-landing.png create mode 100644 images/reporter-list.png create mode 100644 images/reporter-spec-fail.png create mode 100644 images/reporter-spec.png diff --git a/images/reporter-doc.png b/images/reporter-doc.png new file mode 100644 index 0000000000000000000000000000000000000000..d139bb8e8a35d03cbdb5205c05de35a33c8b2d91 GIT binary patch literal 33028 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 Vj}w^!`+$G0YZ+X{U$Ot=e*t-!iQ)hN literal 0 HcmV?d00001 diff --git a/images/reporter-dot.png b/images/reporter-dot.png new file mode 100644 index 0000000000000000000000000000000000000000..c95eaeeebe2b6a1a567d5e0b4743b4745f011a31 GIT binary patch literal 23625 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 CGo?rX literal 0 HcmV?d00001 diff --git a/images/reporter-json-stream.png b/images/reporter-json-stream.png new file mode 100644 index 0000000000000000000000000000000000000000..7f1e1099538d6caaed0375957b3a82153e1925cf GIT binary patch literal 32939 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 R06#~5I{IVL52ye2zW_MVi@pE= literal 0 HcmV?d00001 diff --git a/images/reporter-json.png b/images/reporter-json.png new file mode 100644 index 0000000000000000000000000000000000000000..b80f07e41fa6888915407eb0f0d1aaf6e79cb273 GIT binary patch literal 38201 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 Oa_)@tY2qp0U;h_r-kS{o literal 0 HcmV?d00001 diff --git a/images/reporter-landing.png b/images/reporter-landing.png new file mode 100644 index 0000000000000000000000000000000000000000..9c7f56b31527f2c39fcb83b5feb1c9c9936e05fb GIT binary patch literal 23659 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 literal 0 HcmV?d00001 diff --git a/images/reporter-list.png b/images/reporter-list.png new file mode 100644 index 0000000000000000000000000000000000000000..e169cd38771302822e3348e16e80045c096c573f GIT binary patch literal 27012 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 WG%3#?j+6lYoj+%LmU_nhkN*SB@lTKd literal 0 HcmV?d00001 diff --git a/images/reporter-spec.png b/images/reporter-spec.png new file mode 100644 index 0000000000000000000000000000000000000000..64bf096f5aee4d5867a0fec4ec21130b5e446c4f GIT binary patch literal 26342 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≫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 WgpM+!P))J`0000+zAY>mv5i5&$&PD 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

    Mocha

    +

    simple, flexible, fun

    +

    Mocha is a feature-rich JavaScript test framework running on node and the browser, aiming to make async testing simple and fun. Mocha tests run serially, allowing for flexible and accurate reporting, while mapping uncaught exceptions to the correct test cases.

    + +

    Features

    + +
      +
    • proper exit status for CI support etc
    • +
    • ideal for asynchronous APIs
    • +
    • auto-detects and disables coloring for non-ttys
    • +
    • maps uncaught exceptions to the correct test case
    • +
    • async test timeout support
    • +
    • growl notification support
    • +
    • reports test durations
    • +
    • highlights slow tests
    • +
    • global variable leak detection
    • +
    • configurable test-case timeout
    • +
    • optionally run tests that match a regexp
    • +
    • auto-exit to prevent “hanging” with an active loop
    • +
    • easily meta-generate suites & test-cases
    • +
    • mocha.opts file support
    • +
    • mocha-debug(1) for node debugger support
    • +
    • detects multiple calls to done()
    • +
    • use any assertion library you want
    • +
    • extensible reporting, bundled with 9+ reporters
    • +
    • extensible test DSLs or “interfaces”
    • +
    • before, after, before each, after each hooks
    • +
    • TextMate bundle
    • +
    + + +

    Installation

    + +

    Install with npm:

    + +
    $ npm install -g mocha
    +
    + +

    Assertions

    + +

    Mocha allows you to use any assertion library you want, if it throws an error, it will work! This means you can utilize libraries such as should.js, node’s regular assert module, or others.

    + +

    Synchronous code

    + +

    When testing synchronous code, omit the callback and Mocha will automatically continue on to the next test.

    + +
    describe('Array', function(){
    +  describe('#indexOf()', function(){
    +    it('should return -1 when the value is not present', function(){
    +      [1,2,3].indexOf(5).should.equal(-1);
    +      [1,2,3].indexOf(0).should.equal(-1);
    +    })
    +  })
    +})
    +
    + +

    Asynchronous code

    + +

    Testing asynchronous code with Mocha could not be simpler! Simply invoke the callback when your test is complete:

    + +
    describe('User', function(){
    +  describe('#save()', function(){
    +    it('should save without error', function(done){
    +      var user = new User('Luna');
    +      user.save(function(err){
    +        if (err) throw err;
    +        done();
    +      });
    +    })
    +  })
    +})
    +
    + +

    To make things even easier, the done() callback accepts an error, so we may use this directly:

    + +
    describe('User', function(){
    +  describe('#save()', function(){
    +    it('should save without error', function(done){
    +      var user = new User('Luna');
    +      user.save(done);
    +    })
    +  })
    +})
    +
    + +

    Pending tests

    + +

    Pending test-cases are simply those without a callback:

    + +
    describe('Array', function(){
    +  describe('#indexOf()', function(){
    +    it('should return -1 when the value is not present')
    +  })
    +})
    +
    + +

    mocha(1)

    + +
    Usage: mocha [options] [files]
    +
    +Options:
    +
    +  -h, --help             output usage information
    +  -V, --version          output the version number
    +  -r, --require <name>   require the given module
    +  -R, --reporter <name>  specify the reporter to use
    +  -u, --ui <name>        specify user-interface (bdd|tdd|exports)
    +  -g, --grep <pattern>   only run tests matching <pattern>
    +  -t, --timeout <ms>     set test-case timeout in milliseconds [2000]
    +  -s, --slow <ms>        "slow" test threshold in milliseconds [75]
    +  -G, --growl            enable growl support
    +
    + +

    mocha-debug(1)

    + +

    mocha-debug(1) is identical to mocha(1), however it enables node’s debugger so you may step through tests with the debugger statement.

    + +

    Interfaces

    + +

    Mocha “interface” system allows developers to choose their style of DSL. Shipping with BDD, TDD, and export flavoured interfaces.

    + +

    BDD

    + +

    The “BDD” interface provides describe(), it(), before(), after(), beforeEach(), and afterEach():

    + +
    describe('Array', function(){
    +  before(function(){
    +    // ...
    +  });
    +
    +  describe('#indexOf()', function(){
    +    it('should return -1 when not present', function(){
    +      [1,2,3].indexOf(4).should.equal(-1);
    +    });
    +  });
    +});
    +
    + +

    TDD

    + +

    The “TDD” interface provides suite(), test(), setup(), and teardown().

    + +
    suite('Array', function(){
    +  setup(function(){
    +    // ...
    +  });
    +
    +  suite('#indexOf()', function(){
    +    test('should return -1 when not present', function(){
    +      assert.equal(-1, [1,2,3].indexOf(4));
    +    });
    +  });
    +});
    +
    + +

    Exports

    + +

    The “exports” interface is much like Mocha’s predecessor expresso. The keys before, after, beforeEach, and afterEach are special-cased, object values + are suites, and function values are test-cases.

    + +
    module.exports = {
    +  before: function(){
    +    // ...
    +  },
    +
    +  'Array': {
    +    '#indexOf()': {
    +      'should return -1 when not present': function(){
    +        [1,2,3].indexOf(4).should.equal(-1);
    +      }
    +    }
    +  }
    +};
    +
    + +

    Reporters

    + +

    Mocha reporters adjust to the terminal window, + and always disable ansi-escape colouring when + the stdio streams are not associated with a tty.

    + +

    Dot Matrix

    + +

    The Dot Matrix reporter is simply a series of dots + that represent test cases, failures highlight in red.

    + +

    dot matrix reporter

    + +

    dot matrix failure

    + +

    TAP

    + +

    The TAP reporter emits lines for a Test-Anything-Protocol consumer.

    + +

    test anything protocol

    + +

    Landing Strip

    + +

    The Landing Strip reporter is a gimmicky test reporter simulating + a plane landing :) unicode ftw

    + +

    landing strip plane reporter

    + +

    List

    + +

    The “List” reporter outputs a simple specifications list as + test cases pass or fail, outputting the failure details at + the bottom of the output.

    + +

    list reporter

    + +

    failures

    + +

    JSON

    + +

    The JSON reporter outputs a single large JSON object when + the tests have completed (failures or not).

    + +

    JSON Stream

    + +

    The JSON Stream reporter outputs newline-delimited JSON “events” as they occur, beginning with a “start” event, followed by test passes or failures, and then the final “end” event.

    + +
    ["start",{"total":12}]
    +["pass",{"title":"should return -1 when not present","fullTitle":"Array #indexOf() should return -1 when not present","duration":0}]
    +["pass",{"title":"should return the index when present","fullTitle":"Array #indexOf() should return the index when present","duration":0}]
    +["fail",{"title":"should return -1 when not present","fullTitle":"Array #indexOf() should return -1 when not present"}]
    +["end",{"start":"2011-08-29T03:21:02.050Z","suites":13,"passes":11,"tests":12,"failures":1,"end":"2011-08-29T03:21:02.052Z","duration":2}]
    +
    + +

    Doc

    + +

    The “doc” reporter outputs a hierarchical HTML body representation + of your tests, wrap it with a header, footer, some styling and you + have some fantastic documentation!

    + +

    For example suppose you have the following JavaScript:

    + +
    describe('Array', function(){
    +  describe('#indexOf()', function(){
    +    it('should return -1 when the value is not present', function(){
    +      [1,2,3].indexOf(5).should.equal(-1);
    +      [1,2,3].indexOf(0).should.equal(-1);
    +    })
    +  })
    +})
    +
    + +

    The command mocha --reporter doc array would yield:

    + +
    <section class="suite">
    +  <h1>Array</h1>
    +  <dl>
    +    <section class="suite">
    +      <h1>#indexOf()</h1>
    +      <dl>
    +      <dt>should return -1 when the value is not present</dt>
    +      <dd><pre><code>[1,2,3].indexOf(5).should.equal(-1);
    +[1,2,3].indexOf(0).should.equal(-1);</code></pre></dd>
    +      </dl>
    +    </section>
    +  </dl>
    +</section>
    +
    + +

    mocha.opts

    + +

    Mocha will attempt to load ./test/mocha.opts, these are concatenated with process.argv, though command-line args will take precedence. For example suppose you have the following mocha.opts file:

    + +
    --require should
    +--reporter dot
    +--ui bdd
    +
    + +

    This will default the reporter to dot, require the should library, + and use bdd as the interface. With this you may then invoke mocha(1) + with additional arguments, here enabling growl support and changing + the reporter to spec:

    + +
    $ mocha --reporter list --growl
    +
    + +

    Suite merging

    + +

    Suites with common names are “merged” in order + to produce unified reporting, especially when + meta-generating tests.

    + +
    describe('merge', function(){
    +  describe('stuff', function(){
    +    describe('one', function(){
    +      it('should do something', function(){})
    +    })
    +  })
    +})
    +
    +describe('merge', function(){
    +  describe('stuff', function(){
    +    describe('two', function(){
    +      it('should do something', function(){})
    +    })
    +  })
    +})
    +
    +describe('merge stuff', function(){
    +  describe('three', function(){
    +    it('should do something', function(){})
    +  })
    +})
    +
    + +

    will produce the following:

    + +

    mocha suite merging

    + +

    Best practices

    + +

    test/*

    + +

    By default mocha(1) will use the pattern ./test/*.js, so + it’s usually a good place to put your tests.

    + +

    Makefiles

    + +

    Be kind and don’t make developers hunt around in your docs to figure + out how to run the tests, add a make test target to your Makefile:

    + +
     test:
    +   ./node_modules/.bin/mocha \
    +     --reporter list
    +
    + .PHONY: test
    +
    + +

    Editors

    + +

    The following editor-related packages are available:

    + +

    TextMate bundle

    + +

    The Mocha TextMate bundle includes snippets to + make writing tests quicker and more enjoyable. + To install the bundle run:

    + +
      $ make tm
    +
    + +

    Running mocha’s tests

    + +

    Run the tests:

    + +
       $ make test
    +
    + +

    Run all tests, including interfaces:

    + +
       $ make test-all
    +
    + +

    Alter the reporter:

    + +
       $ make test REPORTER=list
    +
    + + \ No newline at end of file diff --git a/index.md b/index.md new file mode 100644 index 0000000000..c0d2bb92f2 --- /dev/null +++ b/index.md @@ -0,0 +1,338 @@ + +Mocha is a feature-rich JavaScript test framework running on [node](http://nodejs.org) and the browser, aiming to make async testing simple and fun. Mocha tests run serially, allowing for flexible and accurate reporting, while mapping uncaught exceptions to the correct test cases. + +## Features + + - proper exit status for CI support etc + - ideal for asynchronous APIs + - auto-detects and disables coloring for non-ttys + - maps uncaught exceptions to the correct test case + - async test timeout support + - growl notification support + - reports test durations + - highlights slow tests + - global variable leak detection + - configurable test-case timeout + - optionally run tests that match a regexp + - auto-exit to prevent "hanging" with an active loop + - easily meta-generate suites & test-cases + - mocha.opts file support + - `mocha-debug(1)` for node debugger support + - detects multiple calls to `done()` + - use any assertion library you want + - extensible reporting, bundled with 9+ reporters + - extensible test DSLs or "interfaces" + - before, after, before each, after each hooks + - TextMate bundle + +## Installation + + Install with [npm](http://npmjs.org): + + $ npm install -g mocha + +## Assertions + +Mocha allows you to use any assertion library you want, if it throws an error, it will work! This means you can utilize libraries such as [should.js](http://github.com/visionmedia/should.js), node's regular `assert` module, or others. + +## Synchronous code + + When testing synchronous code, omit the callback and Mocha will automatically continue on to the next test. + + describe('Array', function(){ + describe('#indexOf()', function(){ + it('should return -1 when the value is not present', function(){ + [1,2,3].indexOf(5).should.equal(-1); + [1,2,3].indexOf(0).should.equal(-1); + }) + }) + }) + +## Asynchronous code + +Testing asynchronous code with Mocha could not be simpler! Simply invoke the callback when your test is complete: + + describe('User', function(){ + describe('#save()', function(){ + it('should save without error', function(done){ + var user = new User('Luna'); + user.save(function(err){ + if (err) throw err; + done(); + }); + }) + }) + }) + + To make things even easier, the `done()` callback accepts an error, so we may use this directly: + + describe('User', function(){ + describe('#save()', function(){ + it('should save without error', function(done){ + var user = new User('Luna'); + user.save(done); + }) + }) + }) + +## Pending tests + + Pending test-cases are simply those without a callback: + + describe('Array', function(){ + describe('#indexOf()', function(){ + it('should return -1 when the value is not present') + }) + }) + +## mocha(1) + + Usage: mocha [options] [files] + + Options: + + -h, --help output usage information + -V, --version output the version number + -r, --require require the given module + -R, --reporter specify the reporter to use + -u, --ui specify user-interface (bdd|tdd|exports) + -g, --grep only run tests matching + -t, --timeout set test-case timeout in milliseconds [2000] + -s, --slow "slow" test threshold in milliseconds [75] + -G, --growl enable growl support + +## mocha-debug(1) + + `mocha-debug(1)` is identical to `mocha(1)`, however it enables node's debugger so you may step through tests with the __debugger__ statement. + +## Interfaces + + Mocha "interface" system allows developers to choose their style of DSL. Shipping with __BDD__, __TDD__, and __export__ flavoured interfaces. + +### BDD + + The "__BDD__" interface provides `describe()`, `it()`, `before()`, `after()`, `beforeEach()`, and `afterEach()`: + + describe('Array', function(){ + before(function(){ + // ... + }); + + describe('#indexOf()', function(){ + it('should return -1 when not present', function(){ + [1,2,3].indexOf(4).should.equal(-1); + }); + }); + }); + +### TDD + + The "__TDD__" interface provides `suite()`, `test()`, `setup()`, and `teardown()`. + + suite('Array', function(){ + setup(function(){ + // ... + }); + + suite('#indexOf()', function(){ + test('should return -1 when not present', function(){ + assert.equal(-1, [1,2,3].indexOf(4)); + }); + }); + }); + +### Exports + + The "__exports__" interface is much like Mocha's predecessor [expresso](http://github.com/visionmedia/expresso). The keys `before`, `after`, `beforeEach`, and `afterEach` are special-cased, object values + are suites, and function values are test-cases. + + module.exports = { + before: function(){ + // ... + }, + + 'Array': { + '#indexOf()': { + 'should return -1 when not present': function(){ + [1,2,3].indexOf(4).should.equal(-1); + } + } + } + }; + +## Reporters + + Mocha reporters adjust to the terminal window, + and always disable ansi-escape colouring when + the stdio streams are not associated with a tty. + +### Dot Matrix + + The Dot Matrix reporter is simply a series of dots + that represent test cases, failures highlight in red. + + ![dot matrix reporter](http://f.cl.ly/items/3b3b471Z1p2U3D1P2Y1n/Screenshot.png) + + ![dot matrix failure](http://f.cl.ly/items/1P11330L033r423g1y1n/Screenshot.png) + +## TAP + + The TAP reporter emits lines for a [Test-Anything-Protocol](http://en.wikipedia.org/wiki/Test_Anything_Protocol) consumer. + + ![test anything protocol](http://f.cl.ly/items/2O0X3h0d1Q430O1t1T3p/Screenshot.png) + +## Landing Strip + + The Landing Strip reporter is a gimmicky test reporter simulating + a plane landing :) unicode ftw + + ![landing strip plane reporter](http://f.cl.ly/items/0z1k400K1N1Y2G3u2u0i/Screenshot.png) + +## List + + The "List" reporter outputs a simple specifications list as + test cases pass or fail, outputting the failure details at + the bottom of the output. + + ![list reporter](http://f.cl.ly/items/0Y0x1B3l3K0n3t3h3l0p/Screenshot.png) + + ![failures](http://f.cl.ly/items/2Z0E150v20042G2d1J0i/Screenshot.png) + +## JSON + + The JSON reporter outputs a single large JSON object when + the tests have completed (failures or not). + +## JSON Stream + + The JSON Stream reporter outputs newline-delimited JSON "events" as they occur, beginning with a "start" event, followed by test passes or failures, and then the final "end" event. + + ["start",{"total":12}] + ["pass",{"title":"should return -1 when not present","fullTitle":"Array #indexOf() should return -1 when not present","duration":0}] + ["pass",{"title":"should return the index when present","fullTitle":"Array #indexOf() should return the index when present","duration":0}] + ["fail",{"title":"should return -1 when not present","fullTitle":"Array #indexOf() should return -1 when not present"}] + ["end",{"start":"2011-08-29T03:21:02.050Z","suites":13,"passes":11,"tests":12,"failures":1,"end":"2011-08-29T03:21:02.052Z","duration":2}] + +## Doc + + The "doc" reporter outputs a hierarchical HTML body representation + of your tests, wrap it with a header, footer, some styling and you + have some fantastic documentation! + + For example suppose you have the following JavaScript: + + describe('Array', function(){ + describe('#indexOf()', function(){ + it('should return -1 when the value is not present', function(){ + [1,2,3].indexOf(5).should.equal(-1); + [1,2,3].indexOf(0).should.equal(-1); + }) + }) + }) + + The command `mocha --reporter doc array` would yield: + +
    +

    Array

    +
    +
    +

    #indexOf()

    +
    +
    should return -1 when the value is not present
    +
    [1,2,3].indexOf(5).should.equal(-1);
    +    [1,2,3].indexOf(0).should.equal(-1);
    +
    +
    +
    +
    + +### mocha.opts + + Mocha will attempt to load `./test/mocha.opts`, these are concatenated with `process.argv`, though command-line args will take precedence. For example suppose you have the following _mocha.opts_ file: + + --require should + --reporter dot + --ui bdd + + This will default the reporter to `dot`, require the `should` library, + and use `bdd` as the interface. With this you may then invoke `mocha(1)` + with additional arguments, here enabling growl support and changing + the reporter to `spec`: + + $ mocha --reporter list --growl + +### Suite merging + + Suites with common names are "merged" in order + to produce unified reporting, especially when + meta-generating tests. + + describe('merge', function(){ + describe('stuff', function(){ + describe('one', function(){ + it('should do something', function(){}) + }) + }) + }) + + describe('merge', function(){ + describe('stuff', function(){ + describe('two', function(){ + it('should do something', function(){}) + }) + }) + }) + + describe('merge stuff', function(){ + describe('three', function(){ + it('should do something', function(){}) + }) + }) + +will produce the following: + + ![mocha suite merging](http://f.cl.ly/items/380R3S1t1t0b0O2K250V/Screenshot.png) + +## Best practices + +### test/* + + By default `mocha(1)` will use the pattern `./test/*.js`, so + it's usually a good place to put your tests. + +### Makefiles + + Be kind and don't make developers hunt around in your docs to figure + out how to run the tests, add a `make test` target to your _Makefile_: + + test: + ./node_modules/.bin/mocha \ + --reporter list + + .PHONY: test + +## Editors + + The following editor-related packages are available: + +### TextMate bundle + + The Mocha TextMate bundle includes snippets to + make writing tests quicker and more enjoyable. + To install the bundle run: + + $ make tm + +## Running mocha's tests + + Run the tests: + + $ make test + + Run all tests, including interfaces: + + $ make test-all + + Alter the reporter: + + $ make test REPORTER=list diff --git a/lib/browser/events.js b/lib/browser/events.js deleted file mode 100644 index dfcd4ee5aa..0000000000 --- a/lib/browser/events.js +++ /dev/null @@ -1,53 +0,0 @@ - -/** - * Expose `EventEmitter`. - */ - -exports.EventEmitter = EventEmitter; - -/** - * Slice reference. - */ - -var slice = [].slice; - -/** - * EventEmitter. - */ - -function EventEmitter() { - this.callbacks = {}; -}; - -/** - * Listen on the given `event` with `fn`. - * - * @param {String} event - * @param {Function} fn - */ - -EventEmitter.prototype.on = function(event, fn){ - (this.callbacks[event] = this.callbacks[event] || []) - .push(fn); - return this; -}; - -/** - * Emit `event` with the given args. - * - * @param {String} event - * @param {Mixed} ... - */ - -EventEmitter.prototype.emit = function(event){ - var args = slice.call(arguments, 1) - , callbacks = this.callbacks[event]; - - if (callbacks) { - for (var i = 0, len = callbacks.length; i < len; ++i) { - callbacks[i].apply(this, args) - } - } - - return this; -}; diff --git a/lib/browser/tty.js b/lib/browser/tty.js deleted file mode 100644 index 2d84374081..0000000000 --- a/lib/browser/tty.js +++ /dev/null @@ -1,8 +0,0 @@ - -exports.isatty = function(){ - return true; -}; - -exports.getWindowSize = function(){ - return [window.innerHeight, window.innerWidth]; -}; \ No newline at end of file diff --git a/lib/interfaces/bdd.js b/lib/interfaces/bdd.js deleted file mode 100644 index 1a06567c2b..0000000000 --- a/lib/interfaces/bdd.js +++ /dev/null @@ -1,86 +0,0 @@ - -/** - * Module dependencies. - */ - -var Suite = require('../suite') - , Test = require('../test'); - -/** - * BDD-style interface: - * - * describe('Array', function(){ - * describe('#indexOf()', function(){ - * it('should return -1 when not present', function(){ - * - * }); - * - * it('should return the index when present', function(){ - * - * }); - * }); - * }); - * - */ - -module.exports = function(suite){ - var suites = [suite]; - - suite.on('pre-require', function(context){ - - /** - * Execute before running tests. - */ - - context.before = function(fn){ - suites[0].beforeAll(fn); - }; - - /** - * Execute after running tests. - */ - - context.after = function(fn){ - suites[0].afterAll(fn); - }; - - /** - * Execute before each test case. - */ - - context.beforeEach = function(fn){ - suites[0].beforeEach(fn); - }; - - /** - * Execute after each test case. - */ - - context.afterEach = function(fn){ - suites[0].afterEach(fn); - }; - - /** - * Describe a "suite" with the given `title` - * and callback `fn` containing nested suites - * and/or tests. - */ - - context.describe = function(title, fn){ - var suite = Suite.create(suites[0], title); - suites.unshift(suite); - fn(); - suites.shift(); - }; - - /** - * Describe a specification or test-case - * with the given `title` and callback `fn` - * acting as a thunk. - */ - - context.it = function(title, fn){ - suites[0].addTest(new Test(title, fn)); - }; - }); -}; diff --git a/lib/interfaces/exports.js b/lib/interfaces/exports.js deleted file mode 100644 index b22607e04d..0000000000 --- a/lib/interfaces/exports.js +++ /dev/null @@ -1,60 +0,0 @@ - -/** - * Module dependencies. - */ - -var Suite = require('../suite') - , Test = require('../test'); - -/** - * TDD-style interface: - * - * exports.Array = { - * '#indexOf()': { - * 'should return -1 when the value is not present': function(){ - * - * }, - * - * 'should return the correct index when the value is present': function(){ - * - * } - * } - * }; - * - */ - -module.exports = function(suite){ - var suites = [suite]; - - suite.on('require', visit); - - function visit(obj) { - var suite; - for (var key in obj) { - if ('function' == typeof obj[key]) { - var fn = obj[key]; - switch (key) { - case 'before': - suites[0].beforeAll(fn); - break; - case 'after': - suites[0].afterAll(fn); - break; - case 'beforeEach': - suites[0].beforeEach(fn); - break; - case 'afterEach': - suites[0].afterEach(fn); - break; - default: - suites[0].addTest(new Test(key, fn)); - } - } else { - var suite = Suite.create(suites[0], key); - suites.unshift(suite); - visit(obj[key]); - suites.shift(); - } - } - } -}; \ No newline at end of file diff --git a/lib/interfaces/index.js b/lib/interfaces/index.js deleted file mode 100644 index 0dc76674ba..0000000000 --- a/lib/interfaces/index.js +++ /dev/null @@ -1,4 +0,0 @@ - -exports.bdd = require('./bdd'); -exports.tdd = require('./tdd'); -exports.exports = require('./exports'); \ No newline at end of file diff --git a/lib/interfaces/tdd.js b/lib/interfaces/tdd.js deleted file mode 100644 index e3ae6eb376..0000000000 --- a/lib/interfaces/tdd.js +++ /dev/null @@ -1,70 +0,0 @@ - -/** - * Module dependencies. - */ - -var Suite = require('../suite') - , Test = require('../test'); - -/** - * TDD-style interface: - * - * suite('Array', function(){ - * suite('#indexOf()', function(){ - * test('should return -1 when not present', function(){ - * - * }); - * - * test('should return the index when present', function(){ - * - * }); - * }); - * }); - * - */ - -module.exports = function(suite){ - var suites = [suite]; - - suite.on('pre-require', function(context){ - - /** - * Execute before each test case. - */ - - context.setup = function(fn){ - suites[0].beforeEach(fn); - }; - - /** - * Execute before each test case. - */ - - context.tearDown = function(fn){ - suites[0].afterEach(fn); - }; - - /** - * Describe a "suite" with the given `title` - * and callback `fn` containing nested suites - * and/or tests. - */ - - context.suite = function(title, fn){ - var suite = Suite.create(suites[0], title); - suites.unshift(suite); - fn(); - suites.shift(); - }; - - /** - * Describe a specification or test-case - * with the given `title` and callback `fn` - * acting as a thunk. - */ - - context.test = function(title, fn){ - suites[0].addTest(new Test(title, fn)); - }; - }); -}; diff --git a/lib/mocha.js b/lib/mocha.js deleted file mode 100644 index 52630165ea..0000000000 --- a/lib/mocha.js +++ /dev/null @@ -1,18 +0,0 @@ - -/*! - * mocha - * Copyright(c) 2011 TJ Holowaychuk - * MIT Licensed - */ - -/** - * Library version. - */ - -exports.version = '0.0.1-alpha5'; - -exports.interfaces = require('./interfaces'); -exports.reporters = require('./reporters'); -exports.Runner = require('./runner'); -exports.Suite = require('./suite'); -exports.Test = require('./test'); \ No newline at end of file diff --git a/lib/reporters/base.js b/lib/reporters/base.js deleted file mode 100644 index 007ecc5c02..0000000000 --- a/lib/reporters/base.js +++ /dev/null @@ -1,218 +0,0 @@ - -/** - * Module dependencies. - */ - -var tty = require('tty'); - -/** - * Check if both stdio streams are associated with a tty. - */ - -var isatty = tty.isatty(1) && tty.isatty(2); - -/** - * Expose `Base`. - */ - -exports = module.exports = Base; - -/** - * Enable coloring by default. - */ - -exports.useColors = isatty; - -/** - * Default color map. - */ - -exports.colors = { - 'pass': 90 - , 'fail': 31 - , 'pending': 36 - , 'suite': '40' - , 'error title': 0 - , 'error message': 31 - , 'error stack': 90 - , 'checkmark': 32 - , 'fast': 90 - , 'medium': 33 - , 'slow': 31 -}; - -/** - * Color `str` with the given `type`, - * allowing colors to be disabled, - * as well as user-defined color - * schemes. - * - * @param {String} type - * @param {String} str - * @return {String} - * @api private - */ - -var color = exports.color = function(type, str) { - if (!exports.useColors) return str; - return '\033[' + exports.colors[type] + 'm' + str + '\033[0m'; -}; - -/** - * Expose term window size, with some - * defaults for when stderr is not a tty. - */ - -exports.window = { - width: isatty - ? process.stdout.getWindowSize - ? process.stdout.getWindowSize(1)[0] - : tty.getWindowSize()[1] - : 75 -}; - -/** - * Expose some basic cursor interactions - * that are common among reporters. - */ - -exports.cursor = { - hide: function(){ - process.stdout.write('\033[?25l'); - }, - - show: function(){ - process.stdout.write('\033[?25h'); - } -}; - -/** - * A test is considered slow if it - * exceeds the following value in milliseconds. - */ - -exports.slow = 75; - -/** - * Outut the given `failures` as a list. - * - * @param {Array} failures - * @api public - */ - -exports.list = function(failures){ - console.error(); - failures.forEach(function(test, i){ - // format - var fmt = color('error title', ' %s) %s: ') - + color('error message', '%s') - + color('error stack', '\n%s\n'); - - // msg - var stack = test.err.stack - , index = stack.indexOf('at') - , msg = stack.slice(0, index); - - // indent stack trace without msg - stack = stack.slice(index) - .replace(/^/gm, ' '); - - console.error(fmt, i, test.fullTitle(), msg, stack); - }); -}; - -/** - * Initialize a new `Base` reporter. - * - * All other reporters generally - * inherit from this reporter, providing - * stats such as test duration, number - * of tests passed / failed etc. - * - * @param {Runner} runner - * @api public - */ - -function Base(runner) { - var self = this - , stats = this.stats = { suites: 0, tests: 0, passes: 0, failures: 0 } - , failures = this.failures = []; - - if (!runner) return; - - runner.on('start', function(){ - stats.start = new Date; - }); - - runner.on('suite', function(suite){ - stats.suites = stats.suites || 0; - stats.suites++; - }); - - runner.on('test end', function(test){ - stats.tests = stats.tests || 0; - stats.tests++; - }); - - runner.on('pass', function(test){ - stats.passes = stats.passes || 0; - - var medium = exports.slow / 2; - test.speed = test.duration > exports.slow - ? 'slow' - : test.duration > medium - ? 'medium' - : 'fast'; - - stats.passes++; - }); - - runner.on('fail', function(test, err){ - stats.failures = stats.failures || 0; - stats.failures++; - test.err = err; - failures.push(test); - }); - - runner.on('end', function(){ - stats.end = new Date; - stats.duration = new Date - stats.start; - }); -} - -/** - * Output common epilogue used by many of - * the bundled reporters. - * - * @api public - */ - -Base.prototype.epilogue = function(){ - var stats = this.stats; - - console.log(); - - // failure - if (stats.failures) { - console.error( - ' \033[91m✖\033[31m %d of %d tests failed\033[90m:\033[0m' - , stats.failures, stats.tests); - Base.list(this.failures); - console.error(); - process.nextTick(function(){ - process.exit(stats.failures); - }); - return; - } - - // pass - console.log( - ' \033[92m✔\033[32m %d tests completed\033[90m (%dms)\033[0m' - , stats.tests || 0 - , stats.duration); - - console.log(); - process.nextTick(function(){ - process.exit(0); - }); -}; diff --git a/lib/reporters/doc.js b/lib/reporters/doc.js deleted file mode 100644 index a65c5b2e58..0000000000 --- a/lib/reporters/doc.js +++ /dev/null @@ -1,77 +0,0 @@ - -/** - * Module dependencies. - */ - -var Base = require('./base'); - -/** - * Expose `Doc`. - */ - -exports = module.exports = Doc; - -/** - * Initialize a new `Doc` reporter. - * - * @param {Runner} runner - * @api public - */ - -function Doc(runner) { - Base.call(this, runner); - - var self = this - , stats = this.stats - , total = runner.total - , indents = 2; - - function indent() { - return Array(indents).join(' '); - } - - runner.on('suite', function(suite){ - if (suite.root) return; - ++indents; - console.log('%s
    ', indent()); - ++indents; - console.log('%s

    %s

    ', indent(), suite.title); - console.log('%s
    ', indent()); - }); - - runner.on('suite end', function(suite){ - if (suite.root) return; - console.log('%s
    ', indent()); - --indents; - console.log('%s
    ', indent()); - --indents; - }); - - runner.on('pass', function(test){ - console.log('%s
    %s
    ', indent(), test.title); - var code = clean(test.fn.toString()); - console.log('%s
    %s
    ', indent(), code); - }); - - runner.on('end', function(){ - process.exit(stats.failures); - }); -} - -/** - * Strip the function definition from `str`, - * and re-indent for pre whitespace. - */ - -function clean(str) { - str = str - .replace(/^function *\(.*\) *{/, '') - .replace(/\s+\}$/, ''); - - var spaces = str.match(/^\n?( *)/)[1].length - , re = new RegExp('^ {' + spaces + '}', 'gm'); - - str = str.replace(re, ''); - - return str; -} \ No newline at end of file diff --git a/lib/reporters/dot.js b/lib/reporters/dot.js deleted file mode 100644 index f1adb38c4c..0000000000 --- a/lib/reporters/dot.js +++ /dev/null @@ -1,62 +0,0 @@ - -/** - * Module dependencies. - */ - -var Base = require('./base') - , color = Base.color; - -/** - * Expose `Dot`. - */ - -exports = module.exports = Dot; - -/** - * Initialize a new `Dot` matrix test reporter. - * - * @param {Runner} runner - * @api public - */ - -function Dot(runner) { - Base.call(this, runner); - - var self = this - , stats = this.stats - , width = Base.window.width * .75 | 0 - , n = 0; - - runner.on('start', function(){ - process.stdout.write('\n '); - }); - - runner.on('pending', function(test){ - process.stdout.write(color('pending', '.')); - }); - - runner.on('pass', function(test){ - if (++n % width == 0) process.stdout.write('\n '); - if ('slow' == test.speed) { - process.stdout.write('\033[93m.\033[0m'); - } else { - process.stdout.write(color(test.speed, '.')); - } - }); - - runner.on('fail', function(test, err){ - if (++n % width == 0) process.stdout.write('\n '); - process.stdout.write(color('fail', '.')); - }); - - runner.on('end', function(){ - console.log(); - self.epilogue(); - }); -} - -/** - * Inherit from `Base.prototype`. - */ - -Dot.prototype.__proto__ = Base.prototype; \ No newline at end of file diff --git a/lib/reporters/html.js b/lib/reporters/html.js deleted file mode 100644 index 75a321103c..0000000000 --- a/lib/reporters/html.js +++ /dev/null @@ -1,115 +0,0 @@ - -/** - * Module dependencies. - */ - -var Base = require('./base'); - -/** - * Expose `Doc`. - */ - -exports = module.exports = HTML; - -/** - * Initialize a new `Doc` reporter. - * - * @param {Runner} runner - * @api public - */ - -function HTML(runner) { - Base.call(this, runner); - - // TODO: clean up - - var self = this - , stats = this.stats - , total = runner.total - , root = document.getElementById('mocha') - , stack = [root] - , stat = document.createElement('div'); - - stat.innerHTML = '
      ' - + '
    • passes: 0
    • ' - + '
    • failures: 0
    • ' - + '
    '; - - if (!root) error('#mocha div missing, add it to your document'); - - document.body.appendChild(root); - document.body.appendChild(stat); - - runner.on('suite', function(suite){ - if (suite.root) return; - - // suite - var el = document.createElement('div'); - el.setAttribute('class', 'suite'); - - // title - var title = document.createElement('h1'); - title.textContent = suite.title; - el.appendChild(title); - - // container - stack[0].appendChild(el); - stack.unshift(document.createElement('div')); - el.appendChild(stack[0]); - }); - - runner.on('suite end', function(suite){ - if (suite.root) return; - stack.shift(); - }); - - runner.on('test end', function(test){ - console.log(stats); - // test - var el = document.createElement('div'); - el.setAttribute('class', 'test ' + (test.passed ? 'pass' : 'fail')); - - // title - var title = document.createElement('h2'); - title.textContent = test.title; - el.appendChild(title); - - // code - var pre = document.createElement('pre'); - var code = document.createElement('code'); - pre.appendChild(code); - code.textContent = clean(test.fn.toString()); - el.appendChild(pre); - - stack[0].appendChild(el); - }); - - runner.on('end', function(){ - process.exit(stats.failures); - }); -} - -function error(msg) { - // TODO: nicer - throw new Error(msg); -} - -/** - * Strip the function definition from `str`, - * and re-indent for pre whitespace. - */ - -function clean(str) { - str = str - .replace(/^function *\(.*\) *{/, '') - .replace(/\s+\}$/, ''); - - var spaces = str.match(/^\n?( *)/)[1].length - , re = new RegExp('^ {' + spaces + '}', 'gm'); - - str = str - .replace(re, '') - .replace(/^\s+/, ''); - - return str; -} \ No newline at end of file diff --git a/lib/reporters/index.js b/lib/reporters/index.js deleted file mode 100644 index 2120c2809b..0000000000 --- a/lib/reporters/index.js +++ /dev/null @@ -1,11 +0,0 @@ - -exports.Base = require('./base'); -exports.Dot = require('./dot'); -exports.Doc = require('./doc'); -exports.TAP = require('./tap'); -exports.JSON = require('./json'); -exports.HTML = require('./html'); -exports.List = require('./list'); -exports.Progress = require('./progress'); -exports.Landing = require('./landing'); -exports.JSONStream = require('./json-stream'); diff --git a/lib/reporters/json-stream.js b/lib/reporters/json-stream.js deleted file mode 100644 index f69567912b..0000000000 --- a/lib/reporters/json-stream.js +++ /dev/null @@ -1,63 +0,0 @@ - -/** - * Module dependencies. - */ - -var Base = require('./base') - , color = Base.color; - -/** - * Expose `List`. - */ - -exports = module.exports = List; - -/** - * Initialize a new `List` test reporter. - * - * @param {Runner} runner - * @api public - */ - -function List(runner) { - Base.call(this, runner); - - var self = this - , stats = this.stats - , total = runner.total; - - runner.on('start', function(){ - console.log(JSON.stringify(['start', { total: total }])); - }); - - runner.on('pass', function(test){ - console.log(JSON.stringify(['pass', clean(test)])); - }); - - runner.on('fail', function(test, err){ - console.log(JSON.stringify(['fail', clean(test)])); - }); - - runner.on('end', function(){ - process.stdout.write(JSON.stringify(['end', self.stats]), function(){ - process.exit(0); - }); - }); -} - -/** - * Return a plain-object representation of `test` - * free of cyclic properties etc. - * - * @param {Object} test - * @return {Object} - * @api private - */ - -function clean(test) { - return { - title: test.title - , fullTitle: test.fullTitle() - , duration: test.duration - } -} \ No newline at end of file diff --git a/lib/reporters/json.js b/lib/reporters/json.js deleted file mode 100644 index d6edce989b..0000000000 --- a/lib/reporters/json.js +++ /dev/null @@ -1,72 +0,0 @@ - -/** - * Module dependencies. - */ - -var Base = require('./base') - , cursor = Base.cursor - , color = Base.color; - -/** - * Expose `JSON`. - */ - -exports = module.exports = JSONReporter; - -/** - * Initialize a new `JSON` reporter. - * - * @param {Runner} runner - * @api public - */ - -function JSONReporter(runner) { - var self = this; - Base.call(this, runner); - - var tests = [] - , failures = [] - , passes = []; - - runner.on('test end', function(test){ - tests.push(test); - }); - - runner.on('pass', function(test){ - passes.push(test); - }); - - runner.on('fail', function(test){ - failures.push(test); - }); - - runner.on('end', function(){ - var obj = { - stats: self.stats - , tests: tests.map(clean) - , failures: failures.map(clean) - , passes: passes.map(clean) - }; - - process.stdout.write(JSON.stringify(obj), function(){ - process.exit(0); - }); - }); -} - -/** - * Return a plain-object representation of `test` - * free of cyclic properties etc. - * - * @param {Object} test - * @return {Object} - * @api private - */ - -function clean(test) { - return { - title: test.title - , fullTitle: test.fullTitle() - , duration: test.duration - } -} \ No newline at end of file diff --git a/lib/reporters/landing.js b/lib/reporters/landing.js deleted file mode 100644 index ceab6d8d71..0000000000 --- a/lib/reporters/landing.js +++ /dev/null @@ -1,97 +0,0 @@ - -/** - * Module dependencies. - */ - -var Base = require('./base') - , cursor = Base.cursor - , color = Base.color; - -/** - * Expose `Landing`. - */ - -exports = module.exports = Landing; - -/** - * Airplane color. - */ - -Base.colors.plane = 0; - -/** - * Airplane crash color. - */ - -Base.colors['plane crash'] = 31; - -/** - * Runway color. - */ - -Base.colors.runway = 90; - -/** - * Initialize a new `Landing` reporter. - * - * @param {Runner} runner - * @api public - */ - -function Landing(runner) { - Base.call(this, runner); - - var self = this - , stats = this.stats - , width = Base.window.width * .75 | 0 - , total = runner.total - , stream = process.stdout - , plane = color('plane', '✈') - , crashed = -1 - , n = 0; - - function runway() { - var buf = Array(width).join('-'); - return ' ' + color('runway', buf); - } - - runner.on('start', function(){ - stream.write('\n '); - cursor.hide(); - }); - - runner.on('test end', function(test){ - // check if the plane crashed - var col = -1 == crashed - ? width * ++n / total | 0 - : crashed; - - // show the crash - if (test.failed) { - plane = color('plane crash', '✈'); - crashed = col; - } - - // render landing strip - stream.write('\033[4F\n\n'); - stream.write(runway()); - stream.write('\n '); - stream.write(color('runway', Array(col).join('⋅'))); - stream.write(plane) - stream.write(color('runway', Array(width - col).join('⋅') + '\n')); - stream.write(runway()); - stream.write('\033[0m'); - }); - - runner.on('end', function(){ - cursor.show(); - console.log(); - self.epilogue(); - }); -} - -/** - * Inherit from `Base.prototype`. - */ - -Landing.prototype.__proto__ = Base.prototype; \ No newline at end of file diff --git a/lib/reporters/list.js b/lib/reporters/list.js deleted file mode 100644 index 60acc4fd34..0000000000 --- a/lib/reporters/list.js +++ /dev/null @@ -1,61 +0,0 @@ - -/** - * Module dependencies. - */ - -var Base = require('./base') - , color = Base.color; - -/** - * Expose `List`. - */ - -exports = module.exports = List; - -/** - * Initialize a new `List` test reporter. - * - * @param {Runner} runner - * @api public - */ - -function List(runner) { - Base.call(this, runner); - - var self = this - , stats = this.stats - , n = 0; - - runner.on('start', function(){ - console.log(); - }); - - runner.on('test', function(test){ - process.stdout.write(color('pass', ' ' + test.fullTitle() + ': ')); - }); - - runner.on('pending', function(test){ - var fmt = color('checkmark', ' -') - + color('pending', ' %s'); - console.log(fmt, test.fullTitle()); - }); - - runner.on('pass', function(test){ - var fmt = color('checkmark', ' ✓') - + color('pass', ' %s: ') - + color(test.speed, '%dms'); - console.log('\r' + fmt, test.fullTitle(), test.duration); - }); - - runner.on('fail', function(test, err){ - console.log('\r' + color('fail', ' %d) %s'), n++, test.fullTitle()); - }); - - runner.on('end', self.epilogue.bind(self)); -} - -/** - * Inherit from `Base.prototype`. - */ - -List.prototype.__proto__ = Base.prototype; \ No newline at end of file diff --git a/lib/reporters/progress.js b/lib/reporters/progress.js deleted file mode 100644 index 423c98255b..0000000000 --- a/lib/reporters/progress.js +++ /dev/null @@ -1,84 +0,0 @@ - -/** - * Module dependencies. - */ - -var Base = require('./base') - , cursor = Base.cursor - , color = Base.color; - -/** - * Expose `Progress`. - */ - -exports = module.exports = Progress; - -/** - * General progress bar color. - */ - -Base.colors.progress = 90; - -/** - * Initialize a new `Progress` bar test reporter. - * - * @param {Runner} runner - * @param {Object} options - * @api public - */ - -function Progress(runner, options) { - Base.call(this, runner); - - var self = this - , options = options || {} - , stats = this.stats - , width = Base.window.width * .50 | 0 - , total = runner.total - , complete = 0 - , max = Math.max; - - // default chars - options.open = options.open || '['; - options.complete = options.complete || '▬'; - options.incomplete = options.incomplete || '⋅'; - options.close = options.close || ']'; - options.verbose = false; - - // tests started - runner.on('start', function(){ - console.log(); - cursor.hide(); - }); - - // tests complete - runner.on('test end', function(){ - var incomplete = total - complete - , percent = complete++ / total - , n = width * percent | 0 - , i = width - n; - - process.stdout.write('\r\033[J'); - process.stdout.write(color('progress', ' ' + options.open)); - process.stdout.write(Array(n).join(options.complete)); - process.stdout.write(Array(i).join(options.incomplete)); - process.stdout.write(color('progress', options.close)); - if (options.verbose) { - process.stdout.write(color('progress', ' ' + complete + ' of ' + total)); - } - }); - - // tests are complete, output some stats - // and the failures if any - runner.on('end', function(){ - cursor.show(); - console.log(); - self.epilogue(); - }); -} - -/** - * Inherit from `Base.prototype`. - */ - -Progress.prototype.__proto__ = Base.prototype; \ No newline at end of file diff --git a/lib/reporters/spec.js b/lib/reporters/spec.js deleted file mode 100644 index 8efc3936a9..0000000000 --- a/lib/reporters/spec.js +++ /dev/null @@ -1,83 +0,0 @@ - -/** - * Module dependencies. - */ - -var Base = require('./base') - , color = Base.color; - -/** - * Expose `Spec`. - */ - -exports = module.exports = Spec; - -/** - * Initialize a new `Spec` test reporter. - * - * @param {Runner} runner - * @api public - */ - -function Spec(runner) { - Base.call(this, runner); - - var self = this - , stats = this.stats - , indents = 0 - , n = 0; - - function indent() { - return Array(indents).join(' ') - } - - runner.on('start', function(){ - console.log(); - }); - - runner.on('suite', function(suite){ - ++indents; - console.log(color('suite', '%s%s'), indent(), suite.title); - }); - - runner.on('suite end', function(suite){ - --indents; - if (1 == indents) console.log(); - }); - - runner.on('test', function(test){ - process.stdout.write(indent() + color('pass', test.title + ': ')); - }); - - runner.on('pending', function(test){ - var fmt = indent() + color('pending', ' - %s'); - console.log(fmt, test.title); - }); - - runner.on('pass', function(test){ - if ('fast' == test.speed) { - var fmt = indent() - + color('checkmark', ' ✓') - + color('pass', ' %s '); - console.log('\r' + fmt, test.title); - } else { - var fmt = indent() - + color('checkmark', ' ✓') - + color('pass', ' %s ') - + color(test.speed, '(%dms)'); - console.log('\r' + fmt, test.title, test.duration); - } - }); - - runner.on('fail', function(test, err){ - console.log('\r' + indent() + color('fail', ' %d) %s'), n++, test.title); - }); - - runner.on('end', self.epilogue.bind(self)); -} - -/** - * Inherit from `Base.prototype`. - */ - -Spec.prototype.__proto__ = Base.prototype; \ No newline at end of file diff --git a/lib/reporters/tap.js b/lib/reporters/tap.js deleted file mode 100644 index ef58497234..0000000000 --- a/lib/reporters/tap.js +++ /dev/null @@ -1,50 +0,0 @@ - -/** - * Module dependencies. - */ - -var Base = require('./base') - , cursor = Base.cursor - , color = Base.color; - -/** - * Expose `TAP`. - */ - -exports = module.exports = TAP; - -/** - * Initialize a new `TAP` reporter. - * - * @param {Runner} runner - * @api public - */ - -function TAP(runner) { - Base.call(this, runner); - - var self = this - , stats = this.stats - , total = runner.total - , n = 1; - - runner.on('start', function(){ - console.log(' %d..%d', 1, total); - }); - - runner.on('test end', function(){ - ++n; - }); - - runner.on('pass', function(test){ - console.log(' ok %d %s', n, test.fullTitle()); - }); - - runner.on('fail', function(test){ - console.log(' not ok %d %s', n, test.fullTitle()); - }); - - runner.on('end', function(){ - process.exit(stats.failures); - }); -} \ No newline at end of file diff --git a/lib/runner.js b/lib/runner.js deleted file mode 100644 index 5c919e6c6b..0000000000 --- a/lib/runner.js +++ /dev/null @@ -1,302 +0,0 @@ - -/** - * Module dependencies. - */ - -var EventEmitter = require('events').EventEmitter - , Test = require('./test') - , noop = function(){}; - -/** - * Expose `Runner`. - */ - -module.exports = Runner; - -/** - * Initialize a `Runner` for the given `suite`. - * - * Events: - * - * - `start` execution started - * - `end` execution complete - * - `suite` (suite) test suite execution started - * - `suite end` (suite) all tests (and sub-suites) have finished - * - `test` (test) test execution started - * - `test end` (test) test completed - * - `pass` (test) test passed - * - `fail` (test, err) test failed - * - * @api public - */ - -function Runner(suite) { - this.suite = suite; - this.total = suite.total(); - this.globals = Object.keys(global).concat(['errno']); - this.on('test end', this.checkGlobals.bind(this)); - this.grep(/.*/); -} - -/** - * Inherit from `EventEmitter.prototype`. - */ - -Runner.prototype.__proto__ = EventEmitter.prototype; - -/** - * Run tests with full titles matching `re`. - * - * @param {RegExp} re - * @return {Runner} for chaining - * @api public - */ - -Runner.prototype.grep = function(re){ - this._grep = re; - return this; -}; - -/** - * Check for global variable leaks. - * - * @api private - */ - -Runner.prototype.checkGlobals = function(test){ - var leaks = Object.keys(global).filter(function(key){ - return !~this.globals.indexOf(key); - }, this); - - this.globals = this.globals.concat(leaks); - - if (leaks.length > 1) { - this.fail(test, new Error('global leaks detected: ' + leaks.join(', ') + '')); - } else if (leaks.length) { - this.fail(test, new Error('global leak detected: ' + leaks[0])); - } -}; - -/** - * Fail the given `test`. - * - * @param {Test} test - * @param {Error} err - * @api private - */ - -Runner.prototype.fail = function(test, err){ - test.failed = true; - this.emit('fail', test, err); -}; - -/** - * Fail the given `hook` name. - * - * @param {String} hook - * @param {Error} err - * @api private - */ - -Runner.prototype.failHook = function(hook, err){ - var test = new Test(hook + ' hook', noop); - test.parent = this.suite; - this.fail(test, err); - this.emit('end'); - process.exit(0); -}; - -/** - * Run hook `name` callbacks and then invoke `fn(err)`. - * - * @param {String} name - * @param {Function} function - * @api private - */ - -Runner.prototype.hook = function(name, fn){ - var suite = this.suite - , test = this.test - , callbacks = suite[name + 'Callbacks'] - , pending = callbacks.length; - - function next(i) { - var callback = callbacks[i] - if (!callback) return fn(); - - // async - if (1 == callback.length) { - // async - try { - callback(function(err){ - if (err) return fn(err); - next(++i); - }); - } catch (err) { - fn(err); - } - return; - } - - // serial - try { - callback(); - process.nextTick(function(){ - next(++i); - }); - } catch (err) { - fn(err); - } - } - - process.nextTick(function(){ - next(0); - }); -}; - -/** - * Run the current test and callback `fn(err)`. - * - * @param {Function} fn - * @api private - */ - -Runner.prototype.runTest = function(fn){ - var test = this.test - , self = this; - - // run the test - try { - // async - if (test.async) return test.run(function(err){ - if (test.finished) { - self.fail(test, new Error('done() called multiple times')); - return; - } - fn(err); - }); - // sync - process.nextTick(function(){ - test.run(); - fn(); - }); - } catch (err) { - fn(err); - } -}; - -/** - * Run tests in the given `suite` and invoke - * the callback `fn()` when complete. - * - * @param {Suite} suite - * @param {Function} fn - * @api private - */ - -Runner.prototype.runTests = function(suite, fn){ - var self = this - , tests = suite.tests - , test; - - function next(err) { - // error handling - if (err) self.fail(test, err); - - // next test - test = tests.shift(); - - // all done - if (!test) return fn(); - - // grep - if (!self._grep.test(test.fullTitle())) return next(); - - // pending - if (test.pending) { - self.emit('pending', test); - self.emit('test end', test); - return next(); - } - - // execute test and hook(s) - self.emit('test', self.test = test); - self.hook('beforeEach', function(err){ - if (err) return self.failHook('beforeEach', err); - self.runTest(function(err){ - if (err) return next(err); - self.emit('pass', test); - test.passed = true; - self.emit('test end', test); - if (err) return self.failHook('beforeEach', err); - self.hook('afterEach', function(err){ - if (err) return self.failHook('afterEach', err); - next(); - }); - }); - }); - } - - next(); -}; - -/** - * Run the given `suite` and invoke the - * callback `fn()` when complete. - * - * @param {Suite} suite - * @param {Function} fn - * @api private - */ - -Runner.prototype.runSuite = function(suite, fn){ - var self = this - , i = 0; - - this.emit('suite', this.suite = suite); - - function next() { - var curr = suite.suites[i++]; - if (!curr) return done(); - self.runSuite(curr, next); - } - - function done() { - self.suite = suite; - self.hook('afterAll', function(err){ - if (err) return self.failHook('afterAll', err); - self.emit('suite end', suite); - fn(); - }); - } - - this.hook('beforeAll', function(err){ - // TODO: use interface names - if (err) return self.failHook('beforeAll', err); - self.runTests(suite, next); - }); -}; - -/** - * Run the root suite. - * - * @api public - */ - -Runner.prototype.run = function(){ - var self = this; - - // run suites - this.emit('start'); - this.runSuite(this.suite, function(){ - self.emit('end'); - }); - - // uncaught exception - process.on('uncaughtException', function(err){ - self.fail(self.test, err); - self.emit('end'); - }); - - return this; -}; diff --git a/lib/suite.js b/lib/suite.js deleted file mode 100644 index 719beec21b..0000000000 --- a/lib/suite.js +++ /dev/null @@ -1,194 +0,0 @@ - -/** - * Module dependencies. - */ - -var EventEmitter = require('events').EventEmitter; - -/** - * Expose `Suite`. - */ - -exports = module.exports = Suite; - -/** - * Suite map. - */ - -var map = {}; - -/** - * Create a new `Suite` with the given `title` - * and parent `Suite`. When a suite with the - * same title is already present, that suite - * is returned to provide nicer reporter - * and more flexible meta-testing. - * - * @param {Suite} parent - * @param {String} title - * @return {Suite} - * @api public - */ - -exports.create = function(parent, title){ - var suite = new Suite(title); - suite.parent = parent; - title = suite.fullTitle(); - if (map[title]) return map[title]; - parent.addSuite(suite); - return map[title] = suite; -}; - -/** - * Initialize a new `Suite` with the given `title`. - * - * @param {String} title - * @api private - */ - -function Suite(title) { - this.title = title; - this.suites = []; - this.tests = []; - this.beforeAllCallbacks = []; - this.beforeEachCallbacks = []; - this.afterAllCallbacks = []; - this.afterEachCallbacks = []; - this.root = !title; -} - -/** - * Inherit from `EventEmitter.prototype`. - */ - -Suite.prototype.__proto__ = EventEmitter.prototype; - -/** - * Set timeout `ms`. - * - * @param {Number} ms - * @return {Suite} for chaining - * @api private - */ - -Suite.prototype.timeout = function(ms){ - this._timeout = ms; - return this; -}; - -/** - * Run `fn(test[, done])` before running tests. - * - * @param {Function} fn - * @return {Suite} for chaining - * @api private - */ - -Suite.prototype.beforeAll = function(fn){ - this.beforeAllCallbacks.push(fn); - this.emit('beforeAll', fn); - return this; -}; - -/** - * Run `fn(test[, done])` after running tests. - * - * @param {Function} fn - * @return {Suite} for chaining - * @api private - */ - -Suite.prototype.afterAll = function(fn){ - this.afterAllCallbacks.push(fn); - this.emit('afterAll', fn); - return this; -}; - -/** - * Run `fn(test[, done])` before each test case. - * - * @param {Function} fn - * @return {Suite} for chaining - * @api private - */ - -Suite.prototype.beforeEach = function(fn){ - this.beforeEachCallbacks.push(fn); - this.emit('beforeEach', fn); - return this; -}; - -/** - * Run `fn(test[, done])` after each test case. - * - * @param {Function} fn - * @return {Suite} for chaining - * @api private - */ - -Suite.prototype.afterEach = function(fn){ - this.afterEachCallbacks.push(fn); - this.emit('afterEach', fn); - return this; -}; - -/** - * Add a test `suite`. - * - * @param {Suite} suite - * @return {Suite} for chaining - * @api private - */ - -Suite.prototype.addSuite = function(suite){ - suite.parent = this; - if (this._timeout) suite.timeout(this._timeout); - this.suites.push(suite); - this.emit('suite', suite); - return this; -}; - -/** - * Add a `test` to this suite. - * - * @param {Test} test - * @return {Suite} for chaining - * @api private - */ - -Suite.prototype.addTest = function(test){ - test.parent = this; - if (this._timeout) test.timeout(this._timeout); - this.tests.push(test); - this.emit('test', test); - return this; -}; - -/** - * Return the full title generated by recursively - * concatenating the parent's full title. - * - * @return {String} - * @api public - */ - -Suite.prototype.fullTitle = function(){ - if (this.parent) { - var full = this.parent.fullTitle(); - if (full) return full + ' ' + this.title; - } - return this.title; -}; - -/** - * Return the total number of tests. - * - * @return {Number} - * @api public - */ - -Suite.prototype.total = function(){ - return this.suites.reduce(function(sum, suite){ - return sum + suite.total(); - }, 0) + this.tests.length; -}; diff --git a/lib/test.js b/lib/test.js deleted file mode 100644 index 41301996d6..0000000000 --- a/lib/test.js +++ /dev/null @@ -1,83 +0,0 @@ - -/** - * Expose `Test`. - */ - -module.exports = Test; - -/** - * Initialize a new `Test` with the given `title` and callback `fn`. - * - * @param {String} title - * @param {Function} fn - * @api private - */ - -function Test(title, fn) { - this.title = title; - this.fn = fn; - this.pending = !fn; - this.async = fn && fn.length; - this.sync = ! this.async; - this.timeout(2000); -} - -/** - * Set timeout `ms`. - * - * @param {Number} ms - * @return {Test} for chaining - * @api private - */ - -Test.prototype.timeout = function(ms){ - this._timeout = ms; - return this; -}; - -/** - * Return the full title generated by recursively - * concatenating the parent's full title. - * - * @return {String} - * @api public - */ - -Test.prototype.fullTitle = function(){ - return this.parent.fullTitle() + ' ' + this.title; -}; - -/** - * Run the test and invoke `fn(err)`. - * - * @param {Function} fn - * @api private - */ - -Test.prototype.run = function(fn){ - var timer - , self = this - , ms = this._timeout - , start = new Date; - - // timeout - if (this.async) { - timer = setTimeout(function(){ - fn(new Error('timeout of ' + ms + 'ms exceeded')); - }, ms); - } - - // async - if (this.async) { - this.fn(function(err){ - clearTimeout(timer); - self.duration = new Date - start; - fn(err); - self.finished = true; - }); - // sync - } else { - if (!this.pending) this.fn(); - this.duration = new Date - start; - } -}; diff --git a/mocha.js b/mocha.js deleted file mode 100644 index 7ce59dc4dc..0000000000 --- a/mocha.js +++ /dev/null @@ -1,2043 +0,0 @@ - -// CommonJS require() - -function require(p){ - var path = require.resolve(p) - , mod = require.modules[path]; - if (!mod) throw new Error('failed to require "' + p + '"'); - if (!mod.exports) { - mod.exports = {}; - mod.call(mod.exports, mod, mod.exports, require.relative(path)); - } - return mod.exports; - } - -require.modules = {}; - -require.resolve = function (path){ - var orig = path - , reg = path + '.js' - , index = path + '/index.js'; - return require.modules[reg] && reg - || require.modules[index] && index - || orig; - }; - -require.register = function (path, fn){ - require.modules[path] = fn; - }; - -require.relative = function (parent) { - return function(p){ - if ('.' != p[0]) return require(p); - - var path = parent.split('/') - , segs = p.split('/'); - path.pop(); - - for (var i = 0; i < segs.length; i++) { - var seg = segs[i]; - if ('..' == seg) path.pop(); - else if ('.' != seg) path.push(seg); - } - - return require(path.join('/')); - }; - }; - - -require.register("browser/events.js", function(module, exports, require){ - -/** - * Expose `EventEmitter`. - */ - -exports.EventEmitter = EventEmitter; - -/** - * Slice reference. - */ - -var slice = [].slice; - -/** - * EventEmitter. - */ - -function EventEmitter() { - this.callbacks = {}; -}; - -/** - * Listen on the given `event` with `fn`. - * - * @param {String} event - * @param {Function} fn - */ - -EventEmitter.prototype.on = function(event, fn){ - (this.callbacks[event] = this.callbacks[event] || []) - .push(fn); - return this; -}; - -/** - * Emit `event` with the given args. - * - * @param {String} event - * @param {Mixed} ... - */ - -EventEmitter.prototype.emit = function(event){ - var args = slice.call(arguments, 1) - , callbacks = this.callbacks[event]; - - if (callbacks) { - for (var i = 0, len = callbacks.length; i < len; ++i) { - callbacks[i].apply(this, args) - } - } - - return this; -}; - -}); // module: browser/events.js - -require.register("browser/tty.js", function(module, exports, require){ - -exports.isatty = function(){ - return true; -}; - -exports.getWindowSize = function(){ - return [window.innerHeight, window.innerWidth]; -}; -}); // module: browser/tty.js - -require.register("interfaces/bdd.js", function(module, exports, require){ - -/** - * Module dependencies. - */ - -var Suite = require('../suite') - , Test = require('../test'); - -/** - * BDD-style interface: - * - * describe('Array', function(){ - * describe('#indexOf()', function(){ - * it('should return -1 when not present', function(){ - * - * }); - * - * it('should return the index when present', function(){ - * - * }); - * }); - * }); - * - */ - -module.exports = function(suite){ - var suites = [suite]; - - suite.on('pre-require', function(context){ - - /** - * Execute before running tests. - */ - - context.before = function(fn){ - suites[0].beforeAll(fn); - }; - - /** - * Execute after running tests. - */ - - context.after = function(fn){ - suites[0].afterAll(fn); - }; - - /** - * Execute before each test case. - */ - - context.beforeEach = function(fn){ - suites[0].beforeEach(fn); - }; - - /** - * Execute after each test case. - */ - - context.afterEach = function(fn){ - suites[0].afterEach(fn); - }; - - /** - * Describe a "suite" with the given `title` - * and callback `fn` containing nested suites - * and/or tests. - */ - - context.describe = function(title, fn){ - var suite = Suite.create(suites[0], title); - suites.unshift(suite); - fn(); - suites.shift(); - }; - - /** - * Describe a specification or test-case - * with the given `title` and callback `fn` - * acting as a thunk. - */ - - context.it = function(title, fn){ - suites[0].addTest(new Test(title, fn)); - }; - }); -}; - -}); // module: interfaces/bdd.js - -require.register("interfaces/exports.js", function(module, exports, require){ - -/** - * Module dependencies. - */ - -var Suite = require('../suite') - , Test = require('../test'); - -/** - * TDD-style interface: - * - * exports.Array = { - * '#indexOf()': { - * 'should return -1 when the value is not present': function(){ - * - * }, - * - * 'should return the correct index when the value is present': function(){ - * - * } - * } - * }; - * - */ - -module.exports = function(suite){ - var suites = [suite]; - - suite.on('require', visit); - - function visit(obj) { - var suite; - for (var key in obj) { - if ('function' == typeof obj[key]) { - var fn = obj[key]; - switch (key) { - case 'before': - suites[0].beforeAll(fn); - break; - case 'after': - suites[0].afterAll(fn); - break; - case 'beforeEach': - suites[0].beforeEach(fn); - break; - case 'afterEach': - suites[0].afterEach(fn); - break; - default: - suites[0].addTest(new Test(key, fn)); - } - } else { - var suite = Suite.create(suites[0], key); - suites.unshift(suite); - visit(obj[key]); - suites.shift(); - } - } - } -}; -}); // module: interfaces/exports.js - -require.register("interfaces/index.js", function(module, exports, require){ - -exports.bdd = require('./bdd'); -exports.tdd = require('./tdd'); -exports.exports = require('./exports'); -}); // module: interfaces/index.js - -require.register("interfaces/tdd.js", function(module, exports, require){ - -/** - * Module dependencies. - */ - -var Suite = require('../suite') - , Test = require('../test'); - -/** - * TDD-style interface: - * - * suite('Array', function(){ - * suite('#indexOf()', function(){ - * test('should return -1 when not present', function(){ - * - * }); - * - * test('should return the index when present', function(){ - * - * }); - * }); - * }); - * - */ - -module.exports = function(suite){ - var suites = [suite]; - - suite.on('pre-require', function(context){ - - /** - * Execute before each test case. - */ - - context.setup = function(fn){ - suites[0].beforeEach(fn); - }; - - /** - * Execute before each test case. - */ - - context.tearDown = function(fn){ - suites[0].afterEach(fn); - }; - - /** - * Describe a "suite" with the given `title` - * and callback `fn` containing nested suites - * and/or tests. - */ - - context.suite = function(title, fn){ - var suite = Suite.create(suites[0], title); - suites.unshift(suite); - fn(); - suites.shift(); - }; - - /** - * Describe a specification or test-case - * with the given `title` and callback `fn` - * acting as a thunk. - */ - - context.test = function(title, fn){ - suites[0].addTest(new Test(title, fn)); - }; - }); -}; - -}); // module: interfaces/tdd.js - -require.register("mocha.js", function(module, exports, require){ - -/*! - * mocha - * Copyright(c) 2011 TJ Holowaychuk - * MIT Licensed - */ - -/** - * Library version. - */ - -exports.version = '0.0.1-alpha5'; - -exports.interfaces = require('./interfaces'); -exports.reporters = require('./reporters'); -exports.Runner = require('./runner'); -exports.Suite = require('./suite'); -exports.Test = require('./test'); -}); // module: mocha.js - -require.register("reporters/base.js", function(module, exports, require){ - -/** - * Module dependencies. - */ - -var tty = require('browser/tty'); - -/** - * Check if both stdio streams are associated with a tty. - */ - -var isatty = tty.isatty(1) && tty.isatty(2); - -/** - * Expose `Base`. - */ - -exports = module.exports = Base; - -/** - * Enable coloring by default. - */ - -exports.useColors = isatty; - -/** - * Default color map. - */ - -exports.colors = { - 'pass': 90 - , 'fail': 31 - , 'pending': 36 - , 'suite': '40' - , 'error title': 0 - , 'error message': 31 - , 'error stack': 90 - , 'checkmark': 32 - , 'fast': 90 - , 'medium': 33 - , 'slow': 31 -}; - -/** - * Color `str` with the given `type`, - * allowing colors to be disabled, - * as well as user-defined color - * schemes. - * - * @param {String} type - * @param {String} str - * @return {String} - * @api private - */ - -var color = exports.color = function(type, str) { - if (!exports.useColors) return str; - return '\033[' + exports.colors[type] + 'm' + str + '\033[0m'; -}; - -/** - * Expose term window size, with some - * defaults for when stderr is not a tty. - */ - -exports.window = { - width: isatty - ? process.stdout.getWindowSize - ? process.stdout.getWindowSize(1)[0] - : tty.getWindowSize()[1] - : 75 -}; - -/** - * Expose some basic cursor interactions - * that are common among reporters. - */ - -exports.cursor = { - hide: function(){ - process.stdout.write('\033[?25l'); - }, - - show: function(){ - process.stdout.write('\033[?25h'); - } -}; - -/** - * A test is considered slow if it - * exceeds the following value in milliseconds. - */ - -exports.slow = 75; - -/** - * Outut the given `failures` as a list. - * - * @param {Array} failures - * @api public - */ - -exports.list = function(failures){ - console.error(); - failures.forEach(function(test, i){ - // format - var fmt = color('error title', ' %s) %s: ') - + color('error message', '%s') - + color('error stack', '\n%s\n'); - - // msg - var stack = test.err.stack - , index = stack.indexOf('at') - , msg = stack.slice(0, index); - - // indent stack trace without msg - stack = stack.slice(index) - .replace(/^/gm, ' '); - - console.error(fmt, i, test.fullTitle(), msg, stack); - }); -}; - -/** - * Initialize a new `Base` reporter. - * - * All other reporters generally - * inherit from this reporter, providing - * stats such as test duration, number - * of tests passed / failed etc. - * - * @param {Runner} runner - * @api public - */ - -function Base(runner) { - var self = this - , stats = this.stats = { suites: 0, tests: 0, passes: 0, failures: 0 } - , failures = this.failures = []; - - if (!runner) return; - - runner.on('start', function(){ - stats.start = new Date; - }); - - runner.on('suite', function(suite){ - stats.suites = stats.suites || 0; - stats.suites++; - }); - - runner.on('test end', function(test){ - stats.tests = stats.tests || 0; - stats.tests++; - }); - - runner.on('pass', function(test){ - stats.passes = stats.passes || 0; - - var medium = exports.slow / 2; - test.speed = test.duration > exports.slow - ? 'slow' - : test.duration > medium - ? 'medium' - : 'fast'; - - stats.passes++; - }); - - runner.on('fail', function(test, err){ - stats.failures = stats.failures || 0; - stats.failures++; - test.err = err; - failures.push(test); - }); - - runner.on('end', function(){ - stats.end = new Date; - stats.duration = new Date - stats.start; - }); -} - -/** - * Output common epilogue used by many of - * the bundled reporters. - * - * @api public - */ - -Base.prototype.epilogue = function(){ - var stats = this.stats; - - console.log(); - - // failure - if (stats.failures) { - console.error( - ' \033[91m✖\033[31m %d of %d tests failed\033[90m:\033[0m' - , stats.failures, stats.tests); - Base.list(this.failures); - console.error(); - process.nextTick(function(){ - process.exit(stats.failures); - }); - return; - } - - // pass - console.log( - ' \033[92m✔\033[32m %d tests completed\033[90m (%dms)\033[0m' - , stats.tests || 0 - , stats.duration); - - console.log(); - process.nextTick(function(){ - process.exit(0); - }); -}; - -}); // module: reporters/base.js - -require.register("reporters/doc.js", function(module, exports, require){ - -/** - * Module dependencies. - */ - -var Base = require('./base'); - -/** - * Expose `Doc`. - */ - -exports = module.exports = Doc; - -/** - * Initialize a new `Doc` reporter. - * - * @param {Runner} runner - * @api public - */ - -function Doc(runner) { - Base.call(this, runner); - - var self = this - , stats = this.stats - , total = runner.total - , indents = 2; - - function indent() { - return Array(indents).join(' '); - } - - runner.on('suite', function(suite){ - if (suite.root) return; - ++indents; - console.log('%s
    ', indent()); - ++indents; - console.log('%s

    %s

    ', indent(), suite.title); - console.log('%s
    ', indent()); - }); - - runner.on('suite end', function(suite){ - if (suite.root) return; - console.log('%s
    ', indent()); - --indents; - console.log('%s
    ', indent()); - --indents; - }); - - runner.on('pass', function(test){ - console.log('%s
    %s
    ', indent(), test.title); - var code = clean(test.fn.toString()); - console.log('%s
    %s
    ', indent(), code); - }); - - runner.on('end', function(){ - process.exit(stats.failures); - }); -} - -/** - * Strip the function definition from `str`, - * and re-indent for pre whitespace. - */ - -function clean(str) { - str = str - .replace(/^function *\(.*\) *{/, '') - .replace(/\s+\}$/, ''); - - var spaces = str.match(/^\n?( *)/)[1].length - , re = new RegExp('^ {' + spaces + '}', 'gm'); - - str = str.replace(re, ''); - - return str; -} -}); // module: reporters/doc.js - -require.register("reporters/dot.js", function(module, exports, require){ - -/** - * Module dependencies. - */ - -var Base = require('./base') - , color = Base.color; - -/** - * Expose `Dot`. - */ - -exports = module.exports = Dot; - -/** - * Initialize a new `Dot` matrix test reporter. - * - * @param {Runner} runner - * @api public - */ - -function Dot(runner) { - Base.call(this, runner); - - var self = this - , stats = this.stats - , width = Base.window.width * .75 | 0 - , n = 0; - - runner.on('start', function(){ - process.stdout.write('\n '); - }); - - runner.on('pending', function(test){ - process.stdout.write(color('pending', '.')); - }); - - runner.on('pass', function(test){ - if (++n % width == 0) process.stdout.write('\n '); - if ('slow' == test.speed) { - process.stdout.write('\033[93m.\033[0m'); - } else { - process.stdout.write(color(test.speed, '.')); - } - }); - - runner.on('fail', function(test, err){ - if (++n % width == 0) process.stdout.write('\n '); - process.stdout.write(color('fail', '.')); - }); - - runner.on('end', function(){ - console.log(); - self.epilogue(); - }); -} - -/** - * Inherit from `Base.prototype`. - */ - -Dot.prototype = new Base; -Dot.prototype.constructor = Dot; - -}); // module: reporters/dot.js - -require.register("reporters/html.js", function(module, exports, require){ - -/** - * Module dependencies. - */ - -var Base = require('./base'); - -/** - * Expose `Doc`. - */ - -exports = module.exports = HTML; - -/** - * Initialize a new `Doc` reporter. - * - * @param {Runner} runner - * @api public - */ - -function HTML(runner) { - Base.call(this, runner); - - // TODO: clean up - - var self = this - , stats = this.stats - , total = runner.total - , root = document.getElementById('mocha') - , stack = [root] - , stat = document.createElement('div'); - - stat.innerHTML = '
      ' - + '
    • passes: 0
    • ' - + '
    • failures: 0
    • ' - + '
    '; - - if (!root) error('#mocha div missing, add it to your document'); - - document.body.appendChild(root); - document.body.appendChild(stat); - - runner.on('suite', function(suite){ - if (suite.root) return; - - // suite - var el = document.createElement('div'); - el.setAttribute('class', 'suite'); - - // title - var title = document.createElement('h1'); - title.textContent = suite.title; - el.appendChild(title); - - // container - stack[0].appendChild(el); - stack.unshift(document.createElement('div')); - el.appendChild(stack[0]); - }); - - runner.on('suite end', function(suite){ - if (suite.root) return; - stack.shift(); - }); - - runner.on('test end', function(test){ - console.log(stats); - // test - var el = document.createElement('div'); - el.setAttribute('class', 'test ' + (test.passed ? 'pass' : 'fail')); - - // title - var title = document.createElement('h2'); - title.textContent = test.title; - el.appendChild(title); - - // code - var pre = document.createElement('pre'); - var code = document.createElement('code'); - pre.appendChild(code); - code.textContent = clean(test.fn.toString()); - el.appendChild(pre); - - stack[0].appendChild(el); - }); - - runner.on('end', function(){ - process.exit(stats.failures); - }); -} - -function error(msg) { - // TODO: nicer - throw new Error(msg); -} - -/** - * Strip the function definition from `str`, - * and re-indent for pre whitespace. - */ - -function clean(str) { - str = str - .replace(/^function *\(.*\) *{/, '') - .replace(/\s+\}$/, ''); - - var spaces = str.match(/^\n?( *)/)[1].length - , re = new RegExp('^ {' + spaces + '}', 'gm'); - - str = str - .replace(re, '') - .replace(/^\s+/, ''); - - return str; -} -}); // module: reporters/html.js - -require.register("reporters/index.js", function(module, exports, require){ - -exports.Base = require('./base'); -exports.Dot = require('./dot'); -exports.Doc = require('./doc'); -exports.TAP = require('./tap'); -exports.JSON = require('./json'); -exports.HTML = require('./html'); -exports.List = require('./list'); -exports.Progress = require('./progress'); -exports.Landing = require('./landing'); -exports.JSONStream = require('./json-stream'); - -}); // module: reporters/index.js - -require.register("reporters/json-stream.js", function(module, exports, require){ - -/** - * Module dependencies. - */ - -var Base = require('./base') - , color = Base.color; - -/** - * Expose `List`. - */ - -exports = module.exports = List; - -/** - * Initialize a new `List` test reporter. - * - * @param {Runner} runner - * @api public - */ - -function List(runner) { - Base.call(this, runner); - - var self = this - , stats = this.stats - , total = runner.total; - - runner.on('start', function(){ - console.log(JSON.stringify(['start', { total: total }])); - }); - - runner.on('pass', function(test){ - console.log(JSON.stringify(['pass', clean(test)])); - }); - - runner.on('fail', function(test, err){ - console.log(JSON.stringify(['fail', clean(test)])); - }); - - runner.on('end', function(){ - process.stdout.write(JSON.stringify(['end', self.stats]), function(){ - process.exit(0); - }); - }); -} - -/** - * Return a plain-object representation of `test` - * free of cyclic properties etc. - * - * @param {Object} test - * @return {Object} - * @api private - */ - -function clean(test) { - return { - title: test.title - , fullTitle: test.fullTitle() - , duration: test.duration - } -} -}); // module: reporters/json-stream.js - -require.register("reporters/json.js", function(module, exports, require){ - -/** - * Module dependencies. - */ - -var Base = require('./base') - , cursor = Base.cursor - , color = Base.color; - -/** - * Expose `JSON`. - */ - -exports = module.exports = JSONReporter; - -/** - * Initialize a new `JSON` reporter. - * - * @param {Runner} runner - * @api public - */ - -function JSONReporter(runner) { - var self = this; - Base.call(this, runner); - - var tests = [] - , failures = [] - , passes = []; - - runner.on('test end', function(test){ - tests.push(test); - }); - - runner.on('pass', function(test){ - passes.push(test); - }); - - runner.on('fail', function(test){ - failures.push(test); - }); - - runner.on('end', function(){ - var obj = { - stats: self.stats - , tests: tests.map(clean) - , failures: failures.map(clean) - , passes: passes.map(clean) - }; - - process.stdout.write(JSON.stringify(obj), function(){ - process.exit(0); - }); - }); -} - -/** - * Return a plain-object representation of `test` - * free of cyclic properties etc. - * - * @param {Object} test - * @return {Object} - * @api private - */ - -function clean(test) { - return { - title: test.title - , fullTitle: test.fullTitle() - , duration: test.duration - } -} -}); // module: reporters/json.js - -require.register("reporters/landing.js", function(module, exports, require){ - -/** - * Module dependencies. - */ - -var Base = require('./base') - , cursor = Base.cursor - , color = Base.color; - -/** - * Expose `Landing`. - */ - -exports = module.exports = Landing; - -/** - * Airplane color. - */ - -Base.colors.plane = 0; - -/** - * Airplane crash color. - */ - -Base.colors['plane crash'] = 31; - -/** - * Runway color. - */ - -Base.colors.runway = 90; - -/** - * Initialize a new `Landing` reporter. - * - * @param {Runner} runner - * @api public - */ - -function Landing(runner) { - Base.call(this, runner); - - var self = this - , stats = this.stats - , width = Base.window.width * .75 | 0 - , total = runner.total - , stream = process.stdout - , plane = color('plane', '✈') - , crashed = -1 - , n = 0; - - function runway() { - var buf = Array(width).join('-'); - return ' ' + color('runway', buf); - } - - runner.on('start', function(){ - stream.write('\n '); - cursor.hide(); - }); - - runner.on('test end', function(test){ - // check if the plane crashed - var col = -1 == crashed - ? width * ++n / total | 0 - : crashed; - - // show the crash - if (test.failed) { - plane = color('plane crash', '✈'); - crashed = col; - } - - // render landing strip - stream.write('\033[4F\n\n'); - stream.write(runway()); - stream.write('\n '); - stream.write(color('runway', Array(col).join('⋅'))); - stream.write(plane) - stream.write(color('runway', Array(width - col).join('⋅') + '\n')); - stream.write(runway()); - stream.write('\033[0m'); - }); - - runner.on('end', function(){ - cursor.show(); - console.log(); - self.epilogue(); - }); -} - -/** - * Inherit from `Base.prototype`. - */ - -Landing.prototype = new Base; -Landing.prototype.constructor = Landing; - -}); // module: reporters/landing.js - -require.register("reporters/list.js", function(module, exports, require){ - -/** - * Module dependencies. - */ - -var Base = require('./base') - , color = Base.color; - -/** - * Expose `List`. - */ - -exports = module.exports = List; - -/** - * Initialize a new `List` test reporter. - * - * @param {Runner} runner - * @api public - */ - -function List(runner) { - Base.call(this, runner); - - var self = this - , stats = this.stats - , n = 0; - - runner.on('start', function(){ - console.log(); - }); - - runner.on('test', function(test){ - process.stdout.write(color('pass', ' ' + test.fullTitle() + ': ')); - }); - - runner.on('pending', function(test){ - var fmt = color('checkmark', ' -') - + color('pending', ' %s'); - console.log(fmt, test.fullTitle()); - }); - - runner.on('pass', function(test){ - var fmt = color('checkmark', ' ✓') - + color('pass', ' %s: ') - + color(test.speed, '%dms'); - console.log('\r' + fmt, test.fullTitle(), test.duration); - }); - - runner.on('fail', function(test, err){ - console.log('\r' + color('fail', ' %d) %s'), n++, test.fullTitle()); - }); - - runner.on('end', self.epilogue.bind(self)); -} - -/** - * Inherit from `Base.prototype`. - */ - -List.prototype = new Base; -List.prototype.constructor = List; - -}); // module: reporters/list.js - -require.register("reporters/progress.js", function(module, exports, require){ - -/** - * Module dependencies. - */ - -var Base = require('./base') - , cursor = Base.cursor - , color = Base.color; - -/** - * Expose `Progress`. - */ - -exports = module.exports = Progress; - -/** - * General progress bar color. - */ - -Base.colors.progress = 90; - -/** - * Initialize a new `Progress` bar test reporter. - * - * @param {Runner} runner - * @param {Object} options - * @api public - */ - -function Progress(runner, options) { - Base.call(this, runner); - - var self = this - , options = options || {} - , stats = this.stats - , width = Base.window.width * .50 | 0 - , total = runner.total - , complete = 0 - , max = Math.max; - - // default chars - options.open = options.open || '['; - options.complete = options.complete || '▬'; - options.incomplete = options.incomplete || '⋅'; - options.close = options.close || ']'; - options.verbose = false; - - // tests started - runner.on('start', function(){ - console.log(); - cursor.hide(); - }); - - // tests complete - runner.on('test end', function(){ - var incomplete = total - complete - , percent = complete++ / total - , n = width * percent | 0 - , i = width - n; - - process.stdout.write('\r\033[J'); - process.stdout.write(color('progress', ' ' + options.open)); - process.stdout.write(Array(n).join(options.complete)); - process.stdout.write(Array(i).join(options.incomplete)); - process.stdout.write(color('progress', options.close)); - if (options.verbose) { - process.stdout.write(color('progress', ' ' + complete + ' of ' + total)); - } - }); - - // tests are complete, output some stats - // and the failures if any - runner.on('end', function(){ - cursor.show(); - console.log(); - self.epilogue(); - }); -} - -/** - * Inherit from `Base.prototype`. - */ - -Progress.prototype = new Base; -Progress.prototype.constructor = Progress; - -}); // module: reporters/progress.js - -require.register("reporters/spec.js", function(module, exports, require){ - -/** - * Module dependencies. - */ - -var Base = require('./base') - , color = Base.color; - -/** - * Expose `Spec`. - */ - -exports = module.exports = Spec; - -/** - * Initialize a new `Spec` test reporter. - * - * @param {Runner} runner - * @api public - */ - -function Spec(runner) { - Base.call(this, runner); - - var self = this - , stats = this.stats - , indents = 0 - , n = 0; - - function indent() { - return Array(indents).join(' ') - } - - runner.on('start', function(){ - console.log(); - }); - - runner.on('suite', function(suite){ - ++indents; - console.log(color('suite', '%s%s'), indent(), suite.title); - }); - - runner.on('suite end', function(suite){ - --indents; - if (1 == indents) console.log(); - }); - - runner.on('test', function(test){ - process.stdout.write(indent() + color('pass', test.title + ': ')); - }); - - runner.on('pending', function(test){ - var fmt = indent() + color('pending', ' - %s'); - console.log(fmt, test.title); - }); - - runner.on('pass', function(test){ - if ('fast' == test.speed) { - var fmt = indent() - + color('checkmark', ' ✓') - + color('pass', ' %s '); - console.log('\r' + fmt, test.title); - } else { - var fmt = indent() - + color('checkmark', ' ✓') - + color('pass', ' %s ') - + color(test.speed, '(%dms)'); - console.log('\r' + fmt, test.title, test.duration); - } - }); - - runner.on('fail', function(test, err){ - console.log('\r' + indent() + color('fail', ' %d) %s'), n++, test.title); - }); - - runner.on('end', self.epilogue.bind(self)); -} - -/** - * Inherit from `Base.prototype`. - */ - -Spec.prototype = new Base; -Spec.prototype.constructor = Spec; - -}); // module: reporters/spec.js - -require.register("reporters/tap.js", function(module, exports, require){ - -/** - * Module dependencies. - */ - -var Base = require('./base') - , cursor = Base.cursor - , color = Base.color; - -/** - * Expose `TAP`. - */ - -exports = module.exports = TAP; - -/** - * Initialize a new `TAP` reporter. - * - * @param {Runner} runner - * @api public - */ - -function TAP(runner) { - Base.call(this, runner); - - var self = this - , stats = this.stats - , total = runner.total - , n = 1; - - runner.on('start', function(){ - console.log(' %d..%d', 1, total); - }); - - runner.on('test end', function(){ - ++n; - }); - - runner.on('pass', function(test){ - console.log(' ok %d %s', n, test.fullTitle()); - }); - - runner.on('fail', function(test){ - console.log(' not ok %d %s', n, test.fullTitle()); - }); - - runner.on('end', function(){ - process.exit(stats.failures); - }); -} -}); // module: reporters/tap.js - -require.register("runner.js", function(module, exports, require){ - -/** - * Module dependencies. - */ - -var EventEmitter = require('browser/events').EventEmitter - , Test = require('./test') - , noop = function(){}; - -/** - * Expose `Runner`. - */ - -module.exports = Runner; - -/** - * Initialize a `Runner` for the given `suite`. - * - * Events: - * - * - `start` execution started - * - `end` execution complete - * - `suite` (suite) test suite execution started - * - `suite end` (suite) all tests (and sub-suites) have finished - * - `test` (test) test execution started - * - `test end` (test) test completed - * - `pass` (test) test passed - * - `fail` (test, err) test failed - * - * @api public - */ - -function Runner(suite) { - this.suite = suite; - this.total = suite.total(); - this.globals = Object.keys(global).concat(['errno']); - this.on('test end', this.checkGlobals.bind(this)); - this.grep(/.*/); -} - -/** - * Inherit from `EventEmitter.prototype`. - */ - -Runner.prototype = new EventEmitter; -Runner.prototype.constructor = Runner; - - -/** - * Run tests with full titles matching `re`. - * - * @param {RegExp} re - * @return {Runner} for chaining - * @api public - */ - -Runner.prototype.grep = function(re){ - this._grep = re; - return this; -}; - -/** - * Check for global variable leaks. - * - * @api private - */ - -Runner.prototype.checkGlobals = function(test){ - var leaks = Object.keys(global).filter(function(key){ - return !~this.globals.indexOf(key); - }, this); - - this.globals = this.globals.concat(leaks); - - if (leaks.length > 1) { - this.fail(test, new Error('global leaks detected: ' + leaks.join(', ') + '')); - } else if (leaks.length) { - this.fail(test, new Error('global leak detected: ' + leaks[0])); - } -}; - -/** - * Fail the given `test`. - * - * @param {Test} test - * @param {Error} err - * @api private - */ - -Runner.prototype.fail = function(test, err){ - test.failed = true; - this.emit('fail', test, err); -}; - -/** - * Fail the given `hook` name. - * - * @param {String} hook - * @param {Error} err - * @api private - */ - -Runner.prototype.failHook = function(hook, err){ - var test = new Test(hook + ' hook', noop); - test.parent = this.suite; - this.fail(test, err); - this.emit('end'); - process.exit(0); -}; - -/** - * Run hook `name` callbacks and then invoke `fn(err)`. - * - * @param {String} name - * @param {Function} function - * @api private - */ - -Runner.prototype.hook = function(name, fn){ - var suite = this.suite - , test = this.test - , callbacks = suite[name + 'Callbacks'] - , pending = callbacks.length; - - function next(i) { - var callback = callbacks[i] - if (!callback) return fn(); - - // async - if (1 == callback.length) { - // async - try { - callback(function(err){ - if (err) return fn(err); - next(++i); - }); - } catch (err) { - fn(err); - } - return; - } - - // serial - try { - callback(); - process.nextTick(function(){ - next(++i); - }); - } catch (err) { - fn(err); - } - } - - process.nextTick(function(){ - next(0); - }); -}; - -/** - * Run the current test and callback `fn(err)`. - * - * @param {Function} fn - * @api private - */ - -Runner.prototype.runTest = function(fn){ - var test = this.test - , self = this; - - // run the test - try { - // async - if (test.async) return test.run(function(err){ - if (test.finished) { - self.fail(test, new Error('done() called multiple times')); - return; - } - fn(err); - }); - // sync - process.nextTick(function(){ - test.run(); - fn(); - }); - } catch (err) { - fn(err); - } -}; - -/** - * Run tests in the given `suite` and invoke - * the callback `fn()` when complete. - * - * @param {Suite} suite - * @param {Function} fn - * @api private - */ - -Runner.prototype.runTests = function(suite, fn){ - var self = this - , tests = suite.tests - , test; - - function next(err) { - // error handling - if (err) self.fail(test, err); - - // next test - test = tests.shift(); - - // all done - if (!test) return fn(); - - // grep - if (!self._grep.test(test.fullTitle())) return next(); - - // pending - if (test.pending) { - self.emit('pending', test); - self.emit('test end', test); - return next(); - } - - // execute test and hook(s) - self.emit('test', self.test = test); - self.hook('beforeEach', function(err){ - if (err) return self.failHook('beforeEach', err); - self.runTest(function(err){ - if (err) return next(err); - self.emit('pass', test); - test.passed = true; - self.emit('test end', test); - if (err) return self.failHook('beforeEach', err); - self.hook('afterEach', function(err){ - if (err) return self.failHook('afterEach', err); - next(); - }); - }); - }); - } - - next(); -}; - -/** - * Run the given `suite` and invoke the - * callback `fn()` when complete. - * - * @param {Suite} suite - * @param {Function} fn - * @api private - */ - -Runner.prototype.runSuite = function(suite, fn){ - var self = this - , i = 0; - - this.emit('suite', this.suite = suite); - - function next() { - var curr = suite.suites[i++]; - if (!curr) return done(); - self.runSuite(curr, next); - } - - function done() { - self.suite = suite; - self.hook('afterAll', function(err){ - if (err) return self.failHook('afterAll', err); - self.emit('suite end', suite); - fn(); - }); - } - - this.hook('beforeAll', function(err){ - // TODO: use interface names - if (err) return self.failHook('beforeAll', err); - self.runTests(suite, next); - }); -}; - -/** - * Run the root suite. - * - * @api public - */ - -Runner.prototype.run = function(){ - var self = this; - - // run suites - this.emit('start'); - this.runSuite(this.suite, function(){ - self.emit('end'); - }); - - // uncaught exception - process.on('uncaughtException', function(err){ - self.fail(self.test, err); - self.emit('end'); - }); - - return this; -}; - -}); // module: runner.js - -require.register("suite.js", function(module, exports, require){ - -/** - * Module dependencies. - */ - -var EventEmitter = require('browser/events').EventEmitter; - -/** - * Expose `Suite`. - */ - -exports = module.exports = Suite; - -/** - * Suite map. - */ - -var map = {}; - -/** - * Create a new `Suite` with the given `title` - * and parent `Suite`. When a suite with the - * same title is already present, that suite - * is returned to provide nicer reporter - * and more flexible meta-testing. - * - * @param {Suite} parent - * @param {String} title - * @return {Suite} - * @api public - */ - -exports.create = function(parent, title){ - var suite = new Suite(title); - suite.parent = parent; - title = suite.fullTitle(); - if (map[title]) return map[title]; - parent.addSuite(suite); - return map[title] = suite; -}; - -/** - * Initialize a new `Suite` with the given `title`. - * - * @param {String} title - * @api private - */ - -function Suite(title) { - this.title = title; - this.suites = []; - this.tests = []; - this.beforeAllCallbacks = []; - this.beforeEachCallbacks = []; - this.afterAllCallbacks = []; - this.afterEachCallbacks = []; - this.root = !title; -} - -/** - * Inherit from `EventEmitter.prototype`. - */ - -Suite.prototype = new EventEmitter; -Suite.prototype.constructor = Suite; - - -/** - * Set timeout `ms`. - * - * @param {Number} ms - * @return {Suite} for chaining - * @api private - */ - -Suite.prototype.timeout = function(ms){ - this._timeout = ms; - return this; -}; - -/** - * Run `fn(test[, done])` before running tests. - * - * @param {Function} fn - * @return {Suite} for chaining - * @api private - */ - -Suite.prototype.beforeAll = function(fn){ - this.beforeAllCallbacks.push(fn); - this.emit('beforeAll', fn); - return this; -}; - -/** - * Run `fn(test[, done])` after running tests. - * - * @param {Function} fn - * @return {Suite} for chaining - * @api private - */ - -Suite.prototype.afterAll = function(fn){ - this.afterAllCallbacks.push(fn); - this.emit('afterAll', fn); - return this; -}; - -/** - * Run `fn(test[, done])` before each test case. - * - * @param {Function} fn - * @return {Suite} for chaining - * @api private - */ - -Suite.prototype.beforeEach = function(fn){ - this.beforeEachCallbacks.push(fn); - this.emit('beforeEach', fn); - return this; -}; - -/** - * Run `fn(test[, done])` after each test case. - * - * @param {Function} fn - * @return {Suite} for chaining - * @api private - */ - -Suite.prototype.afterEach = function(fn){ - this.afterEachCallbacks.push(fn); - this.emit('afterEach', fn); - return this; -}; - -/** - * Add a test `suite`. - * - * @param {Suite} suite - * @return {Suite} for chaining - * @api private - */ - -Suite.prototype.addSuite = function(suite){ - suite.parent = this; - if (this._timeout) suite.timeout(this._timeout); - this.suites.push(suite); - this.emit('suite', suite); - return this; -}; - -/** - * Add a `test` to this suite. - * - * @param {Test} test - * @return {Suite} for chaining - * @api private - */ - -Suite.prototype.addTest = function(test){ - test.parent = this; - if (this._timeout) test.timeout(this._timeout); - this.tests.push(test); - this.emit('test', test); - return this; -}; - -/** - * Return the full title generated by recursively - * concatenating the parent's full title. - * - * @return {String} - * @api public - */ - -Suite.prototype.fullTitle = function(){ - if (this.parent) { - var full = this.parent.fullTitle(); - if (full) return full + ' ' + this.title; - } - return this.title; -}; - -/** - * Return the total number of tests. - * - * @return {Number} - * @api public - */ - -Suite.prototype.total = function(){ - return this.suites.reduce(function(sum, suite){ - return sum + suite.total(); - }, 0) + this.tests.length; -}; - -}); // module: suite.js - -require.register("test.js", function(module, exports, require){ - -/** - * Expose `Test`. - */ - -module.exports = Test; - -/** - * Initialize a new `Test` with the given `title` and callback `fn`. - * - * @param {String} title - * @param {Function} fn - * @api private - */ - -function Test(title, fn) { - this.title = title; - this.fn = fn; - this.pending = !fn; - this.async = fn && fn.length; - this.sync = ! this.async; - this.timeout(2000); -} - -/** - * Set timeout `ms`. - * - * @param {Number} ms - * @return {Test} for chaining - * @api private - */ - -Test.prototype.timeout = function(ms){ - this._timeout = ms; - return this; -}; - -/** - * Return the full title generated by recursively - * concatenating the parent's full title. - * - * @return {String} - * @api public - */ - -Test.prototype.fullTitle = function(){ - return this.parent.fullTitle() + ' ' + this.title; -}; - -/** - * Run the test and invoke `fn(err)`. - * - * @param {Function} fn - * @api private - */ - -Test.prototype.run = function(fn){ - var timer - , self = this - , ms = this._timeout - , start = new Date; - - // timeout - if (this.async) { - timer = setTimeout(function(){ - fn(new Error('timeout of ' + ms + 'ms exceeded')); - }, ms); - } - - // async - if (this.async) { - this.fn(function(err){ - clearTimeout(timer); - self.duration = new Date - start; - fn(err); - self.finished = true; - }); - // sync - } else { - if (!this.pending) this.fn(); - this.duration = new Date - start; - } -}; - -}); // module: test.js - -/** - * Node shims. - * - * These are meant only to allow - * mocha.js to run untouched, not - * to allow running node code on - * the server. - */ - -process = {}; - -process.nextTick = function(fn){ setTimeout(fn, 0); }; -process.on = function(){}; -process.exit = function(status){}; -process.stdout = {}; - -global = this; - -// boot - -;(function(){ - var mocha = require('mocha'); - var suite = new mocha.Suite; - var Reporter = mocha.reporters.HTML; - mocha.interfaces.bdd(suite); - suite.emit('pre-require', global); - - global.onload = run; // TODO: remove - - function run() { - suite.emit('run'); - var runner = new mocha.Runner(suite); - var reporter = new Reporter(runner); - runner.run(); - } -})(); \ No newline at end of file diff --git a/package.json b/package.json deleted file mode 100644 index 21cdbfba8a..0000000000 --- a/package.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "mocha" - , "version": "0.0.1-alpha5" - , "description": "Test framework inspired by JSpec, Expresso, & Qunit" - , "keywords": ["test", "bdd", "tdd", "tap"] - , "bin": { "mocha": "./bin/mocha" } - , "author": "TJ Holowaychuk " - , "main": "index" - , "bin": { - "mocha": "./bin/mocha" - , "mocha-debug": "./bin/mocha-debug" - } - , "engines": { "node": ">= 0.4.x < 0.7.0" } - , "dependencies":{ - "commander": "0.3.2" - } - , "devDependencies": { - "should": "0.3.x" - } -} diff --git a/style.css b/style.css new file mode 100644 index 0000000000..1f84713615 --- /dev/null +++ b/style.css @@ -0,0 +1,123 @@ + +body { + font: 14px/1.6 "Helvetica Neue", Helvetica, Arial, sans-serif; + margin: 0; + padding: 140px 110px; + color: #2C2C2C; + border-top: 2px solid #ddd; +} + +h1 { + position: relative; + font-style: normal; + font-weight: 100; + text-transform: lowercase; + background: #8A6343; + color: white; + display: inline-block; + padding: 48px 30px; + opacity: 0; + -webkit-border-radius: 100px; + -webkit-transition: opacity 1s, background-color 200ms; +} + +h1:hover { + background: #A07A5C; +} + +h1 a { + color: inherit; + font-weight: inherit; +} + +h1 a:hover { + text-decoration: none; +} + +.onload h1 { + opacity: 1; +} + +h2 { + margin-top: 40px; + font-weight: 100; + letter-spacing: 1px; + border-bottom: 1px solid #eee; +} + +#tag { + opacity: 0; + color: #C29D7F; + font-weight: 100; + font-size: 30px; + margin-top: -110px; + margin-left: 140px; + margin-bottom: 100px; + letter-spacing: 2px; + -webkit-transition: opacity 1s, margin-top 200ms, margin-bottom 200ms, margin-left 1s; +} + +#tag em { + font-style: normal +} + +.onload #tag { + opacity: 1; + margin-left: 170px; +} + +a { + color: #8A6343; + font-weight: bold; + text-decoration: none; +} + +a:hover { + text-decoration: underline; +} + +ul { + width: 100%; +} + +ul li { + float: left; + width: 40%; + margin-right: 60px; +} + +ul::after { + content: '.'; + height: 0; + display: block; + visibility: hidden; + clear: both; +} + +code { + font: 12px monaco, monospace; +} + +pre { + padding: 30px; + border: 1px solid #eee; + border-bottom-color: #ddd; + -webkit-border-radius: 2px; + -webkit-box-shadow: inset 0 0 10px #eee; +} + +@media all and (max-width: 600px) { + #tag { + margin-top: 0; + margin-left: 0; + margin-bottom: 0; + } + + .onload #tag { + margin-left: 0; + } + + ul li { + width: 100%; + } +} diff --git a/support/compile.js b/support/compile.js deleted file mode 100644 index 65be223dab..0000000000 --- a/support/compile.js +++ /dev/null @@ -1,150 +0,0 @@ - -/** - * Module dependencies. - */ - -var fs = require('fs'); - -/** - * Arguments. - */ - -var args = process.argv.slice(2) - , pending = args.length - , files = {}; - -console.log(''); - -// parse arguments - -args.forEach(function(file){ - var mod = file.replace('lib/', ''); - fs.readFile(file, 'utf8', function(err, js){ - if (err) throw err; - console.log(' \033[90mcompile : \033[0m\033[36m%s\033[0m', file); - files[file] = ~js.indexOf('require: off') - ? js - : parse(js); - --pending || compile(); - }); -}); - -/** - * Parse the given `js`. - */ - -function parse(js) { - return parseRequires(parseInheritance(js)); -} - -/** - * Parse requires. - */ - -function parseRequires(js) { - return js - .replace(/require\('events'\)/g, "require('browser/events')") - .replace(/require\('tty'\)/g, "require('browser/tty')") -} - -/** - * Parse __proto__. - */ - -function parseInheritance(js) { - return js - .replace(/^ *(\w+)\.prototype\.__proto__ * = *(\w+)\.prototype *;?/gm, function(_, child, parent){ - return child + '.prototype = new ' + parent + ';\n' - + child + '.prototype.constructor = '+ child + ';\n'; - }); -} - -/** - * Compile the files. - */ - -function compile() { - var buf = ''; - buf += '\n// CommonJS require()\n\n'; - buf += browser.require + '\n\n'; - buf += 'require.modules = {};\n\n'; - buf += 'require.resolve = ' + browser.resolve + ';\n\n'; - buf += 'require.register = ' + browser.register + ';\n\n'; - buf += 'require.relative = ' + browser.relative + ';\n\n'; - args.forEach(function(file){ - var js = files[file]; - file = file.replace('lib/', ''); - buf += '\nrequire.register("' + file + '", function(module, exports, require){\n'; - buf += js; - buf += '\n}); // module: ' + file + '\n'; - }); - fs.writeFile('mocha.js', buf, function(err){ - if (err) throw err; - console.log(' \033[90m create : \033[0m\033[36m%s\033[0m', 'mocha.js'); - console.log(); - }); -} - -// refactored version of weepy's -// https://github.com/weepy/brequire/blob/master/browser/brequire.js - -var browser = { - - /** - * Require a module. - */ - - require: function require(p){ - var path = require.resolve(p) - , mod = require.modules[path]; - if (!mod) throw new Error('failed to require "' + p + '"'); - if (!mod.exports) { - mod.exports = {}; - mod.call(mod.exports, mod, mod.exports, require.relative(path)); - } - return mod.exports; - }, - - /** - * Resolve module path. - */ - - resolve: function(path){ - var orig = path - , reg = path + '.js' - , index = path + '/index.js'; - return require.modules[reg] && reg - || require.modules[index] && index - || orig; - }, - - /** - * Return relative require(). - */ - - relative: function(parent) { - return function(p){ - if ('.' != p[0]) return require(p); - - var path = parent.split('/') - , segs = p.split('/'); - path.pop(); - - for (var i = 0; i < segs.length; i++) { - var seg = segs[i]; - if ('..' == seg) path.pop(); - else if ('.' != seg) path.push(seg); - } - - return require(path.join('/')); - }; - }, - - /** - * Register a module. - */ - - register: function(path, fn){ - require.modules[path] = fn; - } -}; \ No newline at end of file diff --git a/support/tail.js b/support/tail.js deleted file mode 100644 index 1f07fcfe46..0000000000 --- a/support/tail.js +++ /dev/null @@ -1,37 +0,0 @@ - -/** - * Node shims. - * - * These are meant only to allow - * mocha.js to run untouched, not - * to allow running node code on - * the server. - */ - -process = {}; - -process.nextTick = function(fn){ setTimeout(fn, 0); }; -process.on = function(){}; -process.exit = function(status){}; -process.stdout = {}; - -global = this; - -// boot - -;(function(){ - var mocha = require('mocha'); - var suite = new mocha.Suite; - var Reporter = mocha.reporters.HTML; - mocha.interfaces.bdd(suite); - suite.emit('pre-require', global); - - global.onload = run; // TODO: remove - - function run() { - suite.emit('run'); - var runner = new mocha.Runner(suite); - var reporter = new Reporter(runner); - runner.run(); - } -})(); \ No newline at end of file diff --git a/test/browser/array.js b/test/browser/array.js deleted file mode 100644 index 388149e70c..0000000000 --- a/test/browser/array.js +++ /dev/null @@ -1,33 +0,0 @@ -describe('Array', function(){ - describe('#indexOf()', function(){ - it('should return -1 when the value is not present', function(){ - var arr = [1,2,3]; - assert(-1 == arr.indexOf(5)); - }) - - it('should return the correct index when the value is present', function(){ - var arr = [1,2,3]; - assert(0 == arr.indexOf(1)); // just to test indentation - assert(1 == arr.indexOf(2)); - }) - }) -}) - -describe('Array', function(){ - describe('#pop()', function(){ - it('should remove and return the last value', function(){ - var arr = [1,2,3]; - assert(arr.pop() == 3); - }) - }) -}) - -describe('Array', function(){ - describe('#pop()', function(){ - it('should adjust .length', function(){ - var arr = [1,2,3]; - arr.pop(); - assert(arr.length == 2); - }) - }) -}) \ No newline at end of file diff --git a/test/browser/index.html b/test/browser/index.html deleted file mode 100644 index 594a421f83..0000000000 --- a/test/browser/index.html +++ /dev/null @@ -1,18 +0,0 @@ - - - Mocha - - - - - - - - -
    - - \ No newline at end of file diff --git a/test/browser/style.css b/test/browser/style.css deleted file mode 100644 index f2f4dc968e..0000000000 --- a/test/browser/style.css +++ /dev/null @@ -1,45 +0,0 @@ - -body { - font: 18px/1.5 "Helvetica Neue", Helvetica, Aria;, sans-serif; - padding: 60px 50px; -} - -h1, h2 { - margin: 0; -} - -h1 { - font-size: 1em; -} - -.suite .suite h1 { - font-size: .8em; -} - -h2 { - font-size: 12px; - font-weight: normal; -} - -.suite { - margin-left: 15px; -} - -.test { - margin-left: 15px; -} - -.test pre { - display: none; - margin: 5px; - padding: 15px; - border: 1px solid #eee; - border-bottom-color: #ddd; - -webkit-border-radius: 3px; - -webkit-box-shadow: 0 1px 3px #eee; -} - -.test:hover pre { - font: 12px/1.5 monaco, monospace; - display: inline-block; -} \ No newline at end of file diff --git a/test/duration.js b/test/duration.js deleted file mode 100644 index 400ba95631..0000000000 --- a/test/duration.js +++ /dev/null @@ -1,20 +0,0 @@ - -describe('durations', function(){ - describe('when slow', function(){ - it('should highlight in red', function(done){ - setTimeout(done, 100); - }) - }) - - describe('when reasonable', function(){ - it('should highlight in yellow', function(done){ - setTimeout(done, 50); - }) - }) - - describe('when fast', function(){ - it('should highlight in green', function(done){ - setTimeout(done, 10); - }) - }) -}) \ No newline at end of file diff --git a/test/fs.js b/test/fs.js deleted file mode 100644 index 102b8e1eac..0000000000 --- a/test/fs.js +++ /dev/null @@ -1,18 +0,0 @@ - -var fs = require('fs'); - -describe('fs.readFile()', function(){ - describe('when the file exists', function(){ - it('should succeed', function(done){ - fs.writeFile('/tmp/mocha', 'wahoo', done) - }) - }) - - describe('when the file does not exist', function(){ - it('should fail', function(done){ - // uncomment - // fs.readFile('/tmp/does-not-exist', done); - done(); - }) - }) -}) diff --git a/test/globals.js b/test/globals.js deleted file mode 100644 index f9c2ef6743..0000000000 --- a/test/globals.js +++ /dev/null @@ -1,19 +0,0 @@ - -describe('global leaks', function(){ - beforeEach(function(){ - // uncomment to test - // foo = 'bar' - }); - - it('should cause tests to fail', function(){ - // uncomment to test - // foo = 'bar'; - // bar = 'baz'; - // baz = 'raz'; - }); - - afterEach(function(){ - // uncomment to test - // foo = 'bar' - }); -}); \ No newline at end of file diff --git a/test/hook.async.js b/test/hook.async.js deleted file mode 100644 index 81abb41f0f..0000000000 --- a/test/hook.async.js +++ /dev/null @@ -1,94 +0,0 @@ - -describe('async', function(){ - var calls = []; - - before(function(){ - calls.push('root before all'); - }) - - after(function(){ - calls.push('root after all'); - calls.should.eql([ - 'root before all' - , 'before all' - , 'before' - , 'one' - , 'after' - , 'before' - , 'two' - , 'after' - , 'before' - , 'three' - , 'after' - , 'after all' - , 'root after all']); - }) - - beforeEach(function(){ - // should not be invoked - calls.push('parent before'); - }) - - afterEach(function(){ - // should not be invoked - calls.push('parent after' ); - }) - - describe('hooks', function(){ - before(function(){ - calls.push('before all'); - }); - - after(function(){ - calls.push('after all'); - }); - - beforeEach(function(done){ - process.nextTick(function(){ - calls.push('before'); - done(); - }) - }) - - it('one', function(done){ - calls.should.eql([ - 'root before all' - , 'before all' - , 'before']); - calls.push('one'); - process.nextTick(done); - }) - - it('two', function(){ - calls.should.eql([ - 'root before all' - , 'before all' - , 'before' - , 'one' - , 'after' - , 'before']); - calls.push('two'); - }) - - it('three', function(){ - calls.should.eql([ - 'root before all' - , 'before all' - , 'before' - , 'one' - , 'after' - , 'before' - , 'two' - , 'after' - , 'before']); - calls.push('three'); - }) - - afterEach(function(done){ - process.nextTick(function(){ - calls.push('after'); - done(); - }) - }) - }) -}) diff --git a/test/hook.sync.js b/test/hook.sync.js deleted file mode 100644 index d5ad993603..0000000000 --- a/test/hook.sync.js +++ /dev/null @@ -1,63 +0,0 @@ - -describe('serial', function(){ - var calls = []; - - beforeEach(function(){ - // not hit - calls.push('parent before'); - }) - - afterEach(function(){ - // not hit - calls.push('parent after'); - }) - - describe('hooks', function(){ - beforeEach(function(){ - calls.push('before'); - }) - - it('one', function(){ - calls.should.eql(['before']); - calls.push('one'); - }) - - it('two', function(){ - calls.should.eql([ - 'before' - , 'one' - , 'after' - , 'before']); - calls.push('two'); - }) - - it('three', function(){ - calls.should.eql([ - 'before' - , 'one' - , 'after' - , 'before' - , 'two' - , 'after' - , 'before']); - calls.push('three'); - }) - - afterEach(function(){ - calls.push('after'); - }) - - after(function(){ - calls.should.eql([ - 'before' - , 'one' - , 'after' - , 'before' - , 'two' - , 'after' - , 'before' - , 'three' - , 'after']); - }) - }) -}) \ No newline at end of file diff --git a/test/hook.sync.nested.js b/test/hook.sync.nested.js deleted file mode 100644 index 88fe72c8f0..0000000000 --- a/test/hook.sync.nested.js +++ /dev/null @@ -1,62 +0,0 @@ - -describe('serial', function(){ - describe('nested', function(){ - var calls = []; - - beforeEach(function(){ - calls.push('parent before'); - }) - - afterEach(function(){ - calls.push('parent after'); - }); - - it('foo', function(){ - calls.should.eql(['parent before']); - calls.push('foo'); - }) - - it('bar', function(){ - calls.should.eql([ - 'parent before' - , 'foo' - , 'parent after' - , 'parent before']); - }) - - describe('hooks', function(){ - beforeEach(function(){ - calls.push('before'); - }) - - it('one', function(){ - calls.should.eql([ - 'parent before' - , 'foo' - , 'parent after' - , 'parent before' - , 'parent after' - , 'before']); - calls.push('one'); - }) - - it('two', function(){ - calls.should.eql([ - 'parent before' - , 'foo' - , 'parent after' - , 'parent before' - , 'parent after' - , 'before' - , 'one' - , 'after' - , 'before']); - calls.push('two'); - }); - - afterEach(function(){ - calls.push('after'); - }) - }) - }) -}) \ No newline at end of file diff --git a/test/http.js b/test/http.js deleted file mode 100644 index 14ddd4f582..0000000000 --- a/test/http.js +++ /dev/null @@ -1,17 +0,0 @@ - -var http = require('http'); - -var server = http.createServer(function(req, res){ - res.end('Hello World\n'); -}) - -server.listen(8888); - -describe('http', function(){ - it('should provide an example', function(done){ - http.get({ path: '/', port: 8888 }, function(res){ - res.statusCode.should.equal(200); - done(); - }) - }) -}) \ No newline at end of file diff --git a/test/http.meta.2.js b/test/http.meta.2.js deleted file mode 100644 index c9606495c2..0000000000 --- a/test/http.meta.2.js +++ /dev/null @@ -1,82 +0,0 @@ - -var http = require('http'); - -var server = http.createServer(function(req, res){ - var accept = req.headers.accept || '' - , json = ~accept.indexOf('json'); - - switch (req.url) { - case '/': - res.end('hello'); - break; - case '/users': - if (json) { - res.end('["tobi","loki","jane"]'); - } else { - res.end('tobi, loki, jane'); - } - break; - } -}) - -server.listen(8899); - -function get(url) { - var fields - , expected - , header = {}; - - function request(done) { - http.get({ path: url, port: 8899, headers: header }, function(res){ - var buf = ''; - res.statusCode.should.equal(200); - res.setEncoding('utf8'); - res.on('data', function(chunk){ buf += chunk }); - res.on('end', function(){ - buf.should.equal(expected); - done(); - }); - }) - } - - return { - set: function(field, val){ - header[field] = val; - return this; - }, - - should: { - respond: function(body){ - fields = Object.keys(header).map(function(field){ - return field + ': ' + header[field]; - }).join(', '); - - expected = body; - describe('GET ' + url, function(){ - if (fields) { - describe('when given ' + fields, function(){ - it('should respond with "' + body + '"', request); - }); - } else { - it('should respond with "' + body + '"', request); - } - }); - } - } - }; -} - -describe('http server', function(){ - get('/') - .should - .respond('hello') - - get('/users') - .should - .respond('tobi, loki, jane') - - get('/users') - .set('Accept', 'application/json') - .should - .respond('["tobi","loki","jane"]') -}) \ No newline at end of file diff --git a/test/http.meta.js b/test/http.meta.js deleted file mode 100644 index 1a4a7ff291..0000000000 --- a/test/http.meta.js +++ /dev/null @@ -1,52 +0,0 @@ - -var http = require('http'); - -var server = http.createServer(function(req, res){ - var accept = req.headers.accept || '' - , json = ~accept.indexOf('json'); - - switch (req.url) { - case '/': - res.end('hello'); - break; - case '/users': - if (json) { - res.end('["tobi","loki","jane"]'); - } else { - res.end('tobi, loki, jane'); - } - break; - } -}) - -server.listen(8889); - -function get(url, body, header) { - return function(done){ - http.get({ path: url, port: 8889, headers: header }, function(res){ - var buf = ''; - res.statusCode.should.equal(200); - res.setEncoding('utf8'); - res.on('data', function(chunk){ buf += chunk }); - res.on('end', function(){ - buf.should.equal(body); - done(); - }); - }) - } -} - -describe('http requests', function(){ - describe('GET /', function(){ - it('should respond with hello', - get('/', 'hello')) - }) - - describe('GET /users', function(){ - it('should respond with users', - get('/users', 'tobi, loki, jane')) - - it('should respond with users', - get('/users', '["tobi","loki","jane"]', { Accept: 'application/json' })) - }) -}) \ No newline at end of file diff --git a/test/interfaces/bdd.js b/test/interfaces/bdd.js deleted file mode 100644 index 9e95817dbd..0000000000 --- a/test/interfaces/bdd.js +++ /dev/null @@ -1,25 +0,0 @@ - -describe('Array', function(){ - describe('#indexOf()', function(){ - it('should return -1 when the value is not present', function(){ - [1,2,3].indexOf(5).should.equal(-1); - [1,2,3].indexOf(0).should.equal(-1); - }) - - it('should return the correct index when the value is present', function(){ - [1,2,3].indexOf(1).should.equal(0); - [1,2,3].indexOf(2).should.equal(1); - [1,2,3].indexOf(3).should.equal(2); - }) - }) -}) - -describe('Array', function(){ - describe('#pop()', function(){ - it('should remove and return the last value', function(){ - var arr = [1,2,3]; - arr.pop().should.equal(3); - arr.should.eql([1,2]); - }) - }) -}) \ No newline at end of file diff --git a/test/interfaces/exports.js b/test/interfaces/exports.js deleted file mode 100644 index 8746cbcc63..0000000000 --- a/test/interfaces/exports.js +++ /dev/null @@ -1,44 +0,0 @@ - -var calls = []; - -exports.Array = { - before: function(){ - calls.push('before'); - }, - - after: function(){ - calls.push('after'); - calls.should.eql([ - 'before' - , 'before each' - , 'one' - , 'after each' - , 'before each' - , 'two' - , 'after each' - , 'after']); - }, - - '#indexOf()': { - beforeEach: function(){ - calls.push('before each'); - }, - - afterEach: function(){ - calls.push('after each'); - }, - - 'should return -1 when the value is not present': function(){ - calls.push('one'); - [1,2,3].indexOf(5).should.equal(-1); - [1,2,3].indexOf(0).should.equal(-1); - }, - - 'should return the correct index when the value is present': function(){ - calls.push('two'); - [1,2,3].indexOf(1).should.equal(0); - [1,2,3].indexOf(2).should.equal(1); - [1,2,3].indexOf(3).should.equal(2); - } - } -}; diff --git a/test/interfaces/tdd.js b/test/interfaces/tdd.js deleted file mode 100644 index c6f23080ff..0000000000 --- a/test/interfaces/tdd.js +++ /dev/null @@ -1,15 +0,0 @@ - -suite('Array', function(){ - suite('#indexOf()', function(){ - test('should return -1 when the value is not present', function(){ - [1,2,3].indexOf(5).should.equal(-1); - [1,2,3].indexOf(0).should.equal(-1); - }) - - test('should return the correct index when the value is present', function(){ - [1,2,3].indexOf(1).should.equal(0); - [1,2,3].indexOf(2).should.equal(1); - [1,2,3].indexOf(3).should.equal(2); - }) - }) -}) diff --git a/test/merge.js b/test/merge.js deleted file mode 100644 index 10487febd5..0000000000 --- a/test/merge.js +++ /dev/null @@ -1,34 +0,0 @@ - -describe('merge', function(){ - describe('stuff', function(){ - describe('one', function(){ - it('should do something', function(){ - - }) - }) - - describe('two', function(){ - it('should do stuff', function(){ - - }) - }) - }) -}) - -describe('merge', function(){ - describe('stuff', function(){ - describe('three', function(){ - it('should do something', function(){ - - }) - }) - }) -}) - -describe('merge stuff', function(){ - describe('four', function(){ - it('should do something', function(){ - - }) - }) -}) \ No newline at end of file diff --git a/test/misc/grep.js b/test/misc/grep.js deleted file mode 100644 index d40effb160..0000000000 --- a/test/misc/grep.js +++ /dev/null @@ -1,22 +0,0 @@ - -describe('grep', function(){ - describe('fast', function(){ - it('should run fast', function(){ - - }) - - it('should run fast again', function(){ - - }) - }) - - describe('slow', function(){ - it('should run slow', function(done){ - setTimeout(done, 1000); - }) - - it('should run slow again', function(done){ - setTimeout(done, 1000); - }) - }) -}) diff --git a/test/mocha.opts b/test/mocha.opts deleted file mode 100644 index 7104117c69..0000000000 --- a/test/mocha.opts +++ /dev/null @@ -1,4 +0,0 @@ ---require should ---reporter dot ---ui bdd ---growl diff --git a/test/multiple.done.js b/test/multiple.done.js deleted file mode 100644 index 0425e7e722..0000000000 --- a/test/multiple.done.js +++ /dev/null @@ -1,10 +0,0 @@ - -describe('multiple calls to done()', function(){ - it('should fail in a test-case', function(done){ - process.nextTick(function(){ - done(); - // uncomment - // done(); - }); - }) -}) \ No newline at end of file diff --git a/test/pending.js b/test/pending.js deleted file mode 100644 index cf738b27ba..0000000000 --- a/test/pending.js +++ /dev/null @@ -1,4 +0,0 @@ - -describe('pending', function(){ - it('should be allowed') -}) \ No newline at end of file diff --git a/test/timeout.js b/test/timeout.js deleted file mode 100644 index 11481600ea..0000000000 --- a/test/timeout.js +++ /dev/null @@ -1,8 +0,0 @@ - -describe('timeouts', function(){ - it('should error on timeout', function(done){ - // uncomment - // setTimeout(done, 3000); - done(); - }); -}); \ No newline at end of file diff --git a/test/uncaught.js b/test/uncaught.js deleted file mode 100644 index e1964da724..0000000000 --- a/test/uncaught.js +++ /dev/null @@ -1,10 +0,0 @@ - -describe('uncaught', function(){ - it('should report properly', function(done){ - process.nextTick(function(){ - // if you uncomment this :) - // throw new Error("I'm uncaught!"); - done(); - }) - }) -}) \ No newline at end of file From 0493cf032de73d95d8d452620724626f32245138 Mon Sep 17 00:00:00 2001 From: Tj Holowaychuk Date: Thu, 17 Nov 2011 21:32:19 -0800 Subject: [PATCH 002/272] and more --- index.html | 1 + index.md | 1 + 2 files changed, 2 insertions(+) diff --git a/index.html b/index.html index a8dfd48a18..9081e11224 100644 --- a/index.html +++ b/index.html @@ -39,6 +39,7 @@

    Features

  • extensible test DSLs or “interfaces”
  • before, after, before each, after each hooks
  • TextMate bundle
  • +
  • and more!
  • diff --git a/index.md b/index.md index c0d2bb92f2..a11bc0ec79 100644 --- a/index.md +++ b/index.md @@ -24,6 +24,7 @@ Mocha is a feature-rich JavaScript test framework running on [node](http://nodej - extensible test DSLs or "interfaces" - before, after, before each, after each hooks - TextMate bundle + - and more! ## Installation From 8ce45879b1fade407490fef2662b5bd73aec0bcb Mon Sep 17 00:00:00 2001 From: TJ Holowaychuk Date: Sat, 19 Nov 2011 12:03:15 -0800 Subject: [PATCH 003/272] feature --- index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/index.md b/index.md index a11bc0ec79..779a567716 100644 --- a/index.md +++ b/index.md @@ -3,6 +3,7 @@ Mocha is a feature-rich JavaScript test framework running on [node](http://nodej ## Features + - browser support - proper exit status for CI support etc - ideal for asynchronous APIs - auto-detects and disables coloring for non-ttys From 74498d49b001634c32a6969b90daa2dfaef5c7af Mon Sep 17 00:00:00 2001 From: TJ Holowaychuk Date: Sat, 19 Nov 2011 12:07:49 -0800 Subject: [PATCH 004/272] docs for browser support --- index.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/index.md b/index.md index 779a567716..20ad6382bc 100644 --- a/index.md +++ b/index.md @@ -248,6 +248,19 @@ Testing asynchronous code with Mocha could not be simpler! Simply invoke the cal

    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 + + + Mocha - the fun, simple, flexible JavaScript test framework + + + + + +

  • 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 I52)M!1MAWq&j0`b literal 0 HcmV?d00001 From 95b95dfa145097fab0c6d2d1d5a488fdebe94c64 Mon Sep 17 00:00:00 2001 From: TJ Holowaychuk Date: Sat, 19 Nov 2011 12:50:53 -0800 Subject: [PATCH 006/272] display new images --- images/reporter-html.png | Bin 0 -> 76140 bytes index.html | 117 ++++++++++++++++++++++----------------- index.md | 26 ++++----- 3 files changed, 78 insertions(+), 65 deletions(-) create mode 100644 images/reporter-html.png diff --git a/images/reporter-html.png b/images/reporter-html.png new file mode 100644 index 0000000000000000000000000000000000000000..a18cb12683664867bfb3ddb55d2fd23c5274325e GIT binary patch literal 76140 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 literal 0 HcmV?d00001 diff --git a/index.html b/index.html index 9081e11224..42f4a5c3ea 100644 --- a/index.html +++ b/index.html @@ -18,6 +18,7 @@

    Features

      +
    • browser support
    • proper exit status for CI support etc
    • ideal for asynchronous APIs
    • auto-detects and disables coloring for non-ttys
    • @@ -29,34 +30,33 @@

      Features

    • global variable leak detection
    • configurable test-case timeout
    • optionally run tests that match a regexp
    • -
    • auto-exit to prevent “hanging” with an active loop
    • +
    • auto-exit to prevent "hanging" with an active loop
    • easily meta-generate suites & test-cases
    • mocha.opts file support
    • mocha-debug(1) for node debugger support
    • detects multiple calls to done()
    • use any assertion library you want
    • extensible reporting, bundled with 9+ reporters
    • -
    • extensible test DSLs or “interfaces”
    • +
    • extensible test DSLs or "interfaces"
    • before, after, before each, after each hooks
    • TextMate bundle
    • and more!
    -

    Installation

    -

    Install with npm:

    +

    Install with npm:

    $ npm install -g mocha
     

    Assertions

    -

    Mocha allows you to use any assertion library you want, if it throws an error, it will work! This means you can utilize libraries such as should.js, node’s regular assert module, or others.

    +

    Mocha allows you to use any assertion library you want, if it throws an error, it will work! This means you can utilize libraries such as should.js, node's regular assert module, or others.

    Synchronous code

    -

    When testing synchronous code, omit the callback and Mocha will automatically continue on to the next test.

    +

    When testing synchronous code, omit the callback and Mocha will automatically continue on to the next test.

    describe('Array', function(){
       describe('#indexOf()', function(){
    @@ -85,7 +85,7 @@ 

    Asynchronous code

    })
    -

    To make things even easier, the done() callback accepts an error, so we may use this directly:

    +

    To make things even easier, the done() callback accepts an error, so we may use this directly:

    describe('User', function(){
       describe('#save()', function(){
    @@ -99,7 +99,7 @@ 

    Asynchronous code

    Pending tests

    -

    Pending test-cases are simply those without a callback:

    +

    Pending test-cases are simply those without a callback:

    describe('Array', function(){
       describe('#indexOf()', function(){
    @@ -127,15 +127,15 @@ 

    mocha(1)

    mocha-debug(1)

    -

    mocha-debug(1) is identical to mocha(1), however it enables node’s debugger so you may step through tests with the debugger statement.

    +

    mocha-debug(1) is identical to mocha(1), however it enables node's debugger so you may step through tests with the debugger statement.

    Interfaces

    -

    Mocha “interface” system allows developers to choose their style of DSL. Shipping with BDD, TDD, and export flavoured interfaces.

    +

    Mocha "interface" system allows developers to choose their style of DSL. Shipping with BDD, TDD, and export flavoured interfaces.

    BDD

    -

    The “BDD” interface provides describe(), it(), before(), after(), beforeEach(), and afterEach():

    +

    The "BDD" interface provides describe(), it(), before(), after(), beforeEach(), and afterEach():

    describe('Array', function(){
       before(function(){
    @@ -152,7 +152,7 @@ 

    BDD

    TDD

    -

    The “TDD” interface provides suite(), test(), setup(), and teardown().

    +

    The "TDD" interface provides suite(), test(), setup(), and teardown().

    suite('Array', function(){
       setup(function(){
    @@ -169,7 +169,7 @@ 

    TDD

    Exports

    -

    The “exports” interface is much like Mocha’s predecessor expresso. The keys before, after, beforeEach, and afterEach are special-cased, object values +

    The "exports" interface is much like Mocha's predecessor expresso. The keys before, after, beforeEach, and afterEach are special-cased, object values are suites, and function values are test-cases.

    module.exports = {
    @@ -189,65 +189,62 @@ 

    Exports

    Reporters

    -

    Mocha reporters adjust to the terminal window, +

    Mocha reporters adjust to the terminal window, and always disable ansi-escape colouring when the stdio streams are not associated with a tty.

    Dot Matrix

    -

    The Dot Matrix reporter is simply a series of dots - that represent test cases, failures highlight in red.

    - -

    dot matrix reporter

    +

    The Dot Matrix reporter is simply a series of dots + that represent test cases, failures highlight in red, + pending in blue, slow as yellow.

    -

    dot matrix failure

    +

    dot matrix reporter

    TAP

    -

    The TAP reporter emits lines for a Test-Anything-Protocol consumer.

    +

    The TAP reporter emits lines for a Test-Anything-Protocol consumer.

    -

    test anything protocol

    +

    test anything protocol

    Landing Strip

    -

    The Landing Strip reporter is a gimmicky test reporter simulating +

    The Landing Strip reporter is a gimmicky test reporter simulating a plane landing :) unicode ftw

    -

    landing strip plane reporter

    +

    landing strip plane reporter + landing strip with failure

    List

    -

    The “List” reporter outputs a simple specifications list as - test cases pass or fail, outputting the failure details at +

    The "List" reporter outputs a simple specifications list as + test cases pass or fail, outputting the failure details at the bottom of the output.

    -

    list reporter

    - -

    failures

    +

    list reporter

    JSON

    -

    The JSON reporter outputs a single large JSON object when +

    The JSON reporter outputs a single large JSON object when the tests have completed (failures or not).

    +

    json reporter

    +

    JSON Stream

    -

    The JSON Stream reporter outputs newline-delimited JSON “events” as they occur, beginning with a “start” event, followed by test passes or failures, and then the final “end” event.

    +

    The JSON Stream reporter outputs newline-delimited JSON "events" as they occur, beginning with a "start" event, followed by test passes or failures, and then the final "end" event.

    -
    ["start",{"total":12}]
    -["pass",{"title":"should return -1 when not present","fullTitle":"Array #indexOf() should return -1 when not present","duration":0}]
    -["pass",{"title":"should return the index when present","fullTitle":"Array #indexOf() should return the index when present","duration":0}]
    -["fail",{"title":"should return -1 when not present","fullTitle":"Array #indexOf() should return -1 when not present"}]
    -["end",{"start":"2011-08-29T03:21:02.050Z","suites":13,"passes":11,"tests":12,"failures":1,"end":"2011-08-29T03:21:02.052Z","duration":2}]
    -
    +

    json stream reporter

    Doc

    -

    The “doc” reporter outputs a hierarchical HTML body representation +

    The "doc" reporter outputs a hierarchical HTML body representation of your tests, wrap it with a header, footer, some styling and you have some fantastic documentation!

    -

    For example suppose you have the following JavaScript:

    +

    doc reporter

    + +

    For example suppose you have the following JavaScript:

    describe('Array', function(){
       describe('#indexOf()', function(){
    @@ -259,7 +256,7 @@ 

    Doc

    })
    -

    The command mocha --reporter doc array would yield:

    +

    The command mocha --reporter doc array would yield:

    <section class="suite">
       <h1>Array</h1>
    @@ -276,16 +273,32 @@ 

    Doc

    </section>
    +

    Browser support

    + +

    Mocha runs in the browser. Every release of Mocha will have new builds of ./mocha.js and ./mocha.css for use in the browser. To setup Mocha for browser use all you have to do is include the script, stylesheet, tell Mocha which interface you wish to use, and then run the tests. A typical setup might look something like the following, where we call mocha.setup('bdd') to use the BDD interface before loading the test scripts, running them onload with mocha.run().

    + +

    HTML test reporter

    + +
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js" type="text/javascript"></script>
    +<link rel="stylesheet" href="style.css" />
    +<script src="../mocha.js"></script>
    +<script>mocha.setup('bdd')</script>
    +<script src="test.array.js"></script>
    +<script src="test.object.js"></script>
    +<script src="test.xhr.js"></script>
    +<script>onload = mocha.run;</script>
    +
    +

    mocha.opts

    -

    Mocha will attempt to load ./test/mocha.opts, these are concatenated with process.argv, though command-line args will take precedence. For example suppose you have the following mocha.opts file:

    +

    Mocha will attempt to load ./test/mocha.opts, these are concatenated with process.argv, though command-line args will take precedence. For example suppose you have the following mocha.opts file:

    --require should
     --reporter dot
     --ui bdd
     
    -

    This will default the reporter to dot, require the should library, +

    This will default the reporter to dot, require the should library, and use bdd as the interface. With this you may then invoke mocha(1) with additional arguments, here enabling growl support and changing the reporter to spec:

    @@ -295,7 +308,7 @@

    mocha.opts

    Suite merging

    -

    Suites with common names are “merged” in order +

    Suites with common names are "merged" in order to produce unified reporting, especially when meta-generating tests.

    @@ -324,18 +337,18 @@

    Suite merging

    will produce the following:

    -

    mocha suite merging

    +

    mocha suite merging

    Best practices

    test/*

    -

    By default mocha(1) will use the pattern ./test/*.js, so - it’s usually a good place to put your tests.

    +

    By default mocha(1) will use the pattern ./test/*.js, so + it's usually a good place to put your tests.

    Makefiles

    -

    Be kind and don’t make developers hunt around in your docs to figure +

    Be kind and don't make developers hunt around in your docs to figure out how to run the tests, add a make test target to your Makefile:

     test:
    @@ -347,30 +360,30 @@ 

    Makefiles

    Editors

    -

    The following editor-related packages are available:

    +

    The following editor-related packages are available:

    TextMate bundle

    -

    The Mocha TextMate bundle includes snippets to +

    The Mocha TextMate bundle includes snippets to make writing tests quicker and more enjoyable. To install the bundle run:

      $ make tm
     
    -

    Running mocha’s tests

    +

    Running mocha's tests

    -

    Run the tests:

    +

    Run the tests:

       $ make test
     
    -

    Run all tests, including interfaces:

    +

    Run all tests, including interfaces:

       $ make test-all
     
    -

    Alter the reporter:

    +

    Alter the reporter:

       $ make test REPORTER=list
     
    diff --git a/index.md b/index.md index 20ad6382bc..880a1908ba 100644 --- a/index.md +++ b/index.md @@ -171,11 +171,10 @@ Testing asynchronous code with Mocha could not be simpler! Simply invoke the cal ### Dot Matrix The Dot Matrix reporter is simply a series of dots - that represent test cases, failures highlight in red. + that represent test cases, failures highlight in red, + pending in blue, slow as yellow. - ![dot matrix reporter](http://f.cl.ly/items/3b3b471Z1p2U3D1P2Y1n/Screenshot.png) - - ![dot matrix failure](http://f.cl.ly/items/1P11330L033r423g1y1n/Screenshot.png) + ![dot matrix reporter](images/reporter-dot.png) ## TAP @@ -188,7 +187,8 @@ Testing asynchronous code with Mocha could not be simpler! Simply invoke the cal The Landing Strip reporter is a gimmicky test reporter simulating a plane landing :) unicode ftw - ![landing strip plane reporter](http://f.cl.ly/items/0z1k400K1N1Y2G3u2u0i/Screenshot.png) + ![landing strip plane reporter](images/reporter-landing.png) + ![landing strip with failure](images/reporter-landing-fail.png) ## List @@ -196,24 +196,20 @@ Testing asynchronous code with Mocha could not be simpler! Simply invoke the cal test cases pass or fail, outputting the failure details at the bottom of the output. - ![list reporter](http://f.cl.ly/items/0Y0x1B3l3K0n3t3h3l0p/Screenshot.png) + ![list reporter](images/reporter-list.png) - ![failures](http://f.cl.ly/items/2Z0E150v20042G2d1J0i/Screenshot.png) - ## JSON The JSON reporter outputs a single large JSON object when the tests have completed (failures or not). + + ![json reporter](images/reporter-json.png) ## JSON Stream The JSON Stream reporter outputs newline-delimited JSON "events" as they occur, beginning with a "start" event, followed by test passes or failures, and then the final "end" event. - ["start",{"total":12}] - ["pass",{"title":"should return -1 when not present","fullTitle":"Array #indexOf() should return -1 when not present","duration":0}] - ["pass",{"title":"should return the index when present","fullTitle":"Array #indexOf() should return the index when present","duration":0}] - ["fail",{"title":"should return -1 when not present","fullTitle":"Array #indexOf() should return -1 when not present"}] - ["end",{"start":"2011-08-29T03:21:02.050Z","suites":13,"passes":11,"tests":12,"failures":1,"end":"2011-08-29T03:21:02.052Z","duration":2}] + ![json stream reporter](images/reporter-json-stream.png) ## Doc @@ -221,6 +217,8 @@ Testing asynchronous code with Mocha could not be simpler! Simply invoke the cal of your tests, wrap it with a header, footer, some styling and you have some fantastic documentation! + ![doc reporter](images/reporter-doc.png) + For example suppose you have the following JavaScript: describe('Array', function(){ @@ -252,6 +250,8 @@ Testing asynchronous code with Mocha could not be simpler! Simply invoke the cal Mocha runs in the browser. Every release of Mocha will have new builds of _./mocha.js_ and _./mocha.css_ for use in the browser. To setup Mocha for browser use all you have to do is include the script, stylesheet, tell Mocha which interface you wish to use, and then run the tests. A typical setup might look something like the following, where we call `mocha.setup('bdd')` to use the __BDD__ interface before loading the test scripts, running them `onload` with `mocha.run()`. + ![HTML test reporter](images/reporter-html.png) + From 25dcc338efd9e798bd0a8ea4eda51d26e8b8d686 Mon Sep 17 00:00:00 2001 From: TJ Holowaychuk Date: Sat, 19 Nov 2011 12:56:28 -0800 Subject: [PATCH 007/272] styling images --- style.css | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/style.css b/style.css index 1f84713615..956faa4539 100644 --- a/style.css +++ b/style.css @@ -39,7 +39,7 @@ h1 a:hover { } h2 { - margin-top: 40px; + margin-top: 80px; font-weight: 100; letter-spacing: 1px; border-bottom: 1px solid #eee; @@ -99,6 +99,7 @@ code { } pre { + margin: 30px; padding: 30px; border: 1px solid #eee; border-bottom-color: #ddd; @@ -106,6 +107,13 @@ pre { -webkit-box-shadow: inset 0 0 10px #eee; } +img { + margin: 30px; + padding: 1px; + -webkit-border-radius: 3px; + -webkit-box-shadow: 0 3px 10px #dedede, 0 1px 5px #888; +} + @media all and (max-width: 600px) { #tag { margin-top: 0; From 63038a407b8e74912cc07f4cabaa6523a79cd2ff Mon Sep 17 00:00:00 2001 From: TJ Holowaychuk Date: Sat, 19 Nov 2011 12:57:01 -0800 Subject: [PATCH 008/272] fixed heading levels for reporters --- index.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/index.md b/index.md index 880a1908ba..4874eff255 100644 --- a/index.md +++ b/index.md @@ -176,13 +176,13 @@ Testing asynchronous code with Mocha could not be simpler! Simply invoke the cal ![dot matrix reporter](images/reporter-dot.png) -## TAP +### TAP The TAP reporter emits lines for a [Test-Anything-Protocol](http://en.wikipedia.org/wiki/Test_Anything_Protocol) consumer. ![test anything protocol](http://f.cl.ly/items/2O0X3h0d1Q430O1t1T3p/Screenshot.png) -## Landing Strip +### Landing Strip The Landing Strip reporter is a gimmicky test reporter simulating a plane landing :) unicode ftw @@ -190,7 +190,7 @@ Testing asynchronous code with Mocha could not be simpler! Simply invoke the cal ![landing strip plane reporter](images/reporter-landing.png) ![landing strip with failure](images/reporter-landing-fail.png) -## List +### List The "List" reporter outputs a simple specifications list as test cases pass or fail, outputting the failure details at @@ -198,20 +198,20 @@ Testing asynchronous code with Mocha could not be simpler! Simply invoke the cal ![list reporter](images/reporter-list.png) -## JSON +### JSON The JSON reporter outputs a single large JSON object when the tests have completed (failures or not). ![json reporter](images/reporter-json.png) -## JSON Stream +### JSON Stream The JSON Stream reporter outputs newline-delimited JSON "events" as they occur, beginning with a "start" event, followed by test passes or failures, and then the final "end" event. ![json stream reporter](images/reporter-json-stream.png) -## Doc +### Doc The "doc" reporter outputs a hierarchical HTML body representation of your tests, wrap it with a header, footer, some styling and you From 373a257826fa825001a6dccbcaa60053ee9b906f Mon Sep 17 00:00:00 2001 From: TJ Holowaychuk Date: Sat, 19 Nov 2011 12:59:03 -0800 Subject: [PATCH 009/272] gen --- index.html | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/index.html b/index.html index 42f4a5c3ea..c2cec5d97c 100644 --- a/index.html +++ b/index.html @@ -201,13 +201,13 @@

    Dot Matrix

    dot matrix reporter

    -

    TAP

    +

    TAP

    The TAP reporter emits lines for a Test-Anything-Protocol consumer.

    test anything protocol

    -

    Landing Strip

    +

    Landing Strip

    The Landing Strip reporter is a gimmicky test reporter simulating a plane landing :) unicode ftw

    @@ -215,7 +215,7 @@

    Landing Strip

    landing strip plane reporter landing strip with failure

    -

    List

    +

    List

    The "List" reporter outputs a simple specifications list as test cases pass or fail, outputting the failure details at @@ -223,20 +223,20 @@

    List

    list reporter

    -

    JSON

    +

    JSON

    The JSON reporter outputs a single large JSON object when the tests have completed (failures or not).

    json reporter

    -

    JSON Stream

    +

    JSON Stream

    The JSON Stream reporter outputs newline-delimited JSON "events" as they occur, beginning with a "start" event, followed by test passes or failures, and then the final "end" event.

    json stream reporter

    -

    Doc

    +

    Doc

    The "doc" reporter outputs a hierarchical HTML body representation of your tests, wrap it with a header, footer, some styling and you From fad479a3cc0922194874d2688d001825e1b94b9a Mon Sep 17 00:00:00 2001 From: TJ Holowaychuk Date: Sat, 19 Nov 2011 13:01:56 -0800 Subject: [PATCH 010/272] resize --- style.css | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/style.css b/style.css index 956faa4539..a239477f70 100644 --- a/style.css +++ b/style.css @@ -114,6 +114,12 @@ img { -webkit-box-shadow: 0 3px 10px #dedede, 0 1px 5px #888; } +@media all and (max-width: 800px) { + img { + max-width: 100%; + } +} + @media all and (max-width: 600px) { #tag { margin-top: 0; From 04ffdd31e08a179d724503ab0321c5c46ac6e639 Mon Sep 17 00:00:00 2001 From: TJ Holowaychuk Date: Sat, 19 Nov 2011 13:02:50 -0800 Subject: [PATCH 011/272] misc --- style.css | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/style.css b/style.css index a239477f70..626ab20c34 100644 --- a/style.css +++ b/style.css @@ -112,12 +112,7 @@ img { padding: 1px; -webkit-border-radius: 3px; -webkit-box-shadow: 0 3px 10px #dedede, 0 1px 5px #888; -} - -@media all and (max-width: 800px) { - img { - max-width: 100%; - } + max-width: 100%; } @media all and (max-width: 600px) { From 0344a8385a9d05bdf1b0a4cc75654362e65e1af0 Mon Sep 17 00:00:00 2001 From: TJ Holowaychuk Date: Sat, 19 Nov 2011 13:03:17 -0800 Subject: [PATCH 012/272] overflow-x --- style.css | 1 + 1 file changed, 1 insertion(+) diff --git a/style.css b/style.css index 626ab20c34..bf6d3d8966 100644 --- a/style.css +++ b/style.css @@ -105,6 +105,7 @@ pre { border-bottom-color: #ddd; -webkit-border-radius: 2px; -webkit-box-shadow: inset 0 0 10px #eee; + overflow-x: auto; } img { From aba3089bf57e3a06a0993ba9ff6805d8e2aa04f3 Mon Sep 17 00:00:00 2001 From: TJ Holowaychuk Date: Sat, 19 Nov 2011 13:04:55 -0800 Subject: [PATCH 013/272] first para styling --- style.css | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/style.css b/style.css index bf6d3d8966..24351058e5 100644 --- a/style.css +++ b/style.css @@ -66,6 +66,12 @@ h2 { margin-left: 170px; } +#tag + p { + font-size: 22px; + font-weight: 100; + letter-spacing: 1px; +} + a { color: #8A6343; font-weight: bold; From 2b4eefba2bb986de413dd791e2471c6d2a80d87d Mon Sep 17 00:00:00 2001 From: TJ Holowaychuk Date: Sat, 19 Nov 2011 13:12:02 -0800 Subject: [PATCH 014/272] misc --- index.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/index.md b/index.md index 4874eff255..92b671cd21 100644 --- a/index.md +++ b/index.md @@ -1,11 +1,11 @@ -Mocha is a feature-rich JavaScript test framework running on [node](http://nodejs.org) and the browser, aiming to make async testing simple and fun. Mocha tests run serially, allowing for flexible and accurate reporting, while mapping uncaught exceptions to the correct test cases. +Mocha is a feature-rich JavaScript test framework running on [node](http://nodejs.org) and the browser, making asynchronous testing simple and fun. Mocha tests run serially, allowing for flexible and accurate reporting, while mapping uncaught exceptions to the correct test cases. ## Features - browser support + - simple async support - proper exit status for CI support etc - - ideal for asynchronous APIs - auto-detects and disables coloring for non-ttys - maps uncaught exceptions to the correct test case - async test timeout support @@ -13,7 +13,6 @@ Mocha is a feature-rich JavaScript test framework running on [node](http://nodej - reports test durations - highlights slow tests - global variable leak detection - - configurable test-case timeout - optionally run tests that match a regexp - auto-exit to prevent "hanging" with an active loop - easily meta-generate suites & test-cases From 2f1e45c22b07fb9ecd86938c86eb9301224f1df2 Mon Sep 17 00:00:00 2001 From: TJ Holowaychuk Date: Sat, 19 Nov 2011 13:17:26 -0800 Subject: [PATCH 015/272] styling --- index.html | 5 ++--- style.css | 7 +++++++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/index.html b/index.html index c2cec5d97c..916a0f032c 100644 --- a/index.html +++ b/index.html @@ -13,14 +13,14 @@

    Mocha

    simple, flexible, fun

    -

    Mocha is a feature-rich JavaScript test framework running on node and the browser, aiming to make async testing simple and fun. Mocha tests run serially, allowing for flexible and accurate reporting, while mapping uncaught exceptions to the correct test cases.

    +

    Mocha is a feature-rich JavaScript test framework running on node and the browser, making asynchronous testing simple and fun. Mocha tests run serially, allowing for flexible and accurate reporting, while mapping uncaught exceptions to the correct test cases.

    Features

    • browser support
    • +
    • simple async support
    • proper exit status for CI support etc
    • -
    • ideal for asynchronous APIs
    • auto-detects and disables coloring for non-ttys
    • maps uncaught exceptions to the correct test case
    • async test timeout support
    • @@ -28,7 +28,6 @@

      Features

    • reports test durations
    • highlights slow tests
    • global variable leak detection
    • -
    • configurable test-case timeout
    • optionally run tests that match a regexp
    • auto-exit to prevent "hanging" with an active loop
    • easily meta-generate suites & test-cases
    • diff --git a/style.css b/style.css index 24351058e5..51e3f8cd2a 100644 --- a/style.css +++ b/style.css @@ -83,13 +83,20 @@ a:hover { } ul { + margin-top: 20px; + padding: 0 15px; width: 100%; } ul li { float: left; width: 40%; + margin-top: 5px; margin-right: 60px; + list-style: none; + border-bottom: 1px solid #eee; + padding: 5px 0; + font-size: 12px; } ul::after { From 2f1c0babdad66f14a03898017df457b4a0087c48 Mon Sep 17 00:00:00 2001 From: TJ Holowaychuk Date: Sat, 19 Nov 2011 13:19:59 -0800 Subject: [PATCH 016/272] expand list-items at 850 --- style.css | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/style.css b/style.css index 51e3f8cd2a..69c67795b0 100644 --- a/style.css +++ b/style.css @@ -129,6 +129,12 @@ img { max-width: 100%; } +@media all and (max-width: 850px) { + ul li { + width: 100%; + } +} + @media all and (max-width: 600px) { #tag { margin-top: 0; @@ -139,8 +145,4 @@ img { .onload #tag { margin-left: 0; } - - ul li { - width: 100%; - } } From c574945f6393d93f745a717950a9def154c7b37d Mon Sep 17 00:00:00 2001 From: TJ Holowaychuk Date: Sat, 19 Nov 2011 13:27:49 -0800 Subject: [PATCH 017/272] footer --- foot.html | 4 ++++ head.html | 5 +++-- index.html | 9 +++++++-- style.css | 20 +++++++++++++++++++- 4 files changed, 33 insertions(+), 5 deletions(-) diff --git a/foot.html b/foot.html index 1fd5f4f290..e2879ae7aa 100644 --- a/foot.html +++ b/foot.html @@ -1,2 +1,6 @@ + +
      + © 2011 TJ Holowaychuk. All rights reserved. +
      \ No newline at end of file diff --git a/head.html b/head.html index 7f7f2fce4c..c86940cc28 100644 --- a/head.html +++ b/head.html @@ -11,5 +11,6 @@ -

      Mocha

      -

      simple, flexible, fun

      +
      +

      Mocha

      +

      simple, flexible, fun

      diff --git a/index.html b/index.html index 916a0f032c..609f459ca1 100644 --- a/index.html +++ b/index.html @@ -11,8 +11,9 @@ -

      Mocha

      -

      simple, flexible, fun

      +
      +

      Mocha

      +

      simple, flexible, fun

      Mocha is a feature-rich JavaScript test framework running on node and the browser, making asynchronous testing simple and fun. Mocha tests run serially, allowing for flexible and accurate reporting, while mapping uncaught exceptions to the correct test cases.

      Features

      @@ -386,5 +387,9 @@

      Running mocha's tests

         $ make test REPORTER=list
       
      +
      +
      + © 2011 TJ Holowaychuk. All rights reserved. +
      \ No newline at end of file diff --git a/style.css b/style.css index 69c67795b0..b3d276d5e6 100644 --- a/style.css +++ b/style.css @@ -2,11 +2,14 @@ body { font: 14px/1.6 "Helvetica Neue", Helvetica, Arial, sans-serif; margin: 0; - padding: 140px 110px; color: #2C2C2C; border-top: 2px solid #ddd; } +#content { + padding: 140px 110px 60px 110px; +} + h1 { position: relative; font-style: normal; @@ -129,6 +132,21 @@ img { max-width: 100%; } +footer { + background: #eee; + width: 100%; + padding: 50px 0; + text-align: right; + border-top: 1px solid #ddd; +} + +footer span { + display: block; + margin-right: 30px; + color: #888; + font-size: 12px; +} + @media all and (max-width: 850px) { ul li { width: 100%; From 58e04ee3bef237d36cc06d67c51c38587a7a4aa6 Mon Sep 17 00:00:00 2001 From: TJ Holowaychuk Date: Sat, 19 Nov 2011 13:31:47 -0800 Subject: [PATCH 018/272] h1 font size --- style.css | 1 + 1 file changed, 1 insertion(+) diff --git a/style.css b/style.css index b3d276d5e6..ebdd05738c 100644 --- a/style.css +++ b/style.css @@ -19,6 +19,7 @@ h1 { color: white; display: inline-block; padding: 48px 30px; + font-size: 2em; opacity: 0; -webkit-border-radius: 100px; -webkit-transition: opacity 1s, background-color 200ms; From 7b3a36f93de0cc4878c1eb7bcd7ad5c9caac28ce Mon Sep 17 00:00:00 2001 From: TJ Holowaychuk Date: Sat, 19 Nov 2011 13:37:18 -0800 Subject: [PATCH 019/272] docs --- index.html | 15 ++++++++++----- index.md | 17 +++++++++++------ 2 files changed, 21 insertions(+), 11 deletions(-) diff --git a/index.html b/index.html index 609f459ca1..78f0c19340 100644 --- a/index.html +++ b/index.html @@ -273,12 +273,17 @@

      Doc

      </section>
    -

    Browser support

    +

    HTML

    -

    Mocha runs in the browser. Every release of Mocha will have new builds of ./mocha.js and ./mocha.css for use in the browser. To setup Mocha for browser use all you have to do is include the script, stylesheet, tell Mocha which interface you wish to use, and then run the tests. A typical setup might look something like the following, where we call mocha.setup('bdd') to use the BDD interface before loading the test scripts, running them onload with mocha.run().

    +

    The HTML reporter is currently the only browser reporter + supported by Mocha, and it looks like this:

    HTML test reporter

    +

    Browser support

    + +

    Mocha runs in the browser. Every release of Mocha will have new builds of ./mocha.js and ./mocha.css for use in the browser. To setup Mocha for browser use all you have to do is include the script, stylesheet, tell Mocha which interface you wish to use, and then run the tests. A typical setup might look something like the following, where we call mocha.setup('bdd') to use the BDD interface before loading the test scripts, running them onload with mocha.run().

    +
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js" type="text/javascript"></script>
     <link rel="stylesheet" href="style.css" />
     <script src="../mocha.js"></script>
    @@ -289,7 +294,7 @@ 

    Browser support

    <script>onload = mocha.run;</script>
    -

    mocha.opts

    +

    mocha.opts

    Mocha will attempt to load ./test/mocha.opts, these are concatenated with process.argv, though command-line args will take precedence. For example suppose you have the following mocha.opts file:

    @@ -306,7 +311,7 @@

    mocha.opts

    $ mocha --reporter list --growl
     
    -

    Suite merging

    +

    Suite merging

    Suites with common names are "merged" in order to produce unified reporting, especially when @@ -335,7 +340,7 @@

    Suite merging

    })
    -

    will produce the following:

    +

    Instead of reporting these as distinct suites, they are merged, yielding the following:

    mocha suite merging

    diff --git a/index.md b/index.md index 92b671cd21..08721cce48 100644 --- a/index.md +++ b/index.md @@ -245,11 +245,16 @@ Testing asynchronous code with Mocha could not be simpler! Simply invoke the cal -### Browser support +### HTML - Mocha runs in the browser. Every release of Mocha will have new builds of _./mocha.js_ and _./mocha.css_ for use in the browser. To setup Mocha for browser use all you have to do is include the script, stylesheet, tell Mocha which interface you wish to use, and then run the tests. A typical setup might look something like the following, where we call `mocha.setup('bdd')` to use the __BDD__ interface before loading the test scripts, running them `onload` with `mocha.run()`. + The __HTML__ reporter is currently the only browser reporter + supported by Mocha, and it looks like this: - ![HTML test reporter](images/reporter-html.png) + ![HTML test reporter](images/reporter-html.png) + +## Browser support + + Mocha runs in the browser. Every release of Mocha will have new builds of _./mocha.js_ and _./mocha.css_ for use in the browser. To setup Mocha for browser use all you have to do is include the script, stylesheet, tell Mocha which interface you wish to use, and then run the tests. A typical setup might look something like the following, where we call `mocha.setup('bdd')` to use the __BDD__ interface before loading the test scripts, running them `onload` with `mocha.run()`. @@ -260,7 +265,7 @@ Testing asynchronous code with Mocha could not be simpler! Simply invoke the cal -### mocha.opts +## mocha.opts Mocha will attempt to load `./test/mocha.opts`, these are concatenated with `process.argv`, though command-line args will take precedence. For example suppose you have the following _mocha.opts_ file: @@ -275,7 +280,7 @@ Testing asynchronous code with Mocha could not be simpler! Simply invoke the cal $ mocha --reporter list --growl -### Suite merging +## Suite merging Suites with common names are "merged" in order to produce unified reporting, especially when @@ -303,7 +308,7 @@ Testing asynchronous code with Mocha could not be simpler! Simply invoke the cal }) }) -will produce the following: +Instead of reporting these as distinct suites, they are merged, yielding the following: ![mocha suite merging](http://f.cl.ly/items/380R3S1t1t0b0O2K250V/Screenshot.png) From 30e83c6d2c7d1a346de76f6016e58c8c228ba218 Mon Sep 17 00:00:00 2001 From: TJ Holowaychuk Date: Sat, 19 Nov 2011 13:40:12 -0800 Subject: [PATCH 020/272] gh --- index.html | 2 +- index.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/index.html b/index.html index 78f0c19340..4e2572ade8 100644 --- a/index.html +++ b/index.html @@ -14,7 +14,7 @@

    Mocha

    simple, flexible, fun

    -

    Mocha is a feature-rich JavaScript test framework running on node and the browser, making asynchronous testing simple and fun. Mocha tests run serially, allowing for flexible and accurate reporting, while mapping uncaught exceptions to the correct test cases.

    +

    Mocha is a feature-rich JavaScript test framework running on node and the browser, making asynchronous testing simple and fun. Mocha tests run serially, allowing for flexible and accurate reporting, while mapping uncaught exceptions to the correct test cases. Hosted on GitHub.

    Features

    diff --git a/index.md b/index.md index 08721cce48..f0f246dfd8 100644 --- a/index.md +++ b/index.md @@ -1,5 +1,5 @@ -Mocha is a feature-rich JavaScript test framework running on [node](http://nodejs.org) and the browser, making asynchronous testing simple and fun. Mocha tests run serially, allowing for flexible and accurate reporting, while mapping uncaught exceptions to the correct test cases. +Mocha is a feature-rich JavaScript test framework running on [node](http://nodejs.org) and the browser, making asynchronous testing simple and fun. Mocha tests run serially, allowing for flexible and accurate reporting, while mapping uncaught exceptions to the correct test cases. Hosted on [GitHub](http://github.com/visionmedia/mocha). ## Features From c13300c9a50bffa4de225ad8df0802f4378c0bf9 Mon Sep 17 00:00:00 2001 From: TJ Holowaychuk Date: Sat, 19 Nov 2011 14:01:04 -0800 Subject: [PATCH 021/272] styling for FF --- style.css | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/style.css b/style.css index ebdd05738c..7eda937587 100644 --- a/style.css +++ b/style.css @@ -22,7 +22,9 @@ h1 { font-size: 2em; opacity: 0; -webkit-border-radius: 100px; + -moz-border-radius: 100px; -webkit-transition: opacity 1s, background-color 200ms; + -moz-transition: opacity 1s, background-color 200ms; } h1:hover { @@ -59,6 +61,7 @@ h2 { margin-bottom: 100px; letter-spacing: 2px; -webkit-transition: opacity 1s, margin-top 200ms, margin-bottom 200ms, margin-left 1s; + -moz-transition: opacity 1s, margin-top 200ms, margin-bottom 200ms, margin-left 1s; } #tag em { @@ -121,7 +124,9 @@ pre { border: 1px solid #eee; border-bottom-color: #ddd; -webkit-border-radius: 2px; + -moz-border-radius: 2px; -webkit-box-shadow: inset 0 0 10px #eee; + -moz-box-shadow: inset 0 0 10px #eee; overflow-x: auto; } @@ -129,7 +134,9 @@ img { margin: 30px; padding: 1px; -webkit-border-radius: 3px; + -moz-border-radius: 3px; -webkit-box-shadow: 0 3px 10px #dedede, 0 1px 5px #888; + -moz-box-shadow: 0 3px 10px #dedede, 0 1px 5px #888; max-width: 100%; } From 2df96afc00e2c5ea198c43326cae6f3463ba3102 Mon Sep 17 00:00:00 2001 From: TJ Holowaychuk Date: Sat, 19 Nov 2011 14:24:27 -0800 Subject: [PATCH 022/272] docs for hooks --- index.html | 27 +++++++++++++++++++++++++++ index.md | 26 ++++++++++++++++++++++++++ 2 files changed, 53 insertions(+) diff --git a/index.html b/index.html index 4e2572ade8..3df38dd9a6 100644 --- a/index.html +++ b/index.html @@ -97,6 +97,33 @@

    Asynchronous code

    })
    +

    All "hooks", that is before(), after(), beforeEach(), afterEach() may be sync or async as well, behaving much like a regular test-case. For example you may wish to populate database with dummy content before each test:

    + +
    describe('Connection', function(){
    +  var db = new Connection
    +    , tobi = new User('tobi')
    +    , loki = new User('loki')
    +    , jane = new User('jane');
    +
    +  beforeEach(function(done){
    +    db.clear(function(err){
    +      if (err) return done(err);
    +      db.save([tobi, loki, jane], done);
    +    });
    +  })
    +
    +  describe('#find()', function(){
    +    it('respond with matching records', function(done){
    +      db.find({ type: 'User' }, function(err, res){
    +        if (err) return done(err);
    +        res.should.have.length(3);
    +        done();
    +      })
    +    })
    +  })
    +})
    +
    +

    Pending tests

    Pending test-cases are simply those without a callback:

    diff --git a/index.md b/index.md index f0f246dfd8..55105861a4 100644 --- a/index.md +++ b/index.md @@ -76,6 +76,32 @@ Testing asynchronous code with Mocha could not be simpler! Simply invoke the cal }) }) + All "hooks", that is `before()`, `after()`, `beforeEach()`, `afterEach()` may be sync or async as well, behaving much like a regular test-case. For example you may wish to populate database with dummy content before each test: + + describe('Connection', function(){ + var db = new Connection + , tobi = new User('tobi') + , loki = new User('loki') + , jane = new User('jane'); + + beforeEach(function(done){ + db.clear(function(err){ + if (err) return done(err); + db.save([tobi, loki, jane], done); + }); + }) + + describe('#find()', function(){ + it('respond with matching records', function(done){ + db.find({ type: 'User' }, function(err, res){ + if (err) return done(err); + res.should.have.length(3); + done(); + }) + }) + }) + }) + ## Pending tests Pending test-cases are simply those without a callback: From 8fb3c500207ccd8ab175de24ca69c5f60eec78f7 Mon Sep 17 00:00:00 2001 From: TJ Holowaychuk Date: Sat, 19 Nov 2011 14:27:44 -0800 Subject: [PATCH 023/272] links --- index.html | 11 +++++++++++ index.md | 10 ++++++++++ 2 files changed, 21 insertions(+) diff --git a/index.html b/index.html index 3df38dd9a6..c6a79f62a4 100644 --- a/index.html +++ b/index.html @@ -403,6 +403,17 @@

    TextMate bundle

      $ make tm
     
    +

    Example test suites

    + +

    The following test suites are from real projects putting Mocha to use, + so they serve as good examples:

    + + +

    Running mocha's tests

    Run the tests:

    diff --git a/index.md b/index.md index 55105861a4..81411c3e9a 100644 --- a/index.md +++ b/index.md @@ -368,6 +368,15 @@ Instead of reporting these as distinct suites, they are merged, yielding the fol $ make tm +## Example test suites + + The following test suites are from real projects putting Mocha to use, + so they serve as good examples: + + - [Express](https://github.com/visionmedia/express/tree/master/test) + - [Connect](https://github.com/senchalabs/connect/tree/master/test) + - [SuperAgent](https://github.com/visionmedia/superagent/tree/master/test/node) + ## Running mocha's tests Run the tests: @@ -381,3 +390,4 @@ Instead of reporting these as distinct suites, they are merged, yielding the fol Alter the reporter: $ make test REPORTER=list + From 323a5ce8f20d87066278e855219f7109e61eb0a7 Mon Sep 17 00:00:00 2001 From: TJ Holowaychuk Date: Sat, 19 Nov 2011 14:29:08 -0800 Subject: [PATCH 024/272] links --- index.html | 1 + index.md | 1 + 2 files changed, 2 insertions(+) diff --git a/index.html b/index.html index c6a79f62a4..f98997694e 100644 --- a/index.html +++ b/index.html @@ -412,6 +412,7 @@

    Example test suites

  • Express
  • Connect
  • SuperAgent
  • +
  • WebSocket.io
  • Running mocha's tests

    diff --git a/index.md b/index.md index 81411c3e9a..1d61a11452 100644 --- a/index.md +++ b/index.md @@ -376,6 +376,7 @@ Instead of reporting these as distinct suites, they are merged, yielding the fol - [Express](https://github.com/visionmedia/express/tree/master/test) - [Connect](https://github.com/senchalabs/connect/tree/master/test) - [SuperAgent](https://github.com/visionmedia/superagent/tree/master/test/node) + - [WebSocket.io](https://github.com/LearnBoost/websocket.io/tree/master/test) ## Running mocha's tests From 1f112bcdd977c8c698ab725d0cfd698fe3afccf7 Mon Sep 17 00:00:00 2001 From: Tj Holowaychuk Date: Mon, 21 Nov 2011 19:59:02 -0800 Subject: [PATCH 025/272] Added quick n dirty syntax highlighting. Closes #54 --- highlight.js | 17 +++++++++++++++++ index.html | 8 +++++--- jquery.js | 4 ++++ style.css | 5 +++++ 4 files changed, 31 insertions(+), 3 deletions(-) create mode 100644 highlight.js create mode 100644 jquery.js diff --git a/highlight.js b/highlight.js new file mode 100644 index 0000000000..c7c15560e0 --- /dev/null +++ b/highlight.js @@ -0,0 +1,17 @@ + +$(function(){ + $('code').each(function(){ + $(this).html(highlight($(this).text())); + }); +}); + +function highlight(js) { + return js + .replace(//g, '>') + .replace(/('.*')/gm, '$1') + .replace(/(\d+\.\d+)/gm, '$1') + .replace(/(\d+)/gm, '$1') + .replace(/\bnew *(\w+)/gm, 'new $1') + .replace(/\b(function|new|throw|return|var|if|else)\b/gm, '$1') +} \ No newline at end of file diff --git a/index.html b/index.html index f98997694e..030a17b23e 100644 --- a/index.html +++ b/index.html @@ -4,10 +4,12 @@ Mocha - the fun, simple, flexible JavaScript test framework + + diff --git a/jquery.js b/jquery.js new file mode 100644 index 0000000000..d2424e6528 --- /dev/null +++ b/jquery.js @@ -0,0 +1,4 @@ +/*! jQuery v1.7 jquery.com | jquery.org/license */ +(function(a,b){function cA(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cx(a){if(!cm[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){cn||(cn=c.createElement("iframe"),cn.frameBorder=cn.width=cn.height=0),b.appendChild(cn);if(!co||!cn.createElement)co=(cn.contentWindow||cn.contentDocument).document,co.write((c.compatMode==="CSS1Compat"?"":"")+""),co.close();d=co.createElement(a),co.body.appendChild(d),e=f.css(d,"display"),b.removeChild(cn)}cm[a]=e}return cm[a]}function cw(a,b){var c={};f.each(cs.concat.apply([],cs.slice(0,b)),function(){c[this]=a});return c}function cv(){ct=b}function cu(){setTimeout(cv,0);return ct=f.now()}function cl(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ck(){try{return new a.XMLHttpRequest}catch(b){}}function ce(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g0){c!=="border"&&f.each(e,function(){c||(d-=parseFloat(f.css(a,"padding"+this))||0),c==="margin"?d+=parseFloat(f.css(a,c+this))||0:d-=parseFloat(f.css(a,"border"+this+"Width"))||0});return d+"px"}d=bB(a,b,b);if(d<0||d==null)d=a.style[b]||0;d=parseFloat(d)||0,c&&f.each(e,function(){d+=parseFloat(f.css(a,"padding"+this))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+this+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+this))||0)});return d+"px"}function br(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(bi,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function bq(a){var b=(a.nodeName||"").toLowerCase();b==="input"?bp(a):b!=="script"&&typeof a.getElementsByTagName!="undefined"&&f.grep(a.getElementsByTagName("input"),bp)}function bp(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bo(a){return typeof a.getElementsByTagName!="undefined"?a.getElementsByTagName("*"):typeof a.querySelectorAll!="undefined"?a.querySelectorAll("*"):[]}function bn(a,b){var c;if(b.nodeType===1){b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase();if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(f.expando)}}function bm(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c,d,e,g=f._data(a),h=f._data(b,g),i=g.events;if(i){delete h.handle,h.events={};for(c in i)for(d=0,e=i[c].length;d=0===c})}function V(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function N(){return!0}function M(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?parseFloat(d):j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/\d/,n=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,o=/^[\],:{}\s]*$/,p=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,q=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,r=/(?:^|:|,)(?:\s*\[)+/g,s=/(webkit)[ \/]([\w.]+)/,t=/(opera)(?:.*version)?[ \/]([\w.]+)/,u=/(msie) ([\w.]+)/,v=/(mozilla)(?:.*? rv:([\w.]+))?/,w=/-([a-z]|[0-9])/ig,x=/^-ms-/,y=function(a,b){return(b+"").toUpperCase()},z=d.userAgent,A,B,C,D=Object.prototype.toString,E=Object.prototype.hasOwnProperty,F=Array.prototype.push,G=Array.prototype.slice,H=String.prototype.trim,I=Array.prototype.indexOf,J={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=n.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7",length:0,size:function(){return this.length},toArray:function(){return G.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?F.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),B.add(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(G.apply(this,arguments),"slice",G.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:F,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;B.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!B){B=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",C,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",C),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&K()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNumeric:function(a){return a!=null&&m.test(a)&&!isNaN(a)},type:function(a){return a==null?String(a):J[D.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!E.call(a,"constructor")&&!E.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||E.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(o.test(b.replace(p,"@").replace(q,"]").replace(r,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(x,"ms-").replace(w,y)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c
    a",d=a.getElementsByTagName("*"),e=a.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=a.getElementsByTagName("input")[0],k={leadingWhitespace:a.firstChild.nodeType===3,tbody:!a.getElementsByTagName("tbody").length,htmlSerialize:!!a.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,unknownElems:!!a.getElementsByTagName("nav").length,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:a.className!=="t",enctype:!!c.createElement("form").enctype,submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,k.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,k.optDisabled=!h.disabled;try{delete a.test}catch(v){k.deleteExpando=!1}!a.addEventListener&&a.attachEvent&&a.fireEvent&&(a.attachEvent("onclick",function(){k.noCloneEvent=!1}),a.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),k.radioValue=i.value==="t",i.setAttribute("checked","checked"),a.appendChild(i),l=c.createDocumentFragment(),l.appendChild(a.lastChild),k.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,a.innerHTML="",a.style.width=a.style.paddingLeft="1px",m=c.getElementsByTagName("body")[0],o=c.createElement(m?"div":"body"),p={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},m&&f.extend(p,{position:"absolute",left:"-999px",top:"-999px"});for(t in p)o.style[t]=p[t];o.appendChild(a),n=m||b,n.insertBefore(o,n.firstChild),k.appendChecked=i.checked,k.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,k.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="
    ",k.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="
    t
    ",q=a.getElementsByTagName("td"),u=q[0].offsetHeight===0,q[0].style.display="",q[1].style.display="none",k.reliableHiddenOffsets=u&&q[0].offsetHeight===0,a.innerHTML="",c.defaultView&&c.defaultView.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",a.appendChild(j),k.reliableMarginRight=(parseInt((c.defaultView.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0);if(a.attachEvent)for(t in{submit:1,change:1,focusin:1})s="on"+t,u=s in a,u||(a.setAttribute(s,"return;"),u=typeof a[s]=="function"),k[t+"Bubbles"]=u;f(function(){var a,b,d,e,g,h,i=1,j="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;",l="visibility:hidden;border:0;",n="style='"+j+"border:5px solid #000;padding:0;'",p="
    "+""+"
    ";m=c.getElementsByTagName("body")[0];!m||(a=c.createElement("div"),a.style.cssText=l+"width:0;height:0;position:static;top:0;margin-top:"+i+"px",m.insertBefore(a,m.firstChild),o=c.createElement("div"),o.style.cssText=j+l,o.innerHTML=p,a.appendChild(o),b=o.firstChild,d=b.firstChild,g=b.nextSibling.firstChild.firstChild,h={doesNotAddBorder:d.offsetTop!==5,doesAddBorderForTableAndCells:g.offsetTop===5},d.style.position="fixed",d.style.top="20px",h.fixedPosition=d.offsetTop===20||d.offsetTop===15,d.style.position=d.style.top="",b.style.overflow="hidden",b.style.position="relative",h.subtractsBorderForOverflowNotVisible=d.offsetTop===-5,h.doesNotIncludeMarginInBodyOffset=m.offsetTop!==i,m.removeChild(a),o=a=null,f.extend(k,h))}),o.innerHTML="",n.removeChild(o),o=l=g=h=m=j=a=i=null;return k}(),f.boxModel=f.support.boxModel;var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[f.expando]:a[f.expando]&&f.expando,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[f.expando]=n=++f.uuid:n=f.expando),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[f.expando]:f.expando;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)?b=b:b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" "));for(e=0,g=b.length;e-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];if(!arguments.length){if(g){c=f.valHooks[g.nodeName.toLowerCase()]||f.valHooks[g.type];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}return b}e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!a||j===3||j===8||j===2)return b;if(e&&c in f.attrFn)return f(a)[c](d);if(!("getAttribute"in a))return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return b}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g},removeAttr:function(a,b){var c,d,e,g,h=0;if(a.nodeType===1){d=(b||"").split(p),g=d.length;for(;h=0}})});var z=/\.(.*)$/,A=/^(?:textarea|input|select)$/i,B=/\./g,C=/ /g,D=/[^\w\s.|`]/g,E=/^([^\.]*)?(?:\.(.+))?$/,F=/\bhover(\.\S+)?/,G=/^key/,H=/^(?:mouse|contextmenu)|click/,I=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,J=function(a){var b=I.exec(a);b&& +(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},K=function(a,b){return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||a.id===b[2])&&(!b[3]||b[3].test(a.className))},L=function(a){return f.event.special.hover?a:a.replace(F,"mouseenter$1 mouseleave$1")};f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=L(c).split(" ");for(k=0;k=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"",(g||!e)&&c.preventDefault();if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,n=null;for(m=e.parentNode;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;l=0:t===b&&(t=o[s]=r.quick?K(m,r.quick):f(m).is(s)),t&&q.push(r);q.length&&j.push({elem:m,matches:q})}d.length>e&&j.push({elem:this,matches:d.slice(e)});for(k=0;k0?this.bind(b,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),G.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),H.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

    ";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="
    ";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h0)for(h=g;h=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(V(c[0])||V(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c),g=S.call(arguments);O.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!U[a]?f.unique(e):e,(this.length>1||Q.test(d))&&P.test(a)&&(e=e.reverse());return this.pushStack(e,a,g.join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var Y="abbr article aside audio canvas datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",Z=/ jQuery\d+="(?:\d+|null)"/g,$=/^\s+/,_=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,ba=/<([\w:]+)/,bb=/",""],legend:[1,"
    ","
    "],thead:[1,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],col:[2,"","
    "],area:[1,"",""],_default:[0,"",""]},bk=X(c);bj.optgroup=bj.option,bj.tbody=bj.tfoot=bj.colgroup=bj.caption=bj.thead,bj.th=bj.td,f.support.htmlSerialize||(bj._default=[1,"div
    ","
    "]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){f(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after" +,arguments);a.push.apply(a,f(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Z,""):null;if(typeof a=="string"&&!bd.test(a)&&(f.support.leadingWhitespace||!$.test(a))&&!bj[(ba.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(_,"<$1>");try{for(var c=0,d=this.length;c1&&l0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d=a.cloneNode(!0),e,g,h;if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bn(a,d),e=bo(a),g=bo(d);for(h=0;e[h];++h)g[h]&&bn(e[h],g[h])}if(b){bm(a,d);if(c){e=bo(a),g=bo(d);for(h=0;e[h];++h)bm(e[h],g[h])}}e=g=null;return d},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!bc.test(k))k=b.createTextNode(k);else{k=k.replace(_,"<$1>");var l=(ba.exec(k)||["",""])[1].toLowerCase(),m=bj[l]||bj._default,n=m[0],o=b.createElement("div");b===c?bk.appendChild(o):X(b).appendChild(o),o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=bb.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]===""&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&$.test(k)&&o.insertBefore(b.createTextNode($.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bt.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bs,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bs.test(g)?g.replace(bs,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bB(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bC=function(a,c){var d,e,g;c=c.replace(bu,"-$1").toLowerCase();if(!(e=a.ownerDocument.defaultView))return b;if(g=e.getComputedStyle(a,null))d=g.getPropertyValue(c),d===""&&!f.contains(a.ownerDocument.documentElement,a)&&(d=f.style(a,c));return d}),c.documentElement.currentStyle&&(bD=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f===null&&g&&(e=g[b])&&(f=e),!bv.test(f)&&bw.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f||0,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),bB=bC||bD,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bF=/%20/g,bG=/\[\]$/,bH=/\r?\n/g,bI=/#.*$/,bJ=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bK=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bL=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bM=/^(?:GET|HEAD)$/,bN=/^\/\//,bO=/\?/,bP=/)<[^<]*)*<\/script>/gi,bQ=/^(?:select|textarea)/i,bR=/\s+/,bS=/([?&])_=[^&]*/,bT=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bU=f.fn.load,bV={},bW={},bX,bY,bZ=["*/"]+["*"];try{bX=e.href}catch(b$){bX=c.createElement("a"),bX.href="",bX=bX.href}bY=bT.exec(bX.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bU)return bU.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("
    ").append(c.replace(bP,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bQ.test(this.nodeName)||bK.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bH,"\r\n")}}):{name:b.name,value:c.replace(bH,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.bind(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?cb(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),cb(a,b);return a},ajaxSettings:{url:bX,isLocal:bL.test(bY[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bZ},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:b_(bV),ajaxTransport:b_(bW),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?cd(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=ce(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f.Callbacks("once memory"),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bJ.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.add,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bI,"").replace(bN,bY[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bR),d.crossDomain==null&&(r=bT.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bY[1]&&r[2]==bY[2]&&(r[3]||(r[1]==="http:"?80:443))==(bY[3]||(bY[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),ca(bV,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bM.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bO.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bS,"$1_="+x);d.url=y+(y===d.url?(bO.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bZ+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=ca(bW,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){s<2?w(-1,z):f.error(z)}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)cc(g,a[g],c,e);return d.join("&").replace(bF,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cf=f.now(),cg=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cf++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(cg.test(b.url)||e&&cg.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(cg,l),b.url===j&&(e&&(k=k.replace(cg,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var ch=a.ActiveXObject?function(){for(var a in cj)cj[a](0,1)}:!1,ci=0,cj;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ck()||cl()}:ck,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,ch&&delete cj[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++ci,ch&&(cj||(cj={},f(a).unload(ch)),cj[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cm={},cn,co,cp=/^(?:toggle|show|hide)$/,cq=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cr,cs=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],ct;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cw("show",3),a,b,c);for(var g=0,h=this.length;g=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties[b]!==!0&&(g=!1);if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show)for(b in i.animatedProperties)f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.complete=!1,d.call(h))}return!1}i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cz.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cz.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cA(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cA(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,d,"padding")):this[d]():null},f.fn["outer"+c]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,d,a?"margin":"border")):this[d]():null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c],h=e.document.body;return e.document.compatMode==="CSS1Compat"&&g||h&&h["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var i=f.css(e,d),j=parseFloat(i);return f.isNumeric(j)?j:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f})(window); \ No newline at end of file diff --git a/style.css b/style.css index 7eda937587..14cd2733e5 100644 --- a/style.css +++ b/style.css @@ -172,3 +172,8 @@ footer span { margin-left: 0; } } + +code .init { color: #17B8E9 } +code .number { color: #17B8E9 } +code .string { color: #36A343 } +code .keyword { color: #8A6343 } From 8d6e547fc80deff434a4292383820db38f7eb4e4 Mon Sep 17 00:00:00 2001 From: Tj Holowaychuk Date: Mon, 21 Nov 2011 20:00:00 -0800 Subject: [PATCH 026/272] typo --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 030a17b23e..f092e9f5af 100644 --- a/index.html +++ b/index.html @@ -8,7 +8,7 @@ From 1e74361ccdf7f54ca8db42c68788bc25b54f6eba Mon Sep 17 00:00:00 2001 From: Tj Holowaychuk Date: Mon, 21 Nov 2011 20:12:42 -0800 Subject: [PATCH 027/272] tweak colors --- style.css | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/style.css b/style.css index 14cd2733e5..be82399074 100644 --- a/style.css +++ b/style.css @@ -173,7 +173,7 @@ footer span { } } -code .init { color: #17B8E9 } -code .number { color: #17B8E9 } -code .string { color: #36A343 } +code .init { color: #2F6FAD } +code .string { color: #5890AD } code .keyword { color: #8A6343 } +code .number { color: #2F6FAD } \ No newline at end of file From bebeb35fd1075bd73cdd4267d3fa5a38d0fcee6f Mon Sep 17 00:00:00 2001 From: Tj Holowaychuk Date: Mon, 21 Nov 2011 20:14:09 -0800 Subject: [PATCH 028/272] comments --- highlight.js | 1 + style.css | 1 + 2 files changed, 2 insertions(+) diff --git a/highlight.js b/highlight.js index c7c15560e0..6df4a8d715 100644 --- a/highlight.js +++ b/highlight.js @@ -9,6 +9,7 @@ function highlight(js) { return js .replace(//g, '>') + .replace(/\/\/(.*)/gm, '//$1') .replace(/('.*')/gm, '$1') .replace(/(\d+\.\d+)/gm, '$1') .replace(/(\d+)/gm, '$1') diff --git a/style.css b/style.css index be82399074..aaba1d4adf 100644 --- a/style.css +++ b/style.css @@ -173,6 +173,7 @@ footer span { } } +code .comment { color: #ddd } code .init { color: #2F6FAD } code .string { color: #5890AD } code .keyword { color: #8A6343 } From 8285c43cb41db6a286209d26a575c7f793758407 Mon Sep 17 00:00:00 2001 From: Tj Holowaychuk Date: Mon, 21 Nov 2011 20:43:32 -0800 Subject: [PATCH 029/272] docs --- index.html | 149 ++++++++++++++++++++++++++++++++--------------------- index.md | 30 +++++++++++ 2 files changed, 120 insertions(+), 59 deletions(-) diff --git a/index.html b/index.html index f092e9f5af..08553a09d7 100644 --- a/index.html +++ b/index.html @@ -4,12 +4,10 @@ Mocha - the fun, simple, flexible JavaScript test framework - - @@ -32,33 +30,34 @@

    Features

  • highlights slow tests
  • global variable leak detection
  • optionally run tests that match a regexp
  • -
  • auto-exit to prevent "hanging" with an active loop
  • +
  • auto-exit to prevent “hanging” with an active loop
  • easily meta-generate suites & test-cases
  • mocha.opts file support
  • mocha-debug(1) for node debugger support
  • detects multiple calls to done()
  • use any assertion library you want
  • extensible reporting, bundled with 9+ reporters
  • -
  • extensible test DSLs or "interfaces"
  • +
  • extensible test DSLs or “interfaces”
  • before, after, before each, after each hooks
  • TextMate bundle
  • and more!
  • +

    Installation

    -

    Install with npm:

    +

    Install with npm:

    $ npm install -g mocha
     

    Assertions

    -

    Mocha allows you to use any assertion library you want, if it throws an error, it will work! This means you can utilize libraries such as should.js, node's regular assert module, or others.

    +

    Mocha allows you to use any assertion library you want, if it throws an error, it will work! This means you can utilize libraries such as should.js, node’s regular assert module, or others.

    Synchronous code

    -

    When testing synchronous code, omit the callback and Mocha will automatically continue on to the next test.

    +

    When testing synchronous code, omit the callback and Mocha will automatically continue on to the next test.

    describe('Array', function(){
       describe('#indexOf()', function(){
    @@ -87,7 +86,7 @@ 

    Asynchronous code

    })
    -

    To make things even easier, the done() callback accepts an error, so we may use this directly:

    +

    To make things even easier, the done() callback accepts an error, so we may use this directly:

    describe('User', function(){
       describe('#save()', function(){
    @@ -99,7 +98,7 @@ 

    Asynchronous code

    })
    -

    All "hooks", that is before(), after(), beforeEach(), afterEach() may be sync or async as well, behaving much like a regular test-case. For example you may wish to populate database with dummy content before each test:

    +

    All “hooks”, that is before(), after(), beforeEach(), afterEach() may be sync or async as well, behaving much like a regular test-case. For example you may wish to populate database with dummy content before each test:

    describe('Connection', function(){
       var db = new Connection
    @@ -128,7 +127,7 @@ 

    Asynchronous code

    Pending tests

    -

    Pending test-cases are simply those without a callback:

    +

    Pending test-cases are simply those without a callback:

    describe('Array', function(){
       describe('#indexOf()', function(){
    @@ -154,17 +153,48 @@ 

    mocha(1)

    -G, --growl enable growl support
    +

    -r, —require <name>

    + +

    The --require option is useful for libraries such as should.js, so you may simply --require should instead of manually invoking require('should') within each test file.

    + +

    -u, —ui <name>

    + +

    The --ui option lets you specify the interface to use, defaulting to “bdd”.

    + +

    -R, —reporter <name>

    + +

    The --reporter option allows you to specify the reporter that will be used, defaulting to “dot”.

    + +

    -g, —grep <pattern>

    + +

    The --grep option when specified will trigger mocha to only run tests matching the given pattern which is internally compiled to a RegExp.

    + +

    Suppose for example you have “api” related tests, as well as “app” related tests, as shown in the following snippet; One could use --grep api or --grep app to run one or the other. The same goes for any other part of a suite or test-case title, --grep users would be valid as well, or even --grep GET.

    + +
    describe('api', function(){
    +  describe('GET /api/users', function(){
    +    it('respond with an array of users')
    +  })
    +})
    +
    +describe('app', function(){
    +  describe('GET /users', function(){
    +    it('respond with an array of users')
    +  })
    +})
    +
    +

    mocha-debug(1)

    -

    mocha-debug(1) is identical to mocha(1), however it enables node's debugger so you may step through tests with the debugger statement.

    +

    mocha-debug(1) is identical to mocha(1), however it enables node’s debugger so you may step through tests with the debugger statement.

    Interfaces

    -

    Mocha "interface" system allows developers to choose their style of DSL. Shipping with BDD, TDD, and export flavoured interfaces.

    +

    Mocha “interface” system allows developers to choose their style of DSL. Shipping with BDD, TDD, and export flavoured interfaces.

    BDD

    -

    The "BDD" interface provides describe(), it(), before(), after(), beforeEach(), and afterEach():

    +

    The “BDD” interface provides describe(), it(), before(), after(), beforeEach(), and afterEach():

    describe('Array', function(){
       before(function(){
    @@ -181,7 +211,7 @@ 

    BDD

    TDD

    -

    The "TDD" interface provides suite(), test(), setup(), and teardown().

    +

    The “TDD” interface provides suite(), test(), setup(), and teardown().

    suite('Array', function(){
       setup(function(){
    @@ -198,7 +228,7 @@ 

    TDD

    Exports

    -

    The "exports" interface is much like Mocha's predecessor expresso. The keys before, after, beforeEach, and afterEach are special-cased, object values +

    The “exports” interface is much like Mocha’s predecessor expresso. The keys before, after, beforeEach, and afterEach are special-cased, object values are suites, and function values are test-cases.

    module.exports = {
    @@ -218,62 +248,62 @@ 

    Exports

    Reporters

    -

    Mocha reporters adjust to the terminal window, +

    Mocha reporters adjust to the terminal window, and always disable ansi-escape colouring when the stdio streams are not associated with a tty.

    Dot Matrix

    -

    The Dot Matrix reporter is simply a series of dots +

    The Dot Matrix reporter is simply a series of dots that represent test cases, failures highlight in red, pending in blue, slow as yellow.

    -

    dot matrix reporter

    +

    dot matrix reporter

    TAP

    -

    The TAP reporter emits lines for a Test-Anything-Protocol consumer.

    +

    The TAP reporter emits lines for a Test-Anything-Protocol consumer.

    -

    test anything protocol

    +

    test anything protocol

    Landing Strip

    -

    The Landing Strip reporter is a gimmicky test reporter simulating +

    The Landing Strip reporter is a gimmicky test reporter simulating a plane landing :) unicode ftw

    -

    landing strip plane reporter - landing strip with failure

    +

    landing strip plane reporter + landing strip with failure

    List

    -

    The "List" reporter outputs a simple specifications list as - test cases pass or fail, outputting the failure details at +

    The “List” reporter outputs a simple specifications list as + test cases pass or fail, outputting the failure details at the bottom of the output.

    -

    list reporter

    +

    list reporter

    JSON

    -

    The JSON reporter outputs a single large JSON object when +

    The JSON reporter outputs a single large JSON object when the tests have completed (failures or not).

    -

    json reporter

    +

    json reporter

    JSON Stream

    -

    The JSON Stream reporter outputs newline-delimited JSON "events" as they occur, beginning with a "start" event, followed by test passes or failures, and then the final "end" event.

    +

    The JSON Stream reporter outputs newline-delimited JSON “events” as they occur, beginning with a “start” event, followed by test passes or failures, and then the final “end” event.

    -

    json stream reporter

    +

    json stream reporter

    Doc

    -

    The "doc" reporter outputs a hierarchical HTML body representation +

    The “doc” reporter outputs a hierarchical HTML body representation of your tests, wrap it with a header, footer, some styling and you have some fantastic documentation!

    -

    doc reporter

    +

    doc reporter

    -

    For example suppose you have the following JavaScript:

    +

    For example suppose you have the following JavaScript:

    describe('Array', function(){
       describe('#indexOf()', function(){
    @@ -285,7 +315,7 @@ 

    Doc

    })
    -

    The command mocha --reporter doc array would yield:

    +

    The command mocha --reporter doc array would yield:

    <section class="suite">
       <h1>Array</h1>
    @@ -304,14 +334,14 @@ 

    Doc

    HTML

    -

    The HTML reporter is currently the only browser reporter +

    The HTML reporter is currently the only browser reporter supported by Mocha, and it looks like this:

    -

    HTML test reporter

    +

    HTML test reporter

    Browser support

    -

    Mocha runs in the browser. Every release of Mocha will have new builds of ./mocha.js and ./mocha.css for use in the browser. To setup Mocha for browser use all you have to do is include the script, stylesheet, tell Mocha which interface you wish to use, and then run the tests. A typical setup might look something like the following, where we call mocha.setup('bdd') to use the BDD interface before loading the test scripts, running them onload with mocha.run().

    +

    Mocha runs in the browser. Every release of Mocha will have new builds of ./mocha.js and ./mocha.css for use in the browser. To setup Mocha for browser use all you have to do is include the script, stylesheet, tell Mocha which interface you wish to use, and then run the tests. A typical setup might look something like the following, where we call mocha.setup('bdd') to use the BDD interface before loading the test scripts, running them onload with mocha.run().

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js" type="text/javascript"></script>
     <link rel="stylesheet" href="style.css" />
    @@ -325,14 +355,14 @@ 

    Browser support

    mocha.opts

    -

    Mocha will attempt to load ./test/mocha.opts, these are concatenated with process.argv, though command-line args will take precedence. For example suppose you have the following mocha.opts file:

    +

    Mocha will attempt to load ./test/mocha.opts, these are concatenated with process.argv, though command-line args will take precedence. For example suppose you have the following mocha.opts file:

    --require should
     --reporter dot
     --ui bdd
     
    -

    This will default the reporter to dot, require the should library, +

    This will default the reporter to dot, require the should library, and use bdd as the interface. With this you may then invoke mocha(1) with additional arguments, here enabling growl support and changing the reporter to spec:

    @@ -342,7 +372,7 @@

    mocha.opts

    Suite merging

    -

    Suites with common names are "merged" in order +

    Suites with common names are “merged” in order to produce unified reporting, especially when meta-generating tests.

    @@ -369,20 +399,20 @@

    Suite merging

    })
    -

    Instead of reporting these as distinct suites, they are merged, yielding the following:

    +

    Instead of reporting these as distinct suites, they are merged, yielding the following:

    -

    mocha suite merging

    +

    mocha suite merging

    Best practices

    test/*

    -

    By default mocha(1) will use the pattern ./test/*.js, so - it's usually a good place to put your tests.

    +

    By default mocha(1) will use the pattern ./test/*.js, so + it’s usually a good place to put your tests.

    Makefiles

    -

    Be kind and don't make developers hunt around in your docs to figure +

    Be kind and don’t make developers hunt around in your docs to figure out how to run the tests, add a make test target to your Makefile:

     test:
    @@ -394,11 +424,11 @@ 

    Makefiles

    Editors

    -

    The following editor-related packages are available:

    +

    The following editor-related packages are available:

    TextMate bundle

    -

    The Mocha TextMate bundle includes snippets to +

    The Mocha TextMate bundle includes snippets to make writing tests quicker and more enjoyable. To install the bundle run:

    @@ -407,29 +437,30 @@

    TextMate bundle

    Example test suites

    -

    The following test suites are from real projects putting Mocha to use, +

    The following test suites are from real projects putting Mocha to use, so they serve as good examples:

    -

    Running mocha's tests

    -

    Run the tests:

    +

    Running mocha’s tests

    + +

    Run the tests:

       $ make test
     
    -

    Run all tests, including interfaces:

    +

    Run all tests, including interfaces:

       $ make test-all
     
    -

    Alter the reporter:

    +

    Alter the reporter:

       $ make test REPORTER=list
     
    diff --git a/index.md b/index.md index 1d61a11452..01d0c332c3 100644 --- a/index.md +++ b/index.md @@ -128,6 +128,36 @@ Testing asynchronous code with Mocha could not be simpler! Simply invoke the cal -s, --slow "slow" test threshold in milliseconds [75] -G, --growl enable growl support +### -r, --require <name> + + The `--require` option is useful for libraries such as [should.js](http://github.com/visionmedia/should.js), so you may simply `--require should` instead of manually invoking `require('should')` within each test file. + +### -u, --ui <name> + + The `--ui` option lets you specify the interface to use, defaulting to "bdd". + +### -R, --reporter <name> + + The `--reporter` option allows you to specify the reporter that will be used, defaulting to "dot". + +### -g, --grep <pattern> + + The `--grep` option when specified will trigger mocha to only run tests matching the given `pattern` which is internally compiled to a `RegExp`. + + Suppose for example you have "api" related tests, as well as "app" related tests, as shown in the following snippet; One could use `--grep api` or `--grep app` to run one or the other. The same goes for any other part of a suite or test-case title, `--grep users` would be valid as well, or even `--grep GET`. + + describe('api', function(){ + describe('GET /api/users', function(){ + it('respond with an array of users') + }) + }) + + describe('app', function(){ + describe('GET /users', function(){ + it('respond with an array of users') + }) + }) + ## mocha-debug(1) `mocha-debug(1)` is identical to `mocha(1)`, however it enables node's debugger so you may step through tests with the __debugger__ statement. From 9b7ab196bb921cc34bc2e63e91c23726818dc1b5 Mon Sep 17 00:00:00 2001 From: Tj Holowaychuk Date: Mon, 21 Nov 2011 20:45:35 -0800 Subject: [PATCH 030/272] fixed syntax highlighting again --- index.html | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/index.html b/index.html index 08553a09d7..778dd260a5 100644 --- a/index.html +++ b/index.html @@ -4,10 +4,12 @@ Mocha - the fun, simple, flexible JavaScript test framework + + From ffe675e8d779caddf6bb41579e661c63c52ced5e Mon Sep 17 00:00:00 2001 From: Tj Holowaychuk Date: Mon, 21 Nov 2011 20:50:08 -0800 Subject: [PATCH 031/272] docs --- index.html | 16 +++++++++++----- index.md | 8 ++++++++ 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/index.html b/index.html index 778dd260a5..22217f2b13 100644 --- a/index.html +++ b/index.html @@ -4,12 +4,10 @@ Mocha - the fun, simple, flexible JavaScript test framework - - @@ -167,6 +165,14 @@

    -R, —reporter <name>

    The --reporter option allows you to specify the reporter that will be used, defaulting to “dot”.

    +

    -t, —timeout <ms>

    + +

    Specifies the test-case timeout, defaulting to 2 seconds. To override you may pass the timeout in milliseconds, or a value with the s suffix, ex: --timeout 2s or --timeout 2000 would be equivalent.

    + +

    -s, —slow <ms>

    + +

    Specify the “slow” test threshold, defaulting to 75ms. Mocha uses this to highlight test-cases that are taking too long.

    +

    -g, —grep <pattern>

    The --grep option when specified will trigger mocha to only run tests matching the given pattern which is internally compiled to a RegExp.

    diff --git a/index.md b/index.md index 01d0c332c3..5aa6c9d665 100644 --- a/index.md +++ b/index.md @@ -139,6 +139,14 @@ Testing asynchronous code with Mocha could not be simpler! Simply invoke the cal ### -R, --reporter <name> The `--reporter` option allows you to specify the reporter that will be used, defaulting to "dot". + +### -t, --timeout <ms> + + Specifies the test-case timeout, defaulting to 2 seconds. To override you may pass the timeout in milliseconds, or a value with the `s` suffix, ex: `--timeout 2s` or `--timeout 2000` would be equivalent. + +### -s, --slow <ms> + + Specify the "slow" test threshold, defaulting to 75ms. Mocha uses this to highlight test-cases that are taking too long. ### -g, --grep <pattern> From cdfd33984fea294e3c51a96fe0fcbfd88f70caad Mon Sep 17 00:00:00 2001 From: Tj Holowaychuk Date: Tue, 22 Nov 2011 08:07:57 -0800 Subject: [PATCH 032/272] actually fixed --- head.html | 8 +++++--- index.html | 8 +++++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/head.html b/head.html index c86940cc28..d7af1bc520 100644 --- a/head.html +++ b/head.html @@ -4,10 +4,12 @@ Mocha - the fun, simple, flexible JavaScript test framework + + diff --git a/index.html b/index.html index 22217f2b13..db7a5c41ec 100644 --- a/index.html +++ b/index.html @@ -4,10 +4,12 @@ Mocha - the fun, simple, flexible JavaScript test framework + + From fdc2b05c2b287ea18a3e67a65a938130a414693b Mon Sep 17 00:00:00 2001 From: Tj Holowaychuk Date: Tue, 22 Nov 2011 18:01:00 -0800 Subject: [PATCH 033/272] add link to mocha tests --- index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/index.md b/index.md index 5aa6c9d665..afa405ed4a 100644 --- a/index.md +++ b/index.md @@ -415,6 +415,7 @@ Instead of reporting these as distinct suites, they are merged, yielding the fol - [Connect](https://github.com/senchalabs/connect/tree/master/test) - [SuperAgent](https://github.com/visionmedia/superagent/tree/master/test/node) - [WebSocket.io](https://github.com/LearnBoost/websocket.io/tree/master/test) + - [Mocha](https://github.com/visionmedia/mocha/tree/master/test) ## Running mocha's tests From 65816c893263a0e9555df0094d52e70f847f8c1c Mon Sep 17 00:00:00 2001 From: Tj Holowaychuk Date: Wed, 23 Nov 2011 17:01:32 -0800 Subject: [PATCH 034/272] coffee --- index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/index.md b/index.md index afa405ed4a..7aea9adbcf 100644 --- a/index.md +++ b/index.md @@ -23,6 +23,7 @@ Mocha is a feature-rich JavaScript test framework running on [node](http://nodej - extensible reporting, bundled with 9+ reporters - extensible test DSLs or "interfaces" - before, after, before each, after each hooks + - coffee-script support - TextMate bundle - and more! From 8f38bd140b9448def66ceec2ac2523fd29cf1dc7 Mon Sep 17 00:00:00 2001 From: Tj Holowaychuk Date: Wed, 23 Nov 2011 17:02:19 -0800 Subject: [PATCH 035/272] cli --- index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/index.md b/index.md index 7aea9adbcf..0650d42b37 100644 --- a/index.md +++ b/index.md @@ -127,6 +127,7 @@ Testing asynchronous code with Mocha could not be simpler! Simply invoke the cal -g, --grep only run tests matching -t, --timeout set test-case timeout in milliseconds [2000] -s, --slow "slow" test threshold in milliseconds [75] + -C, --no-colors force disabling of colors -G, --growl enable growl support ### -r, --require <name> From 5c1269ddfb7661993c5d20a259118a796c50456f Mon Sep 17 00:00:00 2001 From: Tj Holowaychuk Date: Wed, 23 Nov 2011 17:14:09 -0800 Subject: [PATCH 036/272] more images --- images/reporter-progress.png | Bin 0 -> 19996 bytes images/reporter-spec-duration.png | Bin 0 -> 22976 bytes images/reporter-tap.png | Bin 0 -> 23027 bytes index.html | 11 ++++++++++- index.md | 10 ++++++++-- 5 files changed, 18 insertions(+), 3 deletions(-) create mode 100644 images/reporter-progress.png create mode 100644 images/reporter-spec-duration.png create mode 100644 images/reporter-tap.png diff --git a/images/reporter-progress.png b/images/reporter-progress.png new file mode 100644 index 0000000000000000000000000000000000000000..d23ba3654285b72cb34013347808d87849ed3687 GIT binary patch literal 19996 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 literal 0 HcmV?d00001 diff --git a/images/reporter-spec-duration.png b/images/reporter-spec-duration.png new file mode 100644 index 0000000000000000000000000000000000000000..d8a59acf897ca0551d023119708e9d7c1be5e1d8 GIT binary patch literal 22976 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 lr|1SUl literal 0 HcmV?d00001 diff --git a/index.html b/index.html index db7a5c41ec..46018ad8fc 100644 --- a/index.html +++ b/index.html @@ -41,6 +41,7 @@

    Features

  • extensible reporting, bundled with 9+ reporters
  • extensible test DSLs or “interfaces”
  • before, after, before each, after each hooks
  • +
  • coffee-script support
  • TextMate bundle
  • and more!
  • @@ -152,6 +153,7 @@

    mocha(1)

    -g, --grep <pattern> only run tests matching <pattern> -t, --timeout <ms> set test-case timeout in milliseconds [2000] -s, --slow <ms> "slow" test threshold in milliseconds [75] + -C, --no-colors force disabling of colors -G, --growl enable growl support
    @@ -274,7 +276,7 @@

    TAP

    The TAP reporter emits lines for a Test-Anything-Protocol consumer.

    -

    test anything protocol

    +

    test anything protocol

    Landing Strip

    @@ -292,6 +294,12 @@

    List

    list reporter

    +

    Progress

    + +

    The progress reporter implements a simple progress-bar:

    + +

    progress bar

    +

    JSON

    The JSON reporter outputs a single large JSON object when @@ -455,6 +463,7 @@

    Example test suites

  • Connect
  • SuperAgent
  • WebSocket.io
  • +
  • Mocha
  • diff --git a/index.md b/index.md index 0650d42b37..f8c73e0424 100644 --- a/index.md +++ b/index.md @@ -245,7 +245,7 @@ Testing asynchronous code with Mocha could not be simpler! Simply invoke the cal The TAP reporter emits lines for a [Test-Anything-Protocol](http://en.wikipedia.org/wiki/Test_Anything_Protocol) consumer. - ![test anything protocol](http://f.cl.ly/items/2O0X3h0d1Q430O1t1T3p/Screenshot.png) + ![test anything protocol](images/reporter-tap.png) ### Landing Strip @@ -262,7 +262,13 @@ Testing asynchronous code with Mocha could not be simpler! Simply invoke the cal the bottom of the output. ![list reporter](images/reporter-list.png) - + +### Progress + + The progress reporter implements a simple progress-bar: + + ![progress bar](images/reporter-progress.png) + ### JSON The JSON reporter outputs a single large JSON object when From c33d473a2826d1e691c0fe1c0294f91ebec60a2b Mon Sep 17 00:00:00 2001 From: Tj Holowaychuk Date: Wed, 23 Nov 2011 17:16:27 -0800 Subject: [PATCH 037/272] spec --- index.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/index.md b/index.md index f8c73e0424..9463114802 100644 --- a/index.md +++ b/index.md @@ -235,12 +235,20 @@ Testing asynchronous code with Mocha could not be simpler! Simply invoke the cal ### Dot Matrix - The Dot Matrix reporter is simply a series of dots + The "dot" matrix reporter is simply a series of dots that represent test cases, failures highlight in red, pending in blue, slow as yellow. ![dot matrix reporter](images/reporter-dot.png) +### Spec + + The "spec" reporter outputs a hierarchical view + nested just as the test cases are. + + ![spec reporter](images/reporter-spec.png) + ![spec reporter with failure](images/reporter-spec-fail.png) + ### TAP The TAP reporter emits lines for a [Test-Anything-Protocol](http://en.wikipedia.org/wiki/Test_Anything_Protocol) consumer. From 2c9845064a3605c73c3050914c998b88c7430f13 Mon Sep 17 00:00:00 2001 From: Tj Holowaychuk Date: Wed, 23 Nov 2011 17:17:39 -0800 Subject: [PATCH 038/272] durations --- index.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/index.md b/index.md index 9463114802..46bd5f6743 100644 --- a/index.md +++ b/index.md @@ -113,6 +113,14 @@ Testing asynchronous code with Mocha could not be simpler! Simply invoke the cal }) }) +## Test duration + + Most of the reporters support some form of displaying + test duration, as well as flagging tests that are slow, + as shown here with the "spec" reporter: + + ![test duration](images/reporter-spec-duration.js) + ## mocha(1) Usage: mocha [options] [files] From ec298374b39fd4c8e3dac9d2683cae4d463c60eb Mon Sep 17 00:00:00 2001 From: Tj Holowaychuk Date: Wed, 23 Nov 2011 17:18:13 -0800 Subject: [PATCH 039/272] gen --- index.html | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/index.html b/index.html index 46018ad8fc..f878827ae8 100644 --- a/index.html +++ b/index.html @@ -139,6 +139,14 @@

    Pending tests

    })
    +

    Test duration

    + +

    Most of the reporters support some form of displaying + test duration, as well as flagging tests that are slow, + as shown here with the “spec” reporter:

    + +

    test duration

    +

    mocha(1)

    Usage: mocha [options] [files]
    @@ -266,12 +274,20 @@ 

    Reporters

    Dot Matrix

    -

    The Dot Matrix reporter is simply a series of dots +

    The “dot” matrix reporter is simply a series of dots that represent test cases, failures highlight in red, pending in blue, slow as yellow.

    dot matrix reporter

    +

    Spec

    + +

    The “spec” reporter outputs a hierarchical view + nested just as the test cases are.

    + +

    spec reporter + spec reporter with failure

    +

    TAP

    The TAP reporter emits lines for a Test-Anything-Protocol consumer.

    From 3001a0fcc8d392eb81127e3e62eb1b990919cfff Mon Sep 17 00:00:00 2001 From: Tj Holowaychuk Date: Wed, 23 Nov 2011 17:22:39 -0800 Subject: [PATCH 040/272] typo --- index.html | 2 +- index.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/index.html b/index.html index f878827ae8..25c220ce21 100644 --- a/index.html +++ b/index.html @@ -210,7 +210,7 @@

    mocha-debug(1)

    Interfaces

    -

    Mocha “interface” system allows developers to choose their style of DSL. Shipping with BDD, TDD, and export flavoured interfaces.

    +

    Mocha “interface” system allows developers to choose their style of DSL. Shipping with BDD, TDD, and exports flavoured interfaces.

    BDD

    diff --git a/index.md b/index.md index 46bd5f6743..bd714c685d 100644 --- a/index.md +++ b/index.md @@ -182,7 +182,7 @@ Testing asynchronous code with Mocha could not be simpler! Simply invoke the cal ## Interfaces - Mocha "interface" system allows developers to choose their style of DSL. Shipping with __BDD__, __TDD__, and __export__ flavoured interfaces. + Mocha "interface" system allows developers to choose their style of DSL. Shipping with __BDD__, __TDD__, and __exports__ flavoured interfaces. ### BDD From d05ca94f235b5ae228416713bb5a8d26b35f8586 Mon Sep 17 00:00:00 2001 From: Tj Holowaychuk Date: Mon, 28 Nov 2011 09:49:38 -0800 Subject: [PATCH 041/272] typo --- index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.md b/index.md index bd714c685d..eaf64d3023 100644 --- a/index.md +++ b/index.md @@ -119,7 +119,7 @@ Testing asynchronous code with Mocha could not be simpler! Simply invoke the cal test duration, as well as flagging tests that are slow, as shown here with the "spec" reporter: - ![test duration](images/reporter-spec-duration.js) + ![test duration](images/reporter-spec-duration.png) ## mocha(1) From a0fd26a73850737c1ae3b23db35cc6055be0b323 Mon Sep 17 00:00:00 2001 From: Tj Holowaychuk Date: Mon, 28 Nov 2011 09:49:45 -0800 Subject: [PATCH 042/272] udpated --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 25c220ce21..ad1225330c 100644 --- a/index.html +++ b/index.html @@ -145,7 +145,7 @@

    Test duration

    test duration, as well as flagging tests that are slow, as shown here with the “spec” reporter:

    -

    test duration

    +

    test duration

    mocha(1)

    From 2fa3288e4f4443adaa1c612ffbbc04a38bf80511 Mon Sep 17 00:00:00 2001 From: TJ Holowaychuk Date: Sun, 4 Dec 2011 09:10:53 -0800 Subject: [PATCH 043/272] updated cli help --- index.md | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/index.md b/index.md index 5aa6c9d665..27a2c6dad9 100644 --- a/index.md +++ b/index.md @@ -114,10 +114,11 @@ Testing asynchronous code with Mocha could not be simpler! Simply invoke the cal ## mocha(1) - Usage: mocha [options] [files] + Usage: mocha [options] [files] + Options: - + -h, --help output usage information -V, --version output the version number -r, --require require the given module @@ -126,7 +127,14 @@ Testing asynchronous code with Mocha could not be simpler! Simply invoke the cal -g, --grep only run tests matching -t, --timeout set test-case timeout in milliseconds [2000] -s, --slow "slow" test threshold in milliseconds [75] - -G, --growl enable growl support + -w, --watch watch test files for changes + -C, --no-colors force disabling of colors + -c, --colors force enabling of colors + -G, --growl enable growl notification support + --globals allow the given comma-delimited global [names] + --ignore-leaks ignore global variable leaks + --interfaces display available interfaces + --reporters display available reporters ### -r, --require <name> From 210e6e71704684ded6d1482c0dcefba66c80dba8 Mon Sep 17 00:00:00 2001 From: TJ Holowaychuk Date: Sun, 4 Dec 2011 09:13:40 -0800 Subject: [PATCH 044/272] globals --- index.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/index.md b/index.md index 27a2c6dad9..c518d3781c 100644 --- a/index.md +++ b/index.md @@ -136,6 +136,14 @@ Testing asynchronous code with Mocha could not be simpler! Simply invoke the cal --interfaces display available interfaces --reporters display available reporters +### --globals <names> + + Accepts a comma-delimited list of accepted global variable names. For example suppose your app deliberately exposes a global named `app` and `YUI`, you may want to add `--globals app,YUI`. + +### --ignore-leaks + + By default Mocha will fail when global variables are introduced, you may use `--globals` to specify a few, or use `--ignore-leaks` to disable this functionality. + ### -r, --require <name> The `--require` option is useful for libraries such as [should.js](http://github.com/visionmedia/should.js), so you may simply `--require should` instead of manually invoking `require('should')` within each test file. From 30671352e6317f3ab99cf9df7d5d4c328e91cc68 Mon Sep 17 00:00:00 2001 From: TJ Holowaychuk Date: Sun, 4 Dec 2011 09:18:19 -0800 Subject: [PATCH 045/272] misc --- index.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/index.md b/index.md index c518d3781c..5a6d5c1b06 100644 --- a/index.md +++ b/index.md @@ -136,6 +136,10 @@ Testing asynchronous code with Mocha could not be simpler! Simply invoke the cal --interfaces display available interfaces --reporters display available reporters +### -w, --watch + + Executes tests on changes to the test files. + ### --globals <names> Accepts a comma-delimited list of accepted global variable names. For example suppose your app deliberately exposes a global named `app` and `YUI`, you may want to add `--globals app,YUI`. From ed36bd335b2e3fc6733c290a9f0499602f17e299 Mon Sep 17 00:00:00 2001 From: TJ Holowaychuk Date: Sun, 4 Dec 2011 09:18:47 -0800 Subject: [PATCH 046/272] misc --- index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/index.md b/index.md index 5a6d5c1b06..0eab976fc3 100644 --- a/index.md +++ b/index.md @@ -12,6 +12,7 @@ Mocha is a feature-rich JavaScript test framework running on [node](http://nodej - growl notification support - reports test durations - highlights slow tests + - file watcher support - global variable leak detection - optionally run tests that match a regexp - auto-exit to prevent "hanging" with an active loop From 6b150042f3051fe6b599c90c6cd1b37d17b46c25 Mon Sep 17 00:00:00 2001 From: TJ Holowaychuk Date: Sun, 4 Dec 2011 09:19:29 -0800 Subject: [PATCH 047/272] grep --- index.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/index.md b/index.md index 0eab976fc3..1663c7e852 100644 --- a/index.md +++ b/index.md @@ -350,6 +350,10 @@ Testing asynchronous code with Mocha could not be simpler! Simply invoke the cal +### grep + + The client-side may utilize `--grep` as well, however you use the query-string, for example `?grep=api`. + ## mocha.opts Mocha will attempt to load `./test/mocha.opts`, these are concatenated with `process.argv`, though command-line args will take precedence. For example suppose you have the following _mocha.opts_ file: From 82765058ff574c4bc673fb70f0c85ebacfda856e Mon Sep 17 00:00:00 2001 From: TJ Holowaychuk Date: Sun, 4 Dec 2011 09:20:45 -0800 Subject: [PATCH 048/272] build --- index.html | 179 ++++++++++++++++++++++++++++++----------------------- 1 file changed, 100 insertions(+), 79 deletions(-) diff --git a/index.html b/index.html index ad1225330c..3cc9248086 100644 --- a/index.html +++ b/index.html @@ -30,37 +30,37 @@

    Features

  • growl notification support
  • reports test durations
  • highlights slow tests
  • +
  • file watcher support
  • global variable leak detection
  • optionally run tests that match a regexp
  • -
  • auto-exit to prevent “hanging” with an active loop
  • +
  • auto-exit to prevent "hanging" with an active loop
  • easily meta-generate suites & test-cases
  • mocha.opts file support
  • mocha-debug(1) for node debugger support
  • detects multiple calls to done()
  • use any assertion library you want
  • extensible reporting, bundled with 9+ reporters
  • -
  • extensible test DSLs or “interfaces”
  • +
  • extensible test DSLs or "interfaces"
  • before, after, before each, after each hooks
  • coffee-script support
  • TextMate bundle
  • and more!
  • -

    Installation

    -

    Install with npm:

    +

    Install with npm:

    $ npm install -g mocha
     

    Assertions

    -

    Mocha allows you to use any assertion library you want, if it throws an error, it will work! This means you can utilize libraries such as should.js, node’s regular assert module, or others.

    +

    Mocha allows you to use any assertion library you want, if it throws an error, it will work! This means you can utilize libraries such as should.js, node's regular assert module, or others.

    Synchronous code

    -

    When testing synchronous code, omit the callback and Mocha will automatically continue on to the next test.

    +

    When testing synchronous code, omit the callback and Mocha will automatically continue on to the next test.

    describe('Array', function(){
       describe('#indexOf()', function(){
    @@ -89,7 +89,7 @@ 

    Asynchronous code

    })
    -

    To make things even easier, the done() callback accepts an error, so we may use this directly:

    +

    To make things even easier, the done() callback accepts an error, so we may use this directly:

    describe('User', function(){
       describe('#save()', function(){
    @@ -101,7 +101,7 @@ 

    Asynchronous code

    })
    -

    All “hooks”, that is before(), after(), beforeEach(), afterEach() may be sync or async as well, behaving much like a regular test-case. For example you may wish to populate database with dummy content before each test:

    +

    All "hooks", that is before(), after(), beforeEach(), afterEach() may be sync or async as well, behaving much like a regular test-case. For example you may wish to populate database with dummy content before each test:

    describe('Connection', function(){
       var db = new Connection
    @@ -130,7 +130,7 @@ 

    Asynchronous code

    Pending tests

    -

    Pending test-cases are simply those without a callback:

    +

    Pending test-cases are simply those without a callback:

    describe('Array', function(){
       describe('#indexOf()', function(){
    @@ -141,11 +141,11 @@ 

    Pending tests

    Test duration

    -

    Most of the reporters support some form of displaying +

    Most of the reporters support some form of displaying test duration, as well as flagging tests that are slow, - as shown here with the “spec” reporter:

    + as shown here with the "spec" reporter:

    -

    test duration

    +

    test duration

    mocha(1)

    @@ -161,35 +161,53 @@

    mocha(1)

    -g, --grep <pattern> only run tests matching <pattern> -t, --timeout <ms> set test-case timeout in milliseconds [2000] -s, --slow <ms> "slow" test threshold in milliseconds [75] + -w, --watch watch test files for changes -C, --no-colors force disabling of colors - -G, --growl enable growl support + -c, --colors force enabling of colors + -G, --growl enable growl notification support + --globals <names> allow the given comma-delimited global [names] + --ignore-leaks ignore global variable leaks + --interfaces display available interfaces + --reporters display available reporters
    -

    -r, —require <name>

    +

    -w, --watch

    + +

    Executes tests on changes to the test files.

    + +

    --globals <names>

    + +

    Accepts a comma-delimited list of accepted global variable names. For example suppose your app deliberately exposes a global named app and YUI, you may want to add --globals app,YUI.

    + +

    --ignore-leaks

    -

    The --require option is useful for libraries such as should.js, so you may simply --require should instead of manually invoking require('should') within each test file.

    +

    By default Mocha will fail when global variables are introduced, you may use --globals to specify a few, or use --ignore-leaks to disable this functionality.

    -

    -u, —ui <name>

    +

    -r, --require <name>

    -

    The --ui option lets you specify the interface to use, defaulting to “bdd”.

    +

    The --require option is useful for libraries such as should.js, so you may simply --require should instead of manually invoking require('should') within each test file.

    -

    -R, —reporter <name>

    +

    -u, --ui <name>

    -

    The --reporter option allows you to specify the reporter that will be used, defaulting to “dot”.

    +

    The --ui option lets you specify the interface to use, defaulting to "bdd".

    -

    -t, —timeout <ms>

    +

    -R, --reporter <name>

    -

    Specifies the test-case timeout, defaulting to 2 seconds. To override you may pass the timeout in milliseconds, or a value with the s suffix, ex: --timeout 2s or --timeout 2000 would be equivalent.

    +

    The --reporter option allows you to specify the reporter that will be used, defaulting to "dot".

    -

    -s, —slow <ms>

    +

    -t, --timeout <ms>

    -

    Specify the “slow” test threshold, defaulting to 75ms. Mocha uses this to highlight test-cases that are taking too long.

    +

    Specifies the test-case timeout, defaulting to 2 seconds. To override you may pass the timeout in milliseconds, or a value with the s suffix, ex: --timeout 2s or --timeout 2000 would be equivalent.

    -

    -g, —grep <pattern>

    +

    -s, --slow <ms>

    -

    The --grep option when specified will trigger mocha to only run tests matching the given pattern which is internally compiled to a RegExp.

    +

    Specify the "slow" test threshold, defaulting to 75ms. Mocha uses this to highlight test-cases that are taking too long.

    -

    Suppose for example you have “api” related tests, as well as “app” related tests, as shown in the following snippet; One could use --grep api or --grep app to run one or the other. The same goes for any other part of a suite or test-case title, --grep users would be valid as well, or even --grep GET.

    +

    -g, --grep <pattern>

    + +

    The --grep option when specified will trigger mocha to only run tests matching the given pattern which is internally compiled to a RegExp.

    + +

    Suppose for example you have "api" related tests, as well as "app" related tests, as shown in the following snippet; One could use --grep api or --grep app to run one or the other. The same goes for any other part of a suite or test-case title, --grep users would be valid as well, or even --grep GET.

    describe('api', function(){
       describe('GET /api/users', function(){
    @@ -206,15 +224,15 @@ 

    -g, —grep <pattern>

    mocha-debug(1)

    -

    mocha-debug(1) is identical to mocha(1), however it enables node’s debugger so you may step through tests with the debugger statement.

    +

    mocha-debug(1) is identical to mocha(1), however it enables node's debugger so you may step through tests with the debugger statement.

    Interfaces

    -

    Mocha “interface” system allows developers to choose their style of DSL. Shipping with BDD, TDD, and exports flavoured interfaces.

    +

    Mocha "interface" system allows developers to choose their style of DSL. Shipping with BDD, TDD, and exports flavoured interfaces.

    BDD

    -

    The “BDD” interface provides describe(), it(), before(), after(), beforeEach(), and afterEach():

    +

    The "BDD" interface provides describe(), it(), before(), after(), beforeEach(), and afterEach():

    describe('Array', function(){
       before(function(){
    @@ -231,7 +249,7 @@ 

    BDD

    TDD

    -

    The “TDD” interface provides suite(), test(), setup(), and teardown().

    +

    The "TDD" interface provides suite(), test(), setup(), and teardown().

    suite('Array', function(){
       setup(function(){
    @@ -248,7 +266,7 @@ 

    TDD

    Exports

    -

    The “exports” interface is much like Mocha’s predecessor expresso. The keys before, after, beforeEach, and afterEach are special-cased, object values +

    The "exports" interface is much like Mocha's predecessor expresso. The keys before, after, beforeEach, and afterEach are special-cased, object values are suites, and function values are test-cases.

    module.exports = {
    @@ -268,76 +286,76 @@ 

    Exports

    Reporters

    -

    Mocha reporters adjust to the terminal window, +

    Mocha reporters adjust to the terminal window, and always disable ansi-escape colouring when the stdio streams are not associated with a tty.

    Dot Matrix

    -

    The “dot” matrix reporter is simply a series of dots +

    The "dot" matrix reporter is simply a series of dots that represent test cases, failures highlight in red, pending in blue, slow as yellow.

    -

    dot matrix reporter

    +

    dot matrix reporter

    Spec

    -

    The “spec” reporter outputs a hierarchical view +

    The "spec" reporter outputs a hierarchical view nested just as the test cases are.

    -

    spec reporter - spec reporter with failure

    +

    spec reporter + spec reporter with failure

    TAP

    -

    The TAP reporter emits lines for a Test-Anything-Protocol consumer.

    +

    The TAP reporter emits lines for a Test-Anything-Protocol consumer.

    -

    test anything protocol

    +

    test anything protocol

    Landing Strip

    -

    The Landing Strip reporter is a gimmicky test reporter simulating +

    The Landing Strip reporter is a gimmicky test reporter simulating a plane landing :) unicode ftw

    -

    landing strip plane reporter - landing strip with failure

    +

    landing strip plane reporter + landing strip with failure

    List

    -

    The “List” reporter outputs a simple specifications list as - test cases pass or fail, outputting the failure details at +

    The "List" reporter outputs a simple specifications list as + test cases pass or fail, outputting the failure details at the bottom of the output.

    -

    list reporter

    +

    list reporter

    Progress

    -

    The progress reporter implements a simple progress-bar:

    +

    The progress reporter implements a simple progress-bar:

    -

    progress bar

    +

    progress bar

    JSON

    -

    The JSON reporter outputs a single large JSON object when +

    The JSON reporter outputs a single large JSON object when the tests have completed (failures or not).

    -

    json reporter

    +

    json reporter

    JSON Stream

    -

    The JSON Stream reporter outputs newline-delimited JSON “events” as they occur, beginning with a “start” event, followed by test passes or failures, and then the final “end” event.

    +

    The JSON Stream reporter outputs newline-delimited JSON "events" as they occur, beginning with a "start" event, followed by test passes or failures, and then the final "end" event.

    -

    json stream reporter

    +

    json stream reporter

    Doc

    -

    The “doc” reporter outputs a hierarchical HTML body representation +

    The "doc" reporter outputs a hierarchical HTML body representation of your tests, wrap it with a header, footer, some styling and you have some fantastic documentation!

    -

    doc reporter

    +

    doc reporter

    -

    For example suppose you have the following JavaScript:

    +

    For example suppose you have the following JavaScript:

    describe('Array', function(){
       describe('#indexOf()', function(){
    @@ -349,7 +367,7 @@ 

    Doc

    })
    -

    The command mocha --reporter doc array would yield:

    +

    The command mocha --reporter doc array would yield:

    <section class="suite">
       <h1>Array</h1>
    @@ -368,14 +386,14 @@ 

    Doc

    HTML

    -

    The HTML reporter is currently the only browser reporter +

    The HTML reporter is currently the only browser reporter supported by Mocha, and it looks like this:

    -

    HTML test reporter

    +

    HTML test reporter

    Browser support

    -

    Mocha runs in the browser. Every release of Mocha will have new builds of ./mocha.js and ./mocha.css for use in the browser. To setup Mocha for browser use all you have to do is include the script, stylesheet, tell Mocha which interface you wish to use, and then run the tests. A typical setup might look something like the following, where we call mocha.setup('bdd') to use the BDD interface before loading the test scripts, running them onload with mocha.run().

    +

    Mocha runs in the browser. Every release of Mocha will have new builds of ./mocha.js and ./mocha.css for use in the browser. To setup Mocha for browser use all you have to do is include the script, stylesheet, tell Mocha which interface you wish to use, and then run the tests. A typical setup might look something like the following, where we call mocha.setup('bdd') to use the BDD interface before loading the test scripts, running them onload with mocha.run().

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js" type="text/javascript"></script>
     <link rel="stylesheet" href="style.css" />
    @@ -387,16 +405,20 @@ 

    Browser support

    <script>onload = mocha.run;</script>
    +

    grep

    + +

    The client-side may utilize --grep as well, however you use the query-string, for example ?grep=api.

    +

    mocha.opts

    -

    Mocha will attempt to load ./test/mocha.opts, these are concatenated with process.argv, though command-line args will take precedence. For example suppose you have the following mocha.opts file:

    +

    Mocha will attempt to load ./test/mocha.opts, these are concatenated with process.argv, though command-line args will take precedence. For example suppose you have the following mocha.opts file:

    --require should
     --reporter dot
     --ui bdd
     
    -

    This will default the reporter to dot, require the should library, +

    This will default the reporter to dot, require the should library, and use bdd as the interface. With this you may then invoke mocha(1) with additional arguments, here enabling growl support and changing the reporter to spec:

    @@ -406,7 +428,7 @@

    mocha.opts

    Suite merging

    -

    Suites with common names are “merged” in order +

    Suites with common names are "merged" in order to produce unified reporting, especially when meta-generating tests.

    @@ -433,20 +455,20 @@

    Suite merging

    })
    -

    Instead of reporting these as distinct suites, they are merged, yielding the following:

    +

    Instead of reporting these as distinct suites, they are merged, yielding the following:

    -

    mocha suite merging

    +

    mocha suite merging

    Best practices

    test/*

    -

    By default mocha(1) will use the pattern ./test/*.js, so - it’s usually a good place to put your tests.

    +

    By default mocha(1) will use the pattern ./test/*.js, so + it's usually a good place to put your tests.

    Makefiles

    -

    Be kind and don’t make developers hunt around in your docs to figure +

    Be kind and don't make developers hunt around in your docs to figure out how to run the tests, add a make test target to your Makefile:

     test:
    @@ -458,11 +480,11 @@ 

    Makefiles

    Editors

    -

    The following editor-related packages are available:

    +

    The following editor-related packages are available:

    TextMate bundle

    -

    The Mocha TextMate bundle includes snippets to +

    The Mocha TextMate bundle includes snippets to make writing tests quicker and more enjoyable. To install the bundle run:

    @@ -471,31 +493,30 @@

    TextMate bundle

    Example test suites

    -

    The following test suites are from real projects putting Mocha to use, +

    The following test suites are from real projects putting Mocha to use, so they serve as good examples:

    +

    Running mocha's tests

    -

    Running mocha’s tests

    - -

    Run the tests:

    +

    Run the tests:

       $ make test
     
    -

    Run all tests, including interfaces:

    +

    Run all tests, including interfaces:

       $ make test-all
     
    -

    Alter the reporter:

    +

    Alter the reporter:

       $ make test REPORTER=list
     
    From 4a112f3522b9b7aeb50dfca904a08a7f53f8cd71 Mon Sep 17 00:00:00 2001 From: Tj Holowaychuk Date: Fri, 9 Dec 2011 08:41:47 -0800 Subject: [PATCH 049/272] removed suite merging --- index.md | 32 -------------------------------- 1 file changed, 32 deletions(-) diff --git a/index.md b/index.md index 5ccd22f9fb..009b8bc350 100644 --- a/index.md +++ b/index.md @@ -392,38 +392,6 @@ Testing asynchronous code with Mocha could not be simpler! Simply invoke the cal $ mocha --reporter list --growl -## Suite merging - - Suites with common names are "merged" in order - to produce unified reporting, especially when - meta-generating tests. - - describe('merge', function(){ - describe('stuff', function(){ - describe('one', function(){ - it('should do something', function(){}) - }) - }) - }) - - describe('merge', function(){ - describe('stuff', function(){ - describe('two', function(){ - it('should do something', function(){}) - }) - }) - }) - - describe('merge stuff', function(){ - describe('three', function(){ - it('should do something', function(){}) - }) - }) - -Instead of reporting these as distinct suites, they are merged, yielding the following: - - ![mocha suite merging](http://f.cl.ly/items/380R3S1t1t0b0O2K250V/Screenshot.png) - ## Best practices ### test/* From 073328fc5cec7b1e069b947029506bdcb4f908be Mon Sep 17 00:00:00 2001 From: Tj Holowaychuk Date: Fri, 9 Dec 2011 08:46:37 -0800 Subject: [PATCH 050/272] update browser example --- index.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/index.md b/index.md index 009b8bc350..aa1a6bd269 100644 --- a/index.md +++ b/index.md @@ -371,7 +371,13 @@ Testing asynchronous code with Mocha could not be simpler! Simply invoke the cal - + ### grep From 58f029482a0f71bd933d2efc10902902711ae5c0 Mon Sep 17 00:00:00 2001 From: Tj Holowaychuk Date: Fri, 9 Dec 2011 08:47:16 -0800 Subject: [PATCH 051/272] misc --- index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/index.md b/index.md index aa1a6bd269..66e9235eec 100644 --- a/index.md +++ b/index.md @@ -365,8 +365,8 @@ Testing asynchronous code with Mocha could not be simpler! Simply invoke the cal Mocha runs in the browser. Every release of Mocha will have new builds of _./mocha.js_ and _./mocha.css_ for use in the browser. To setup Mocha for browser use all you have to do is include the script, stylesheet, tell Mocha which interface you wish to use, and then run the tests. A typical setup might look something like the following, where we call `mocha.setup('bdd')` to use the __BDD__ interface before loading the test scripts, running them `onload` with `mocha.run()`. - - + + From 654a1db1dff78d3ec2355f0aa02851377441f7e1 Mon Sep 17 00:00:00 2001 From: Tj Holowaychuk Date: Fri, 9 Dec 2011 08:47:50 -0800 Subject: [PATCH 052/272] hotlink --- index.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/index.md b/index.md index 66e9235eec..1948ae0ece 100644 --- a/index.md +++ b/index.md @@ -379,6 +379,8 @@ Testing asynchronous code with Mocha could not be simpler! Simply invoke the cal }; + Feel free to hot-link the [mocha.css](https://raw.github.com/visionmedia/mocha/master/mocha.css) and [mocha.js](https://raw.github.com/visionmedia/mocha/master/mocha.js) from GitHub. + ### grep The client-side may utilize `--grep` as well, however you use the query-string, for example `?grep=api`. From b8d4293e4d62edb77b273988934c41993ad3b2dc Mon Sep 17 00:00:00 2001 From: Tj Holowaychuk Date: Fri, 9 Dec 2011 08:47:54 -0800 Subject: [PATCH 053/272] build --- index.html | 209 ++++++++++++++++++++++++----------------------------- 1 file changed, 93 insertions(+), 116 deletions(-) diff --git a/index.html b/index.html index 3cc9248086..3f97985cde 100644 --- a/index.html +++ b/index.html @@ -33,34 +33,35 @@

    Features

  • file watcher support
  • global variable leak detection
  • optionally run tests that match a regexp
  • -
  • auto-exit to prevent "hanging" with an active loop
  • +
  • auto-exit to prevent “hanging” with an active loop
  • easily meta-generate suites & test-cases
  • mocha.opts file support
  • mocha-debug(1) for node debugger support
  • detects multiple calls to done()
  • use any assertion library you want
  • extensible reporting, bundled with 9+ reporters
  • -
  • extensible test DSLs or "interfaces"
  • +
  • extensible test DSLs or “interfaces”
  • before, after, before each, after each hooks
  • coffee-script support
  • TextMate bundle
  • and more!
  • +

    Installation

    -

    Install with npm:

    +

    Install with npm:

    $ npm install -g mocha
     

    Assertions

    -

    Mocha allows you to use any assertion library you want, if it throws an error, it will work! This means you can utilize libraries such as should.js, node's regular assert module, or others.

    +

    Mocha allows you to use any assertion library you want, if it throws an error, it will work! This means you can utilize libraries such as should.js, node’s regular assert module, or others.

    Synchronous code

    -

    When testing synchronous code, omit the callback and Mocha will automatically continue on to the next test.

    +

    When testing synchronous code, omit the callback and Mocha will automatically continue on to the next test.

    describe('Array', function(){
       describe('#indexOf()', function(){
    @@ -89,7 +90,7 @@ 

    Asynchronous code

    })
    -

    To make things even easier, the done() callback accepts an error, so we may use this directly:

    +

    To make things even easier, the done() callback accepts an error, so we may use this directly:

    describe('User', function(){
       describe('#save()', function(){
    @@ -101,7 +102,7 @@ 

    Asynchronous code

    })
    -

    All "hooks", that is before(), after(), beforeEach(), afterEach() may be sync or async as well, behaving much like a regular test-case. For example you may wish to populate database with dummy content before each test:

    +

    All “hooks”, that is before(), after(), beforeEach(), afterEach() may be sync or async as well, behaving much like a regular test-case. For example you may wish to populate database with dummy content before each test:

    describe('Connection', function(){
       var db = new Connection
    @@ -130,7 +131,7 @@ 

    Asynchronous code

    Pending tests

    -

    Pending test-cases are simply those without a callback:

    +

    Pending test-cases are simply those without a callback:

    describe('Array', function(){
       describe('#indexOf()', function(){
    @@ -141,11 +142,11 @@ 

    Pending tests

    Test duration

    -

    Most of the reporters support some form of displaying +

    Most of the reporters support some form of displaying test duration, as well as flagging tests that are slow, - as shown here with the "spec" reporter:

    + as shown here with the “spec” reporter:

    -

    test duration

    +

    test duration

    mocha(1)

    @@ -171,43 +172,43 @@

    mocha(1)

    --reporters display available reporters
    -

    -w, --watch

    +

    -w, —watch

    -

    Executes tests on changes to the test files.

    +

    Executes tests on changes to the test files.

    -

    --globals <names>

    +

    —globals <names>

    -

    Accepts a comma-delimited list of accepted global variable names. For example suppose your app deliberately exposes a global named app and YUI, you may want to add --globals app,YUI.

    +

    Accepts a comma-delimited list of accepted global variable names. For example suppose your app deliberately exposes a global named app and YUI, you may want to add --globals app,YUI.

    -

    --ignore-leaks

    +

    —ignore-leaks

    -

    By default Mocha will fail when global variables are introduced, you may use --globals to specify a few, or use --ignore-leaks to disable this functionality.

    +

    By default Mocha will fail when global variables are introduced, you may use --globals to specify a few, or use --ignore-leaks to disable this functionality.

    -

    -r, --require <name>

    +

    -r, —require <name>

    -

    The --require option is useful for libraries such as should.js, so you may simply --require should instead of manually invoking require('should') within each test file.

    +

    The --require option is useful for libraries such as should.js, so you may simply --require should instead of manually invoking require('should') within each test file.

    -

    -u, --ui <name>

    +

    -u, —ui <name>

    -

    The --ui option lets you specify the interface to use, defaulting to "bdd".

    +

    The --ui option lets you specify the interface to use, defaulting to “bdd”.

    -

    -R, --reporter <name>

    +

    -R, —reporter <name>

    -

    The --reporter option allows you to specify the reporter that will be used, defaulting to "dot".

    +

    The --reporter option allows you to specify the reporter that will be used, defaulting to “dot”.

    -

    -t, --timeout <ms>

    +

    -t, —timeout <ms>

    -

    Specifies the test-case timeout, defaulting to 2 seconds. To override you may pass the timeout in milliseconds, or a value with the s suffix, ex: --timeout 2s or --timeout 2000 would be equivalent.

    +

    Specifies the test-case timeout, defaulting to 2 seconds. To override you may pass the timeout in milliseconds, or a value with the s suffix, ex: --timeout 2s or --timeout 2000 would be equivalent.

    -

    -s, --slow <ms>

    +

    -s, —slow <ms>

    -

    Specify the "slow" test threshold, defaulting to 75ms. Mocha uses this to highlight test-cases that are taking too long.

    +

    Specify the “slow” test threshold, defaulting to 75ms. Mocha uses this to highlight test-cases that are taking too long.

    -

    -g, --grep <pattern>

    +

    -g, —grep <pattern>

    -

    The --grep option when specified will trigger mocha to only run tests matching the given pattern which is internally compiled to a RegExp.

    +

    The --grep option when specified will trigger mocha to only run tests matching the given pattern which is internally compiled to a RegExp.

    -

    Suppose for example you have "api" related tests, as well as "app" related tests, as shown in the following snippet; One could use --grep api or --grep app to run one or the other. The same goes for any other part of a suite or test-case title, --grep users would be valid as well, or even --grep GET.

    +

    Suppose for example you have “api” related tests, as well as “app” related tests, as shown in the following snippet; One could use --grep api or --grep app to run one or the other. The same goes for any other part of a suite or test-case title, --grep users would be valid as well, or even --grep GET.

    describe('api', function(){
       describe('GET /api/users', function(){
    @@ -224,15 +225,15 @@ 

    -g, --grep <pattern>

    mocha-debug(1)

    -

    mocha-debug(1) is identical to mocha(1), however it enables node's debugger so you may step through tests with the debugger statement.

    +

    mocha-debug(1) is identical to mocha(1), however it enables node’s debugger so you may step through tests with the debugger statement.

    Interfaces

    -

    Mocha "interface" system allows developers to choose their style of DSL. Shipping with BDD, TDD, and exports flavoured interfaces.

    +

    Mocha “interface” system allows developers to choose their style of DSL. Shipping with BDD, TDD, and exports flavoured interfaces.

    BDD

    -

    The "BDD" interface provides describe(), it(), before(), after(), beforeEach(), and afterEach():

    +

    The “BDD” interface provides describe(), it(), before(), after(), beforeEach(), and afterEach():

    describe('Array', function(){
       before(function(){
    @@ -249,7 +250,7 @@ 

    BDD

    TDD

    -

    The "TDD" interface provides suite(), test(), setup(), and teardown().

    +

    The “TDD” interface provides suite(), test(), setup(), and teardown().

    suite('Array', function(){
       setup(function(){
    @@ -266,7 +267,7 @@ 

    TDD

    Exports

    -

    The "exports" interface is much like Mocha's predecessor expresso. The keys before, after, beforeEach, and afterEach are special-cased, object values +

    The “exports” interface is much like Mocha’s predecessor expresso. The keys before, after, beforeEach, and afterEach are special-cased, object values are suites, and function values are test-cases.

    module.exports = {
    @@ -286,76 +287,76 @@ 

    Exports

    Reporters

    -

    Mocha reporters adjust to the terminal window, +

    Mocha reporters adjust to the terminal window, and always disable ansi-escape colouring when the stdio streams are not associated with a tty.

    Dot Matrix

    -

    The "dot" matrix reporter is simply a series of dots +

    The “dot” matrix reporter is simply a series of dots that represent test cases, failures highlight in red, pending in blue, slow as yellow.

    -

    dot matrix reporter

    +

    dot matrix reporter

    Spec

    -

    The "spec" reporter outputs a hierarchical view +

    The “spec” reporter outputs a hierarchical view nested just as the test cases are.

    -

    spec reporter - spec reporter with failure

    +

    spec reporter + spec reporter with failure

    TAP

    -

    The TAP reporter emits lines for a Test-Anything-Protocol consumer.

    +

    The TAP reporter emits lines for a Test-Anything-Protocol consumer.

    -

    test anything protocol

    +

    test anything protocol

    Landing Strip

    -

    The Landing Strip reporter is a gimmicky test reporter simulating +

    The Landing Strip reporter is a gimmicky test reporter simulating a plane landing :) unicode ftw

    -

    landing strip plane reporter - landing strip with failure

    +

    landing strip plane reporter + landing strip with failure

    List

    -

    The "List" reporter outputs a simple specifications list as - test cases pass or fail, outputting the failure details at +

    The “List” reporter outputs a simple specifications list as + test cases pass or fail, outputting the failure details at the bottom of the output.

    -

    list reporter

    +

    list reporter

    Progress

    -

    The progress reporter implements a simple progress-bar:

    +

    The progress reporter implements a simple progress-bar:

    -

    progress bar

    +

    progress bar

    JSON

    -

    The JSON reporter outputs a single large JSON object when +

    The JSON reporter outputs a single large JSON object when the tests have completed (failures or not).

    -

    json reporter

    +

    json reporter

    JSON Stream

    -

    The JSON Stream reporter outputs newline-delimited JSON "events" as they occur, beginning with a "start" event, followed by test passes or failures, and then the final "end" event.

    +

    The JSON Stream reporter outputs newline-delimited JSON “events” as they occur, beginning with a “start” event, followed by test passes or failures, and then the final “end” event.

    -

    json stream reporter

    +

    json stream reporter

    Doc

    -

    The "doc" reporter outputs a hierarchical HTML body representation +

    The “doc” reporter outputs a hierarchical HTML body representation of your tests, wrap it with a header, footer, some styling and you have some fantastic documentation!

    -

    doc reporter

    +

    doc reporter

    -

    For example suppose you have the following JavaScript:

    +

    For example suppose you have the following JavaScript:

    describe('Array', function(){
       describe('#indexOf()', function(){
    @@ -367,7 +368,7 @@ 

    Doc

    })
    -

    The command mocha --reporter doc array would yield:

    +

    The command mocha --reporter doc array would yield:

    <section class="suite">
       <h1>Array</h1>
    @@ -386,39 +387,47 @@ 

    Doc

    HTML

    -

    The HTML reporter is currently the only browser reporter +

    The HTML reporter is currently the only browser reporter supported by Mocha, and it looks like this:

    -

    HTML test reporter

    +

    HTML test reporter

    Browser support

    -

    Mocha runs in the browser. Every release of Mocha will have new builds of ./mocha.js and ./mocha.css for use in the browser. To setup Mocha for browser use all you have to do is include the script, stylesheet, tell Mocha which interface you wish to use, and then run the tests. A typical setup might look something like the following, where we call mocha.setup('bdd') to use the BDD interface before loading the test scripts, running them onload with mocha.run().

    +

    Mocha runs in the browser. Every release of Mocha will have new builds of ./mocha.js and ./mocha.css for use in the browser. To setup Mocha for browser use all you have to do is include the script, stylesheet, tell Mocha which interface you wish to use, and then run the tests. A typical setup might look something like the following, where we call mocha.setup('bdd') to use the BDD interface before loading the test scripts, running them onload with mocha.run().

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js" type="text/javascript"></script>
    -<link rel="stylesheet" href="style.css" />
    -<script src="../mocha.js"></script>
    +<link rel="stylesheet" href="mocha.css" />
    +<script src="mocha.js"></script>
     <script>mocha.setup('bdd')</script>
     <script src="test.array.js"></script>
     <script src="test.object.js"></script>
     <script src="test.xhr.js"></script>
    -<script>onload = mocha.run;</script>
    +<script>
    +  onload = function(){
    +    mocha
    +      .run()
    +      .globals(['foo', 'bar']) // acceptable globals 
    +  };
    +</script>
     
    +

    Feel free to hot-link the mocha.css and mocha.js from GitHub.

    +

    grep

    -

    The client-side may utilize --grep as well, however you use the query-string, for example ?grep=api.

    +

    The client-side may utilize --grep as well, however you use the query-string, for example ?grep=api.

    mocha.opts

    -

    Mocha will attempt to load ./test/mocha.opts, these are concatenated with process.argv, though command-line args will take precedence. For example suppose you have the following mocha.opts file:

    +

    Mocha will attempt to load ./test/mocha.opts, these are concatenated with process.argv, though command-line args will take precedence. For example suppose you have the following mocha.opts file:

    --require should
     --reporter dot
     --ui bdd
     
    -

    This will default the reporter to dot, require the should library, +

    This will default the reporter to dot, require the should library, and use bdd as the interface. With this you may then invoke mocha(1) with additional arguments, here enabling growl support and changing the reporter to spec:

    @@ -426,49 +435,16 @@

    mocha.opts

    $ mocha --reporter list --growl
     
    -

    Suite merging

    - -

    Suites with common names are "merged" in order - to produce unified reporting, especially when - meta-generating tests.

    - -
    describe('merge', function(){
    -  describe('stuff', function(){
    -    describe('one', function(){
    -      it('should do something', function(){})
    -    })
    -  })
    -})
    -
    -describe('merge', function(){
    -  describe('stuff', function(){
    -    describe('two', function(){
    -      it('should do something', function(){})
    -    })
    -  })
    -})
    -
    -describe('merge stuff', function(){
    -  describe('three', function(){
    -    it('should do something', function(){})
    -  })
    -})
    -
    - -

    Instead of reporting these as distinct suites, they are merged, yielding the following:

    - -

    mocha suite merging

    -

    Best practices

    test/*

    -

    By default mocha(1) will use the pattern ./test/*.js, so - it's usually a good place to put your tests.

    +

    By default mocha(1) will use the pattern ./test/*.js, so + it’s usually a good place to put your tests.

    Makefiles

    -

    Be kind and don't make developers hunt around in your docs to figure +

    Be kind and don’t make developers hunt around in your docs to figure out how to run the tests, add a make test target to your Makefile:

     test:
    @@ -480,11 +456,11 @@ 

    Makefiles

    Editors

    -

    The following editor-related packages are available:

    +

    The following editor-related packages are available:

    TextMate bundle

    -

    The Mocha TextMate bundle includes snippets to +

    The Mocha TextMate bundle includes snippets to make writing tests quicker and more enjoyable. To install the bundle run:

    @@ -493,30 +469,31 @@

    TextMate bundle

    Example test suites

    -

    The following test suites are from real projects putting Mocha to use, +

    The following test suites are from real projects putting Mocha to use, so they serve as good examples:

    -

    Running mocha's tests

    -

    Run the tests:

    +

    Running mocha’s tests

    + +

    Run the tests:

       $ make test
     
    -

    Run all tests, including interfaces:

    +

    Run all tests, including interfaces:

       $ make test-all
     
    -

    Alter the reporter:

    +

    Alter the reporter:

       $ make test REPORTER=list
     
    From 4017398acdd9f2adb0066870208c16b19875a077 Mon Sep 17 00:00:00 2001 From: Tj Holowaychuk Date: Wed, 14 Dec 2011 16:29:39 -0800 Subject: [PATCH 054/272] docs --- index.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/index.md b/index.md index 1948ae0ece..2d162b4cf7 100644 --- a/index.md +++ b/index.md @@ -9,6 +9,7 @@ Mocha is a feature-rich JavaScript test framework running on [node](http://nodej - auto-detects and disables coloring for non-ttys - maps uncaught exceptions to the correct test case - async test timeout support + - test-specific timeouts - growl notification support - reports test durations - highlights slow tests @@ -400,6 +401,15 @@ Testing asynchronous code with Mocha could not be simpler! Simply invoke the cal $ mocha --reporter list --growl +## Test specific timeouts + + To compliment the global `--timeout` option, you may also specific test-specific timeouts via `this.timeout()`, or disable the timeout all-together with `this.timeout(0)`. + + it('should take less than 500ms', function(done){ + this.timeout(500); + setTimeout(done, 300); + }) + ## Best practices ### test/* From e5b88f7da43dc3b2f8bd416c25429616a03bd73a Mon Sep 17 00:00:00 2001 From: Tj Holowaychuk Date: Wed, 14 Dec 2011 16:29:44 -0800 Subject: [PATCH 055/272] update --- index.html | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/index.html b/index.html index 3f97985cde..1a9940efa1 100644 --- a/index.html +++ b/index.html @@ -27,6 +27,7 @@

    Features

  • auto-detects and disables coloring for non-ttys
  • maps uncaught exceptions to the correct test case
  • async test timeout support
  • +
  • test-specific timeouts
  • growl notification support
  • reports test durations
  • highlights slow tests
  • @@ -435,6 +436,16 @@

    mocha.opts

    $ mocha --reporter list --growl
     
    +

    Test specific timeouts

    + +

    To compliment the global --timeout option, you may also specific test-specific timeouts via this.timeout(), or disable the timeout all-together with this.timeout(0).

    + +
    it('should take less than 500ms', function(done){
    +  this.timeout(500);
    +  setTimeout(done, 300);
    +})
    +
    +

    Best practices

    test/*

    From 5def8885b7b741c572b259117dd0fcb378abe007 Mon Sep 17 00:00:00 2001 From: Tj Holowaychuk Date: Thu, 15 Dec 2011 08:35:19 -0800 Subject: [PATCH 056/272] chai link --- index.html | 8 +++++++- index.md | 5 ++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/index.html b/index.html index 1a9940efa1..0f72dbfb42 100644 --- a/index.html +++ b/index.html @@ -58,7 +58,13 @@

    Installation

    Assertions

    -

    Mocha allows you to use any assertion library you want, if it throws an error, it will work! This means you can utilize libraries such as should.js, node’s regular assert module, or others.

    +

    Mocha allows you to use any assertion library you want, if it throws an error, it will work! This means you can utilize libraries such as should.js, node’s regular assert module, or others. The following is a list of known assertion libraries for node and/or the browser:

    + +
      +
    • should.js should style shown throughout these docs
    • +
    • chai expect(), assert() and should style assertions
    • +
    +

    Synchronous code

    diff --git a/index.md b/index.md index 2d162b4cf7..01315688ca 100644 --- a/index.md +++ b/index.md @@ -37,7 +37,10 @@ Mocha is a feature-rich JavaScript test framework running on [node](http://nodej ## Assertions -Mocha allows you to use any assertion library you want, if it throws an error, it will work! This means you can utilize libraries such as [should.js](http://github.com/visionmedia/should.js), node's regular `assert` module, or others. +Mocha allows you to use any assertion library you want, if it throws an error, it will work! This means you can utilize libraries such as [should.js](http://github.com/visionmedia/should.js), node's regular `assert` module, or others. The following is a list of known assertion libraries for node and/or the browser: + + - [should.js](http://github.com/visionmedia/should.js) should style shown throughout these docs + - [chai](https://github.com/logicalparadox/chai) expect(), assert() and should style assertions ## Synchronous code From 059a1c8bd84cf76008e8eb17b982875a7d204ec9 Mon Sep 17 00:00:00 2001 From: Tj Holowaychuk Date: Fri, 16 Dec 2011 08:25:22 -0800 Subject: [PATCH 057/272] link to new chai site --- index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.md b/index.md index 01315688ca..f7e8b07fc6 100644 --- a/index.md +++ b/index.md @@ -40,7 +40,7 @@ Mocha is a feature-rich JavaScript test framework running on [node](http://nodej Mocha allows you to use any assertion library you want, if it throws an error, it will work! This means you can utilize libraries such as [should.js](http://github.com/visionmedia/should.js), node's regular `assert` module, or others. The following is a list of known assertion libraries for node and/or the browser: - [should.js](http://github.com/visionmedia/should.js) should style shown throughout these docs - - [chai](https://github.com/logicalparadox/chai) expect(), assert() and should style assertions + - [chai](http://chaijs.com/) expect(), assert() and should style assertions ## Synchronous code From 160ce348c292334d04de739d91161db3c8a5a585 Mon Sep 17 00:00:00 2001 From: Tj Holowaychuk Date: Fri, 16 Dec 2011 08:25:25 -0800 Subject: [PATCH 058/272] compile --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 0f72dbfb42..2e0c30cae5 100644 --- a/index.html +++ b/index.html @@ -62,7 +62,7 @@

    Assertions

    • should.js should style shown throughout these docs
    • -
    • chai expect(), assert() and should style assertions
    • +
    • chai expect(), assert() and should style assertions
    From e4dc2dd6e2c0a7cb54c815649676dc6fd4e694c1 Mon Sep 17 00:00:00 2001 From: TJ Holowaychuk Date: Thu, 22 Dec 2011 05:53:55 -0800 Subject: [PATCH 059/272] docs for doc --- index.html | 177 ++++++++++++++++++++++++++++------------------------- index.md | 9 +++ 2 files changed, 101 insertions(+), 85 deletions(-) diff --git a/index.html b/index.html index 2e0c30cae5..efcfe413ce 100644 --- a/index.html +++ b/index.html @@ -34,41 +34,39 @@

    Features

  • file watcher support
  • global variable leak detection
  • optionally run tests that match a regexp
  • -
  • auto-exit to prevent “hanging” with an active loop
  • +
  • auto-exit to prevent "hanging" with an active loop
  • easily meta-generate suites & test-cases
  • mocha.opts file support
  • mocha-debug(1) for node debugger support
  • detects multiple calls to done()
  • use any assertion library you want
  • extensible reporting, bundled with 9+ reporters
  • -
  • extensible test DSLs or “interfaces”
  • +
  • extensible test DSLs or "interfaces"
  • before, after, before each, after each hooks
  • coffee-script support
  • TextMate bundle
  • and more!
  • -

    Installation

    -

    Install with npm:

    +

    Install with npm:

    $ npm install -g mocha
     

    Assertions

    -

    Mocha allows you to use any assertion library you want, if it throws an error, it will work! This means you can utilize libraries such as should.js, node’s regular assert module, or others. The following is a list of known assertion libraries for node and/or the browser:

    +

    Mocha allows you to use any assertion library you want, if it throws an error, it will work! This means you can utilize libraries such as should.js, node's regular assert module, or others. The following is a list of known assertion libraries for node and/or the browser:

    • should.js should style shown throughout these docs
    • chai expect(), assert() and should style assertions
    -

    Synchronous code

    -

    When testing synchronous code, omit the callback and Mocha will automatically continue on to the next test.

    +

    When testing synchronous code, omit the callback and Mocha will automatically continue on to the next test.

    describe('Array', function(){
       describe('#indexOf()', function(){
    @@ -97,7 +95,7 @@ 

    Asynchronous code

    })
    -

    To make things even easier, the done() callback accepts an error, so we may use this directly:

    +

    To make things even easier, the done() callback accepts an error, so we may use this directly:

    describe('User', function(){
       describe('#save()', function(){
    @@ -109,7 +107,7 @@ 

    Asynchronous code

    })
    -

    All “hooks”, that is before(), after(), beforeEach(), afterEach() may be sync or async as well, behaving much like a regular test-case. For example you may wish to populate database with dummy content before each test:

    +

    All "hooks", that is before(), after(), beforeEach(), afterEach() may be sync or async as well, behaving much like a regular test-case. For example you may wish to populate database with dummy content before each test:

    describe('Connection', function(){
       var db = new Connection
    @@ -138,7 +136,7 @@ 

    Asynchronous code

    Pending tests

    -

    Pending test-cases are simply those without a callback:

    +

    Pending test-cases are simply those without a callback:

    describe('Array', function(){
       describe('#indexOf()', function(){
    @@ -149,11 +147,11 @@ 

    Pending tests

    Test duration

    -

    Most of the reporters support some form of displaying +

    Most of the reporters support some form of displaying test duration, as well as flagging tests that are slow, - as shown here with the “spec” reporter:

    + as shown here with the "spec" reporter:

    -

    test duration

    +

    test duration

    mocha(1)

    @@ -179,43 +177,43 @@

    mocha(1)

    --reporters display available reporters
    -

    -w, —watch

    +

    -w, --watch

    -

    Executes tests on changes to the test files.

    +

    Executes tests on changes to the test files.

    -

    —globals <names>

    +

    --globals <names>

    -

    Accepts a comma-delimited list of accepted global variable names. For example suppose your app deliberately exposes a global named app and YUI, you may want to add --globals app,YUI.

    +

    Accepts a comma-delimited list of accepted global variable names. For example suppose your app deliberately exposes a global named app and YUI, you may want to add --globals app,YUI.

    -

    —ignore-leaks

    +

    --ignore-leaks

    -

    By default Mocha will fail when global variables are introduced, you may use --globals to specify a few, or use --ignore-leaks to disable this functionality.

    +

    By default Mocha will fail when global variables are introduced, you may use --globals to specify a few, or use --ignore-leaks to disable this functionality.

    -

    -r, —require <name>

    +

    -r, --require <name>

    -

    The --require option is useful for libraries such as should.js, so you may simply --require should instead of manually invoking require('should') within each test file.

    +

    The --require option is useful for libraries such as should.js, so you may simply --require should instead of manually invoking require('should') within each test file.

    -

    -u, —ui <name>

    +

    -u, --ui <name>

    -

    The --ui option lets you specify the interface to use, defaulting to “bdd”.

    +

    The --ui option lets you specify the interface to use, defaulting to "bdd".

    -

    -R, —reporter <name>

    +

    -R, --reporter <name>

    -

    The --reporter option allows you to specify the reporter that will be used, defaulting to “dot”.

    +

    The --reporter option allows you to specify the reporter that will be used, defaulting to "dot".

    -

    -t, —timeout <ms>

    +

    -t, --timeout <ms>

    -

    Specifies the test-case timeout, defaulting to 2 seconds. To override you may pass the timeout in milliseconds, or a value with the s suffix, ex: --timeout 2s or --timeout 2000 would be equivalent.

    +

    Specifies the test-case timeout, defaulting to 2 seconds. To override you may pass the timeout in milliseconds, or a value with the s suffix, ex: --timeout 2s or --timeout 2000 would be equivalent.

    -

    -s, —slow <ms>

    +

    -s, --slow <ms>

    -

    Specify the “slow” test threshold, defaulting to 75ms. Mocha uses this to highlight test-cases that are taking too long.

    +

    Specify the "slow" test threshold, defaulting to 75ms. Mocha uses this to highlight test-cases that are taking too long.

    -

    -g, —grep <pattern>

    +

    -g, --grep <pattern>

    -

    The --grep option when specified will trigger mocha to only run tests matching the given pattern which is internally compiled to a RegExp.

    +

    The --grep option when specified will trigger mocha to only run tests matching the given pattern which is internally compiled to a RegExp.

    -

    Suppose for example you have “api” related tests, as well as “app” related tests, as shown in the following snippet; One could use --grep api or --grep app to run one or the other. The same goes for any other part of a suite or test-case title, --grep users would be valid as well, or even --grep GET.

    +

    Suppose for example you have "api" related tests, as well as "app" related tests, as shown in the following snippet; One could use --grep api or --grep app to run one or the other. The same goes for any other part of a suite or test-case title, --grep users would be valid as well, or even --grep GET.

    describe('api', function(){
       describe('GET /api/users', function(){
    @@ -232,15 +230,15 @@ 

    -g, —grep <pattern>

    mocha-debug(1)

    -

    mocha-debug(1) is identical to mocha(1), however it enables node’s debugger so you may step through tests with the debugger statement.

    +

    mocha-debug(1) is identical to mocha(1), however it enables node's debugger so you may step through tests with the debugger statement.

    Interfaces

    -

    Mocha “interface” system allows developers to choose their style of DSL. Shipping with BDD, TDD, and exports flavoured interfaces.

    +

    Mocha "interface" system allows developers to choose their style of DSL. Shipping with BDD, TDD, and exports flavoured interfaces.

    BDD

    -

    The “BDD” interface provides describe(), it(), before(), after(), beforeEach(), and afterEach():

    +

    The "BDD" interface provides describe(), it(), before(), after(), beforeEach(), and afterEach():

    describe('Array', function(){
       before(function(){
    @@ -257,7 +255,7 @@ 

    BDD

    TDD

    -

    The “TDD” interface provides suite(), test(), setup(), and teardown().

    +

    The "TDD" interface provides suite(), test(), setup(), and teardown().

    suite('Array', function(){
       setup(function(){
    @@ -274,7 +272,7 @@ 

    TDD

    Exports

    -

    The “exports” interface is much like Mocha’s predecessor expresso. The keys before, after, beforeEach, and afterEach are special-cased, object values +

    The "exports" interface is much like Mocha's predecessor expresso. The keys before, after, beforeEach, and afterEach are special-cased, object values are suites, and function values are test-cases.

    module.exports = {
    @@ -294,76 +292,76 @@ 

    Exports

    Reporters

    -

    Mocha reporters adjust to the terminal window, +

    Mocha reporters adjust to the terminal window, and always disable ansi-escape colouring when the stdio streams are not associated with a tty.

    Dot Matrix

    -

    The “dot” matrix reporter is simply a series of dots +

    The "dot" matrix reporter is simply a series of dots that represent test cases, failures highlight in red, pending in blue, slow as yellow.

    -

    dot matrix reporter

    +

    dot matrix reporter

    Spec

    -

    The “spec” reporter outputs a hierarchical view +

    The "spec" reporter outputs a hierarchical view nested just as the test cases are.

    -

    spec reporter - spec reporter with failure

    +

    spec reporter + spec reporter with failure

    TAP

    -

    The TAP reporter emits lines for a Test-Anything-Protocol consumer.

    +

    The TAP reporter emits lines for a Test-Anything-Protocol consumer.

    -

    test anything protocol

    +

    test anything protocol

    Landing Strip

    -

    The Landing Strip reporter is a gimmicky test reporter simulating +

    The Landing Strip reporter is a gimmicky test reporter simulating a plane landing :) unicode ftw

    -

    landing strip plane reporter - landing strip with failure

    +

    landing strip plane reporter + landing strip with failure

    List

    -

    The “List” reporter outputs a simple specifications list as - test cases pass or fail, outputting the failure details at +

    The "List" reporter outputs a simple specifications list as + test cases pass or fail, outputting the failure details at the bottom of the output.

    -

    list reporter

    +

    list reporter

    Progress

    -

    The progress reporter implements a simple progress-bar:

    +

    The progress reporter implements a simple progress-bar:

    -

    progress bar

    +

    progress bar

    JSON

    -

    The JSON reporter outputs a single large JSON object when +

    The JSON reporter outputs a single large JSON object when the tests have completed (failures or not).

    -

    json reporter

    +

    json reporter

    JSON Stream

    -

    The JSON Stream reporter outputs newline-delimited JSON “events” as they occur, beginning with a “start” event, followed by test passes or failures, and then the final “end” event.

    +

    The JSON Stream reporter outputs newline-delimited JSON "events" as they occur, beginning with a "start" event, followed by test passes or failures, and then the final "end" event.

    -

    json stream reporter

    +

    json stream reporter

    Doc

    -

    The “doc” reporter outputs a hierarchical HTML body representation +

    The "doc" reporter outputs a hierarchical HTML body representation of your tests, wrap it with a header, footer, some styling and you have some fantastic documentation!

    -

    doc reporter

    +

    doc reporter

    -

    For example suppose you have the following JavaScript:

    +

    For example suppose you have the following JavaScript:

    describe('Array', function(){
       describe('#indexOf()', function(){
    @@ -375,7 +373,7 @@ 

    Doc

    })
    -

    The command mocha --reporter doc array would yield:

    +

    The command mocha --reporter doc array would yield:

    <section class="suite">
       <h1>Array</h1>
    @@ -392,16 +390,26 @@ 

    Doc

    </section>
    +

    The SuperAgent request library test documentation was generated with Mocha's doc reporter using this simple make target:

    + +
    test-docs:
    +    make test REPORTER=doc \
    +        | cat docs/head.html - docs/tail.html \
    +        > docs/test.html
    +
    + +

    View the entire Makefile for reference.

    +

    HTML

    -

    The HTML reporter is currently the only browser reporter +

    The HTML reporter is currently the only browser reporter supported by Mocha, and it looks like this:

    -

    HTML test reporter

    +

    HTML test reporter

    Browser support

    -

    Mocha runs in the browser. Every release of Mocha will have new builds of ./mocha.js and ./mocha.css for use in the browser. To setup Mocha for browser use all you have to do is include the script, stylesheet, tell Mocha which interface you wish to use, and then run the tests. A typical setup might look something like the following, where we call mocha.setup('bdd') to use the BDD interface before loading the test scripts, running them onload with mocha.run().

    +

    Mocha runs in the browser. Every release of Mocha will have new builds of ./mocha.js and ./mocha.css for use in the browser. To setup Mocha for browser use all you have to do is include the script, stylesheet, tell Mocha which interface you wish to use, and then run the tests. A typical setup might look something like the following, where we call mocha.setup('bdd') to use the BDD interface before loading the test scripts, running them onload with mocha.run().

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js" type="text/javascript"></script>
     <link rel="stylesheet" href="mocha.css" />
    @@ -419,22 +427,22 @@ 

    Browser support

    </script>
    -

    Feel free to hot-link the mocha.css and mocha.js from GitHub.

    +

    Feel free to hot-link the mocha.css and mocha.js from GitHub.

    grep

    -

    The client-side may utilize --grep as well, however you use the query-string, for example ?grep=api.

    +

    The client-side may utilize --grep as well, however you use the query-string, for example ?grep=api.

    mocha.opts

    -

    Mocha will attempt to load ./test/mocha.opts, these are concatenated with process.argv, though command-line args will take precedence. For example suppose you have the following mocha.opts file:

    +

    Mocha will attempt to load ./test/mocha.opts, these are concatenated with process.argv, though command-line args will take precedence. For example suppose you have the following mocha.opts file:

    --require should
     --reporter dot
     --ui bdd
     
    -

    This will default the reporter to dot, require the should library, +

    This will default the reporter to dot, require the should library, and use bdd as the interface. With this you may then invoke mocha(1) with additional arguments, here enabling growl support and changing the reporter to spec:

    @@ -444,7 +452,7 @@

    mocha.opts

    Test specific timeouts

    -

    To compliment the global --timeout option, you may also specific test-specific timeouts via this.timeout(), or disable the timeout all-together with this.timeout(0).

    +

    To compliment the global --timeout option, you may also specific test-specific timeouts via this.timeout(), or disable the timeout all-together with this.timeout(0).

    it('should take less than 500ms', function(done){
       this.timeout(500);
    @@ -456,12 +464,12 @@ 

    Best practices

    test/*

    -

    By default mocha(1) will use the pattern ./test/*.js, so - it’s usually a good place to put your tests.

    +

    By default mocha(1) will use the pattern ./test/*.js, so + it's usually a good place to put your tests.

    Makefiles

    -

    Be kind and don’t make developers hunt around in your docs to figure +

    Be kind and don't make developers hunt around in your docs to figure out how to run the tests, add a make test target to your Makefile:

     test:
    @@ -473,11 +481,11 @@ 

    Makefiles

    Editors

    -

    The following editor-related packages are available:

    +

    The following editor-related packages are available:

    TextMate bundle

    -

    The Mocha TextMate bundle includes snippets to +

    The Mocha TextMate bundle includes snippets to make writing tests quicker and more enjoyable. To install the bundle run:

    @@ -486,31 +494,30 @@

    TextMate bundle

    Example test suites

    -

    The following test suites are from real projects putting Mocha to use, +

    The following test suites are from real projects putting Mocha to use, so they serve as good examples:

    +

    Running mocha's tests

    -

    Running mocha’s tests

    - -

    Run the tests:

    +

    Run the tests:

       $ make test
     
    -

    Run all tests, including interfaces:

    +

    Run all tests, including interfaces:

       $ make test-all
     
    -

    Alter the reporter:

    +

    Alter the reporter:

       $ make test REPORTER=list
     
    diff --git a/index.md b/index.md index f7e8b07fc6..9e391e8726 100644 --- a/index.md +++ b/index.md @@ -357,6 +357,15 @@ Testing asynchronous code with Mocha could not be simpler! Simply invoke the cal + The SuperAgent request library [test documentation](http://visionmedia.github.com/superagent/docs/test.html) was generated with Mocha's doc reporter using this simple make target: + + test-docs: + make test REPORTER=doc \ + | cat docs/head.html - docs/tail.html \ + > docs/test.html + + View the entire [Makefile](https://github.com/visionmedia/superagent/blob/master/Makefile) for reference. + ### HTML The __HTML__ reporter is currently the only browser reporter From aa494a2b438862d5e7aca6d44e4d8fb6b00277b6 Mon Sep 17 00:00:00 2001 From: TJ Holowaychuk Date: Thu, 22 Dec 2011 07:18:46 -0800 Subject: [PATCH 060/272] debug docs --- index.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/index.md b/index.md index 9e391e8726..92a54105f9 100644 --- a/index.md +++ b/index.md @@ -19,7 +19,7 @@ Mocha is a feature-rich JavaScript test framework running on [node](http://nodej - auto-exit to prevent "hanging" with an active loop - easily meta-generate suites & test-cases - mocha.opts file support - - `mocha-debug(1)` for node debugger support + - node debugger support - detects multiple calls to `done()` - use any assertion library you want - extensible reporting, bundled with 9+ reporters @@ -128,11 +128,10 @@ Testing asynchronous code with Mocha could not be simpler! Simply invoke the cal ## mocha(1) - Usage: mocha [options] [files] - + Options: - + -h, --help output usage information -V, --version output the version number -r, --require require the given module @@ -145,6 +144,7 @@ Testing asynchronous code with Mocha could not be simpler! Simply invoke the cal -C, --no-colors force disabling of colors -c, --colors force enabling of colors -G, --growl enable growl notification support + -d, --debug enable node's debugger --globals allow the given comma-delimited global [names] --ignore-leaks ignore global variable leaks --interfaces display available interfaces @@ -154,6 +154,10 @@ Testing asynchronous code with Mocha could not be simpler! Simply invoke the cal Executes tests on changes to the test files. +### -d, --debug + + Enables node's debugger support, this executes your script(s) with `node debug ` allowing you to step through code and break with the __debugger__ statement. + ### --globals <names> Accepts a comma-delimited list of accepted global variable names. For example suppose your app deliberately exposes a global named `app` and `YUI`, you may want to add `--globals app,YUI`. @@ -200,10 +204,6 @@ Testing asynchronous code with Mocha could not be simpler! Simply invoke the cal }) }) -## mocha-debug(1) - - `mocha-debug(1)` is identical to `mocha(1)`, however it enables node's debugger so you may step through tests with the __debugger__ statement. - ## Interfaces Mocha "interface" system allows developers to choose their style of DSL. Shipping with __BDD__, __TDD__, and __exports__ flavoured interfaces. From 8b92dbc1c9675319efda5acac43f9f7aa0796ab0 Mon Sep 17 00:00:00 2001 From: TJ Holowaychuk Date: Thu, 22 Dec 2011 07:18:50 -0800 Subject: [PATCH 061/272] build --- index.html | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/index.html b/index.html index efcfe413ce..5778a6f2b2 100644 --- a/index.html +++ b/index.html @@ -37,7 +37,7 @@

    Features

  • auto-exit to prevent "hanging" with an active loop
  • easily meta-generate suites & test-cases
  • mocha.opts file support
  • -
  • mocha-debug(1) for node debugger support
  • +
  • node debugger support
  • detects multiple calls to done()
  • use any assertion library you want
  • extensible reporting, bundled with 9+ reporters
  • @@ -171,6 +171,7 @@

    mocha(1)

    -C, --no-colors force disabling of colors -c, --colors force enabling of colors -G, --growl enable growl notification support + -d, --debug enable node's debugger --globals <names> allow the given comma-delimited global [names] --ignore-leaks ignore global variable leaks --interfaces display available interfaces @@ -181,6 +182,10 @@

    -w, --watch

    Executes tests on changes to the test files.

    +

    -d, --debug

    + +

    Enables node's debugger support, this executes your script(s) with node debug <file ...> allowing you to step through code and break with the debugger statement.

    +

    --globals <names>

    Accepts a comma-delimited list of accepted global variable names. For example suppose your app deliberately exposes a global named app and YUI, you may want to add --globals app,YUI.

    @@ -228,10 +233,6 @@

    -g, --grep <pattern>

    })
    -

    mocha-debug(1)

    - -

    mocha-debug(1) is identical to mocha(1), however it enables node's debugger so you may step through tests with the debugger statement.

    -

    Interfaces

    Mocha "interface" system allows developers to choose their style of DSL. Shipping with BDD, TDD, and exports flavoured interfaces.

    From 77354a33ed8bf8bd19f37631eec8cb72480cc8bb Mon Sep 17 00:00:00 2001 From: Tj Holowaychuk Date: Tue, 3 Jan 2012 17:44:40 -0800 Subject: [PATCH 062/272] Added link to expect.js --- index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/index.md b/index.md index 92a54105f9..45b4682756 100644 --- a/index.md +++ b/index.md @@ -40,6 +40,7 @@ Mocha is a feature-rich JavaScript test framework running on [node](http://nodej Mocha allows you to use any assertion library you want, if it throws an error, it will work! This means you can utilize libraries such as [should.js](http://github.com/visionmedia/should.js), node's regular `assert` module, or others. The following is a list of known assertion libraries for node and/or the browser: - [should.js](http://github.com/visionmedia/should.js) should style shown throughout these docs + - [expect.js](https://github.com/LearnBoost/expect.js) expect()-style assertions - [chai](http://chaijs.com/) expect(), assert() and should style assertions ## Synchronous code From edd17d929b259f5048605ff0d6bd39934b52337a Mon Sep 17 00:00:00 2001 From: Tj Holowaychuk Date: Tue, 3 Jan 2012 17:46:24 -0800 Subject: [PATCH 063/272] build --- index.html | 174 +++++++++++++++++++++++++++-------------------------- 1 file changed, 89 insertions(+), 85 deletions(-) diff --git a/index.html b/index.html index 5778a6f2b2..deb6fec8e6 100644 --- a/index.html +++ b/index.html @@ -34,39 +34,42 @@

    Features

  • file watcher support
  • global variable leak detection
  • optionally run tests that match a regexp
  • -
  • auto-exit to prevent "hanging" with an active loop
  • +
  • auto-exit to prevent “hanging” with an active loop
  • easily meta-generate suites & test-cases
  • mocha.opts file support
  • node debugger support
  • detects multiple calls to done()
  • use any assertion library you want
  • extensible reporting, bundled with 9+ reporters
  • -
  • extensible test DSLs or "interfaces"
  • +
  • extensible test DSLs or “interfaces”
  • before, after, before each, after each hooks
  • coffee-script support
  • TextMate bundle
  • and more!
  • +

    Installation

    -

    Install with npm:

    +

    Install with npm:

    $ npm install -g mocha
     

    Assertions

    -

    Mocha allows you to use any assertion library you want, if it throws an error, it will work! This means you can utilize libraries such as should.js, node's regular assert module, or others. The following is a list of known assertion libraries for node and/or the browser:

    +

    Mocha allows you to use any assertion library you want, if it throws an error, it will work! This means you can utilize libraries such as should.js, node’s regular assert module, or others. The following is a list of known assertion libraries for node and/or the browser:

    • should.js should style shown throughout these docs
    • +
    • expect.js expect()-style assertions
    • chai expect(), assert() and should style assertions
    +

    Synchronous code

    -

    When testing synchronous code, omit the callback and Mocha will automatically continue on to the next test.

    +

    When testing synchronous code, omit the callback and Mocha will automatically continue on to the next test.

    describe('Array', function(){
       describe('#indexOf()', function(){
    @@ -95,7 +98,7 @@ 

    Asynchronous code

    })
    -

    To make things even easier, the done() callback accepts an error, so we may use this directly:

    +

    To make things even easier, the done() callback accepts an error, so we may use this directly:

    describe('User', function(){
       describe('#save()', function(){
    @@ -107,7 +110,7 @@ 

    Asynchronous code

    })
    -

    All "hooks", that is before(), after(), beforeEach(), afterEach() may be sync or async as well, behaving much like a regular test-case. For example you may wish to populate database with dummy content before each test:

    +

    All “hooks”, that is before(), after(), beforeEach(), afterEach() may be sync or async as well, behaving much like a regular test-case. For example you may wish to populate database with dummy content before each test:

    describe('Connection', function(){
       var db = new Connection
    @@ -136,7 +139,7 @@ 

    Asynchronous code

    Pending tests

    -

    Pending test-cases are simply those without a callback:

    +

    Pending test-cases are simply those without a callback:

    describe('Array', function(){
       describe('#indexOf()', function(){
    @@ -147,11 +150,11 @@ 

    Pending tests

    Test duration

    -

    Most of the reporters support some form of displaying +

    Most of the reporters support some form of displaying test duration, as well as flagging tests that are slow, - as shown here with the "spec" reporter:

    + as shown here with the “spec” reporter:

    -

    test duration

    +

    test duration

    mocha(1)

    @@ -178,47 +181,47 @@

    mocha(1)

    --reporters display available reporters
    -

    -w, --watch

    +

    -w, —watch

    -

    Executes tests on changes to the test files.

    +

    Executes tests on changes to the test files.

    -

    -d, --debug

    +

    -d, —debug

    -

    Enables node's debugger support, this executes your script(s) with node debug <file ...> allowing you to step through code and break with the debugger statement.

    +

    Enables node’s debugger support, this executes your script(s) with node debug <file ...> allowing you to step through code and break with the debugger statement.

    -

    --globals <names>

    +

    —globals <names>

    -

    Accepts a comma-delimited list of accepted global variable names. For example suppose your app deliberately exposes a global named app and YUI, you may want to add --globals app,YUI.

    +

    Accepts a comma-delimited list of accepted global variable names. For example suppose your app deliberately exposes a global named app and YUI, you may want to add --globals app,YUI.

    -

    --ignore-leaks

    +

    —ignore-leaks

    -

    By default Mocha will fail when global variables are introduced, you may use --globals to specify a few, or use --ignore-leaks to disable this functionality.

    +

    By default Mocha will fail when global variables are introduced, you may use --globals to specify a few, or use --ignore-leaks to disable this functionality.

    -

    -r, --require <name>

    +

    -r, —require <name>

    -

    The --require option is useful for libraries such as should.js, so you may simply --require should instead of manually invoking require('should') within each test file.

    +

    The --require option is useful for libraries such as should.js, so you may simply --require should instead of manually invoking require('should') within each test file.

    -

    -u, --ui <name>

    +

    -u, —ui <name>

    -

    The --ui option lets you specify the interface to use, defaulting to "bdd".

    +

    The --ui option lets you specify the interface to use, defaulting to “bdd”.

    -

    -R, --reporter <name>

    +

    -R, —reporter <name>

    -

    The --reporter option allows you to specify the reporter that will be used, defaulting to "dot".

    +

    The --reporter option allows you to specify the reporter that will be used, defaulting to “dot”.

    -

    -t, --timeout <ms>

    +

    -t, —timeout <ms>

    -

    Specifies the test-case timeout, defaulting to 2 seconds. To override you may pass the timeout in milliseconds, or a value with the s suffix, ex: --timeout 2s or --timeout 2000 would be equivalent.

    +

    Specifies the test-case timeout, defaulting to 2 seconds. To override you may pass the timeout in milliseconds, or a value with the s suffix, ex: --timeout 2s or --timeout 2000 would be equivalent.

    -

    -s, --slow <ms>

    +

    -s, —slow <ms>

    -

    Specify the "slow" test threshold, defaulting to 75ms. Mocha uses this to highlight test-cases that are taking too long.

    +

    Specify the “slow” test threshold, defaulting to 75ms. Mocha uses this to highlight test-cases that are taking too long.

    -

    -g, --grep <pattern>

    +

    -g, —grep <pattern>

    -

    The --grep option when specified will trigger mocha to only run tests matching the given pattern which is internally compiled to a RegExp.

    +

    The --grep option when specified will trigger mocha to only run tests matching the given pattern which is internally compiled to a RegExp.

    -

    Suppose for example you have "api" related tests, as well as "app" related tests, as shown in the following snippet; One could use --grep api or --grep app to run one or the other. The same goes for any other part of a suite or test-case title, --grep users would be valid as well, or even --grep GET.

    +

    Suppose for example you have “api” related tests, as well as “app” related tests, as shown in the following snippet; One could use --grep api or --grep app to run one or the other. The same goes for any other part of a suite or test-case title, --grep users would be valid as well, or even --grep GET.

    describe('api', function(){
       describe('GET /api/users', function(){
    @@ -235,11 +238,11 @@ 

    -g, --grep <pattern>

    Interfaces

    -

    Mocha "interface" system allows developers to choose their style of DSL. Shipping with BDD, TDD, and exports flavoured interfaces.

    +

    Mocha “interface” system allows developers to choose their style of DSL. Shipping with BDD, TDD, and exports flavoured interfaces.

    BDD

    -

    The "BDD" interface provides describe(), it(), before(), after(), beforeEach(), and afterEach():

    +

    The “BDD” interface provides describe(), it(), before(), after(), beforeEach(), and afterEach():

    describe('Array', function(){
       before(function(){
    @@ -256,7 +259,7 @@ 

    BDD

    TDD

    -

    The "TDD" interface provides suite(), test(), setup(), and teardown().

    +

    The “TDD” interface provides suite(), test(), setup(), and teardown().

    suite('Array', function(){
       setup(function(){
    @@ -273,7 +276,7 @@ 

    TDD

    Exports

    -

    The "exports" interface is much like Mocha's predecessor expresso. The keys before, after, beforeEach, and afterEach are special-cased, object values +

    The “exports” interface is much like Mocha’s predecessor expresso. The keys before, after, beforeEach, and afterEach are special-cased, object values are suites, and function values are test-cases.

    module.exports = {
    @@ -293,76 +296,76 @@ 

    Exports

    Reporters

    -

    Mocha reporters adjust to the terminal window, +

    Mocha reporters adjust to the terminal window, and always disable ansi-escape colouring when the stdio streams are not associated with a tty.

    Dot Matrix

    -

    The "dot" matrix reporter is simply a series of dots +

    The “dot” matrix reporter is simply a series of dots that represent test cases, failures highlight in red, pending in blue, slow as yellow.

    -

    dot matrix reporter

    +

    dot matrix reporter

    Spec

    -

    The "spec" reporter outputs a hierarchical view +

    The “spec” reporter outputs a hierarchical view nested just as the test cases are.

    -

    spec reporter - spec reporter with failure

    +

    spec reporter + spec reporter with failure

    TAP

    -

    The TAP reporter emits lines for a Test-Anything-Protocol consumer.

    +

    The TAP reporter emits lines for a Test-Anything-Protocol consumer.

    -

    test anything protocol

    +

    test anything protocol

    Landing Strip

    -

    The Landing Strip reporter is a gimmicky test reporter simulating +

    The Landing Strip reporter is a gimmicky test reporter simulating a plane landing :) unicode ftw

    -

    landing strip plane reporter - landing strip with failure

    +

    landing strip plane reporter + landing strip with failure

    List

    -

    The "List" reporter outputs a simple specifications list as - test cases pass or fail, outputting the failure details at +

    The “List” reporter outputs a simple specifications list as + test cases pass or fail, outputting the failure details at the bottom of the output.

    -

    list reporter

    +

    list reporter

    Progress

    -

    The progress reporter implements a simple progress-bar:

    +

    The progress reporter implements a simple progress-bar:

    -

    progress bar

    +

    progress bar

    JSON

    -

    The JSON reporter outputs a single large JSON object when +

    The JSON reporter outputs a single large JSON object when the tests have completed (failures or not).

    -

    json reporter

    +

    json reporter

    JSON Stream

    -

    The JSON Stream reporter outputs newline-delimited JSON "events" as they occur, beginning with a "start" event, followed by test passes or failures, and then the final "end" event.

    +

    The JSON Stream reporter outputs newline-delimited JSON “events” as they occur, beginning with a “start” event, followed by test passes or failures, and then the final “end” event.

    -

    json stream reporter

    +

    json stream reporter

    Doc

    -

    The "doc" reporter outputs a hierarchical HTML body representation +

    The “doc” reporter outputs a hierarchical HTML body representation of your tests, wrap it with a header, footer, some styling and you have some fantastic documentation!

    -

    doc reporter

    +

    doc reporter

    -

    For example suppose you have the following JavaScript:

    +

    For example suppose you have the following JavaScript:

    describe('Array', function(){
       describe('#indexOf()', function(){
    @@ -374,7 +377,7 @@ 

    Doc

    })
    -

    The command mocha --reporter doc array would yield:

    +

    The command mocha --reporter doc array would yield:

    <section class="suite">
       <h1>Array</h1>
    @@ -391,7 +394,7 @@ 

    Doc

    </section>
    -

    The SuperAgent request library test documentation was generated with Mocha's doc reporter using this simple make target:

    +

    The SuperAgent request library test documentation was generated with Mocha’s doc reporter using this simple make target:

    test-docs:
         make test REPORTER=doc \
    @@ -399,18 +402,18 @@ 

    Doc

    > docs/test.html
    -

    View the entire Makefile for reference.

    +

    View the entire Makefile for reference.

    HTML

    -

    The HTML reporter is currently the only browser reporter +

    The HTML reporter is currently the only browser reporter supported by Mocha, and it looks like this:

    -

    HTML test reporter

    +

    HTML test reporter

    Browser support

    -

    Mocha runs in the browser. Every release of Mocha will have new builds of ./mocha.js and ./mocha.css for use in the browser. To setup Mocha for browser use all you have to do is include the script, stylesheet, tell Mocha which interface you wish to use, and then run the tests. A typical setup might look something like the following, where we call mocha.setup('bdd') to use the BDD interface before loading the test scripts, running them onload with mocha.run().

    +

    Mocha runs in the browser. Every release of Mocha will have new builds of ./mocha.js and ./mocha.css for use in the browser. To setup Mocha for browser use all you have to do is include the script, stylesheet, tell Mocha which interface you wish to use, and then run the tests. A typical setup might look something like the following, where we call mocha.setup('bdd') to use the BDD interface before loading the test scripts, running them onload with mocha.run().

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js" type="text/javascript"></script>
     <link rel="stylesheet" href="mocha.css" />
    @@ -428,22 +431,22 @@ 

    Browser support

    </script>
    -

    Feel free to hot-link the mocha.css and mocha.js from GitHub.

    +

    Feel free to hot-link the mocha.css and mocha.js from GitHub.

    grep

    -

    The client-side may utilize --grep as well, however you use the query-string, for example ?grep=api.

    +

    The client-side may utilize --grep as well, however you use the query-string, for example ?grep=api.

    mocha.opts

    -

    Mocha will attempt to load ./test/mocha.opts, these are concatenated with process.argv, though command-line args will take precedence. For example suppose you have the following mocha.opts file:

    +

    Mocha will attempt to load ./test/mocha.opts, these are concatenated with process.argv, though command-line args will take precedence. For example suppose you have the following mocha.opts file:

    --require should
     --reporter dot
     --ui bdd
     
    -

    This will default the reporter to dot, require the should library, +

    This will default the reporter to dot, require the should library, and use bdd as the interface. With this you may then invoke mocha(1) with additional arguments, here enabling growl support and changing the reporter to spec:

    @@ -453,7 +456,7 @@

    mocha.opts

    Test specific timeouts

    -

    To compliment the global --timeout option, you may also specific test-specific timeouts via this.timeout(), or disable the timeout all-together with this.timeout(0).

    +

    To compliment the global --timeout option, you may also specific test-specific timeouts via this.timeout(), or disable the timeout all-together with this.timeout(0).

    it('should take less than 500ms', function(done){
       this.timeout(500);
    @@ -465,12 +468,12 @@ 

    Best practices

    test/*

    -

    By default mocha(1) will use the pattern ./test/*.js, so - it's usually a good place to put your tests.

    +

    By default mocha(1) will use the pattern ./test/*.js, so + it’s usually a good place to put your tests.

    Makefiles

    -

    Be kind and don't make developers hunt around in your docs to figure +

    Be kind and don’t make developers hunt around in your docs to figure out how to run the tests, add a make test target to your Makefile:

     test:
    @@ -482,11 +485,11 @@ 

    Makefiles

    Editors

    -

    The following editor-related packages are available:

    +

    The following editor-related packages are available:

    TextMate bundle

    -

    The Mocha TextMate bundle includes snippets to +

    The Mocha TextMate bundle includes snippets to make writing tests quicker and more enjoyable. To install the bundle run:

    @@ -495,30 +498,31 @@

    TextMate bundle

    Example test suites

    -

    The following test suites are from real projects putting Mocha to use, +

    The following test suites are from real projects putting Mocha to use, so they serve as good examples:

    -

    Running mocha's tests

    -

    Run the tests:

    +

    Running mocha’s tests

    + +

    Run the tests:

       $ make test
     
    -

    Run all tests, including interfaces:

    +

    Run all tests, including interfaces:

       $ make test-all
     
    -

    Alter the reporter:

    +

    Alter the reporter:

       $ make test REPORTER=list
     
    From 07d59f5b2124f8b0a9057894eb087fce2a3192ab Mon Sep 17 00:00:00 2001 From: Tj Holowaychuk Date: Tue, 3 Jan 2012 17:47:18 -0800 Subject: [PATCH 064/272] docs --- index.html | 4 ++-- index.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/index.html b/index.html index deb6fec8e6..fcbe3eeed1 100644 --- a/index.html +++ b/index.html @@ -61,8 +61,8 @@

    Assertions

    Mocha allows you to use any assertion library you want, if it throws an error, it will work! This means you can utilize libraries such as should.js, node’s regular assert module, or others. The following is a list of known assertion libraries for node and/or the browser:

      -
    • should.js should style shown throughout these docs
    • -
    • expect.js expect()-style assertions
    • +
    • should.js BDD style shown throughout these docs
    • +
    • expect.js expect() style assertions
    • chai expect(), assert() and should style assertions
    diff --git a/index.md b/index.md index 45b4682756..f3f62f8cc2 100644 --- a/index.md +++ b/index.md @@ -39,8 +39,8 @@ Mocha is a feature-rich JavaScript test framework running on [node](http://nodej Mocha allows you to use any assertion library you want, if it throws an error, it will work! This means you can utilize libraries such as [should.js](http://github.com/visionmedia/should.js), node's regular `assert` module, or others. The following is a list of known assertion libraries for node and/or the browser: - - [should.js](http://github.com/visionmedia/should.js) should style shown throughout these docs - - [expect.js](https://github.com/LearnBoost/expect.js) expect()-style assertions + - [should.js](http://github.com/visionmedia/should.js) BDD style shown throughout these docs + - [expect.js](https://github.com/LearnBoost/expect.js) expect() style assertions - [chai](http://chaijs.com/) expect(), assert() and should style assertions ## Synchronous code From 3bd2cb00f35c8841de2eec08dc90d4995aa765f9 Mon Sep 17 00:00:00 2001 From: Tj Holowaychuk Date: Tue, 3 Jan 2012 17:48:40 -0800 Subject: [PATCH 065/272] misc --- index.html | 8 ++++++++ index.md | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/index.html b/index.html index fcbe3eeed1..1729da7c5a 100644 --- a/index.html +++ b/index.html @@ -404,6 +404,14 @@

    Doc

    View the entire Makefile for reference.

    +

    XUnit

    + +

    Documentation needed.

    + +

    TeamCity

    + +

    Documentation needed.

    +

    HTML

    The HTML reporter is currently the only browser reporter diff --git a/index.md b/index.md index f3f62f8cc2..ae5eb17469 100644 --- a/index.md +++ b/index.md @@ -367,6 +367,14 @@ Testing asynchronous code with Mocha could not be simpler! Simply invoke the cal View the entire [Makefile](https://github.com/visionmedia/superagent/blob/master/Makefile) for reference. +### XUnit + + Documentation needed. + +### TeamCity + + Documentation needed. + ### HTML The __HTML__ reporter is currently the only browser reporter From 62efe945e51c3abeca839bcbfcf191c12becf8b0 Mon Sep 17 00:00:00 2001 From: Tj Holowaychuk Date: Thu, 5 Jan 2012 16:47:20 -0800 Subject: [PATCH 066/272] update docs --- index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.md b/index.md index ae5eb17469..95fa2d5907 100644 --- a/index.md +++ b/index.md @@ -141,7 +141,7 @@ Testing asynchronous code with Mocha could not be simpler! Simply invoke the cal -g, --grep only run tests matching -t, --timeout set test-case timeout in milliseconds [2000] -s, --slow "slow" test threshold in milliseconds [75] - -w, --watch watch test files for changes + -w, --watch watch files for changes -C, --no-colors force disabling of colors -c, --colors force enabling of colors -G, --growl enable growl notification support From d1bf171129f7f7520edd4aae41ed5e6722555238 Mon Sep 17 00:00:00 2001 From: Tj Holowaychuk Date: Thu, 5 Jan 2012 16:47:23 -0800 Subject: [PATCH 067/272] misc --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 1729da7c5a..1fae789431 100644 --- a/index.html +++ b/index.html @@ -170,7 +170,7 @@

    mocha(1)

    -g, --grep <pattern> only run tests matching <pattern> -t, --timeout <ms> set test-case timeout in milliseconds [2000] -s, --slow <ms> "slow" test threshold in milliseconds [75] - -w, --watch watch test files for changes + -w, --watch watch files for changes -C, --no-colors force disabling of colors -c, --colors force enabling of colors -G, --growl enable growl notification support From 1be999ea2a1ab52fb4eeda6eb47c0af38a6a7fbf Mon Sep 17 00:00:00 2001 From: Will Langstroth Date: Fri, 6 Jan 2012 12:57:13 -0500 Subject: [PATCH 068/272] update browser example --- index.md | 40 +++++++++++++++++++++++++--------------- 1 file changed, 25 insertions(+), 15 deletions(-) diff --git a/index.md b/index.md index 95fa2d5907..194da918be 100644 --- a/index.md +++ b/index.md @@ -385,21 +385,31 @@ Testing asynchronous code with Mocha could not be simpler! Simply invoke the cal ## Browser support Mocha runs in the browser. Every release of Mocha will have new builds of _./mocha.js_ and _./mocha.css_ for use in the browser. To setup Mocha for browser use all you have to do is include the script, stylesheet, tell Mocha which interface you wish to use, and then run the tests. A typical setup might look something like the following, where we call `mocha.setup('bdd')` to use the __BDD__ interface before loading the test scripts, running them `onload` with `mocha.run()`. - - - - - - - - - + + + + + Mocha Tests + + + + + + + + + + + +
    + + Feel free to hot-link the [mocha.css](https://raw.github.com/visionmedia/mocha/master/mocha.css) and [mocha.js](https://raw.github.com/visionmedia/mocha/master/mocha.js) from GitHub. From 9f6db18ae94f24dfd4d4a60702564b688444762e Mon Sep 17 00:00:00 2001 From: Guillermo Rauch Date: Fri, 13 Jan 2012 09:02:20 -0800 Subject: [PATCH 069/272] Updated CLI help on website. --- index.html | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/index.html b/index.html index 3cc9248086..665c7708c6 100644 --- a/index.html +++ b/index.html @@ -161,10 +161,13 @@

    mocha(1)

    -g, --grep <pattern> only run tests matching <pattern> -t, --timeout <ms> set test-case timeout in milliseconds [2000] -s, --slow <ms> "slow" test threshold in milliseconds [75] - -w, --watch watch test files for changes + -w, --watch watch files for changes -C, --no-colors force disabling of colors -c, --colors force enabling of colors -G, --growl enable growl notification support + -S, --say [voice] enable say notification support + -d, --debug enable node's debugger + -b, --bail bail after first test failure --globals <names> allow the given comma-delimited global [names] --ignore-leaks ignore global variable leaks --interfaces display available interfaces @@ -525,4 +528,4 @@

    Running mocha's tests

    © 2011 TJ Holowaychuk. All rights reserved. - \ No newline at end of file + From 6e93dc513c9f9770bdf24d259b62a583134c86f2 Mon Sep 17 00:00:00 2001 From: Tj Holowaychuk Date: Fri, 13 Jan 2012 09:23:30 -0800 Subject: [PATCH 070/272] --bail docs --- index.md | 47 ++++++++++++++++++++++++++--------------------- 1 file changed, 26 insertions(+), 21 deletions(-) diff --git a/index.md b/index.md index 194da918be..aacbd5d80a 100644 --- a/index.md +++ b/index.md @@ -129,32 +129,37 @@ Testing asynchronous code with Mocha could not be simpler! Simply invoke the cal ## mocha(1) - Usage: mocha [options] [files] - - Options: - - -h, --help output usage information - -V, --version output the version number - -r, --require require the given module - -R, --reporter specify the reporter to use - -u, --ui specify user-interface (bdd|tdd|exports) - -g, --grep only run tests matching - -t, --timeout set test-case timeout in milliseconds [2000] - -s, --slow "slow" test threshold in milliseconds [75] - -w, --watch watch files for changes - -C, --no-colors force disabling of colors - -c, --colors force enabling of colors - -G, --growl enable growl notification support - -d, --debug enable node's debugger - --globals allow the given comma-delimited global [names] - --ignore-leaks ignore global variable leaks - --interfaces display available interfaces - --reporters display available reporters + Usage: mocha [options] [files] + + Options: + + -h, --help output usage information + -V, --version output the version number + -r, --require require the given module + -R, --reporter specify the reporter to use + -u, --ui specify user-interface (bdd|tdd|exports) + -g, --grep only run tests matching + -t, --timeout set test-case timeout in milliseconds [2000] + -s, --slow "slow" test threshold in milliseconds [75] + -w, --watch watch files for changes + -C, --no-colors force disabling of colors + -c, --colors force enabling of colors + -G, --growl enable growl notification support + -d, --debug enable node's debugger + -b, --bail bail after first test failure + --globals allow the given comma-delimited global [names] + --ignore-leaks ignore global variable leaks + --interfaces display available interfaces + --reporters display available reporters ### -w, --watch Executes tests on changes to the test files. +### -b, --bail + + Only interested in the first exception? use `--bail` ! + ### -d, --debug Enables node's debugger support, this executes your script(s) with `node debug ` allowing you to step through code and break with the __debugger__ statement. From 8574c67b1490232e75d55b5b8a4514f0a8760fb9 Mon Sep 17 00:00:00 2001 From: Tj Holowaychuk Date: Fri, 13 Jan 2012 09:25:08 -0800 Subject: [PATCH 071/272] qunit example --- index.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/index.md b/index.md index aacbd5d80a..3529ca3870 100644 --- a/index.md +++ b/index.md @@ -265,6 +265,34 @@ Testing asynchronous code with Mocha could not be simpler! Simply invoke the cal } }; +### QUnit + + The qunit-inspired interface matches the "flat" look of QUnit where the test suite title is simply defined before the test-cases. + + function ok(expr, msg) { + if (!expr) throw new Error(msg); + } + + suite('Array'); + + test('#length', function(){ + var arr = [1,2,3]; + ok(arr.length == 3); + }); + + test('#indexOf()', function(){ + var arr = [1,2,3]; + ok(arr.indexOf(1) == 0); + ok(arr.indexOf(2) == 1); + ok(arr.indexOf(3) == 2); + }); + + suite('String'); + + test('#length', function(){ + ok('foo'.length == 3); + }); + ## Reporters Mocha reporters adjust to the terminal window, From 4c2b776c5d3ce3aa45287c7ecb6106ff0a621405 Mon Sep 17 00:00:00 2001 From: Tj Holowaychuk Date: Fri, 13 Jan 2012 09:25:32 -0800 Subject: [PATCH 072/272] update --swatch docs --- index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.md b/index.md index 3529ca3870..a0aea15f73 100644 --- a/index.md +++ b/index.md @@ -154,7 +154,7 @@ Testing asynchronous code with Mocha could not be simpler! Simply invoke the cal ### -w, --watch - Executes tests on changes to the test files. + Executes tests on changes to JavaScript in the CWD. ### -b, --bail From 3e4b9fb4e0a07afe5b561b75f7c035f4cbcc4355 Mon Sep 17 00:00:00 2001 From: Tj Holowaychuk Date: Fri, 13 Jan 2012 09:26:11 -0800 Subject: [PATCH 073/272] build --- index.html | 120 ++++++++++++++++++++++++++++++++++++----------------- index.md | 36 ++++++++-------- 2 files changed, 99 insertions(+), 57 deletions(-) diff --git a/index.html b/index.html index 538da498e7..a40869096e 100644 --- a/index.html +++ b/index.html @@ -158,34 +158,37 @@

    Test duration

    mocha(1)

    -
    Usage: mocha [options] [files]
    -
    -Options:
    -
    -  -h, --help             output usage information
    -  -V, --version          output the version number
    -  -r, --require <name>   require the given module
    -  -R, --reporter <name>  specify the reporter to use
    -  -u, --ui <name>        specify user-interface (bdd|tdd|exports)
    -  -g, --grep <pattern>   only run tests matching <pattern>
    -  -t, --timeout <ms>     set test-case timeout in milliseconds [2000]
    -  -s, --slow <ms>        "slow" test threshold in milliseconds [75]
    -  -w, --watch            watch files for changes
    -  -C, --no-colors        force disabling of colors
    -  -c, --colors           force enabling of colors
    -  -G, --growl            enable growl notification support
    -  -S, --say [voice]      enable say notification support
    -  -d, --debug            enable node's debugger
    -  -b, --bail             bail after first test failure
    -  --globals <names>      allow the given comma-delimited global [names]
    -  --ignore-leaks         ignore global variable leaks
    -  --interfaces           display available interfaces
    -  --reporters            display available reporters
    +

    Usage: mocha [options] [files]

    + +

    Options:

    + +
    -h, --help             output usage information
    +-V, --version          output the version number
    +-r, --require <name>   require the given module
    +-R, --reporter <name>  specify the reporter to use
    +-u, --ui <name>        specify user-interface (bdd|tdd|exports)
    +-g, --grep <pattern>   only run tests matching <pattern>
    +-t, --timeout <ms>     set test-case timeout in milliseconds [2000]
    +-s, --slow <ms>        "slow" test threshold in milliseconds [75]
    +-w, --watch            watch files for changes
    +-C, --no-colors        force disabling of colors
    +-c, --colors           force enabling of colors
    +-G, --growl            enable growl notification support
    +-d, --debug            enable node's debugger
    +-b, --bail             bail after first test failure
    +--globals <names>      allow the given comma-delimited global [names]
    +--ignore-leaks         ignore global variable leaks
    +--interfaces           display available interfaces
    +--reporters            display available reporters
     

    -w, —watch

    -

    Executes tests on changes to the test files.

    +

    Executes tests on changes to JavaScript in the CWD.

    + +

    -b, —bail

    + +

    Only interested in the first exception? use --bail !

    -d, —debug

    @@ -296,6 +299,35 @@

    Exports

    };
    +

    QUnit

    + +

    The qunit-inspired interface matches the “flat” look of QUnit where the test suite title is simply defined before the test-cases.

    + +
    function ok(expr, msg) {
    +  if (!expr) throw new Error(msg);
    +}
    +
    +suite('Array');
    +
    +test('#length', function(){
    +  var arr = [1,2,3];
    +  ok(arr.length == 3);
    +});
    +
    +test('#indexOf()', function(){
    +  var arr = [1,2,3];
    +  ok(arr.indexOf(1) == 0);
    +  ok(arr.indexOf(2) == 1);
    +  ok(arr.indexOf(3) == 2);
    +});
    +
    +suite('String');
    +
    +test('#length', function(){
    +  ok('foo'.length == 3);
    +});
    +
    +

    Reporters

    Mocha reporters adjust to the terminal window, @@ -425,20 +457,30 @@

    Browser support

    Mocha runs in the browser. Every release of Mocha will have new builds of ./mocha.js and ./mocha.css for use in the browser. To setup Mocha for browser use all you have to do is include the script, stylesheet, tell Mocha which interface you wish to use, and then run the tests. A typical setup might look something like the following, where we call mocha.setup('bdd') to use the BDD interface before loading the test scripts, running them onload with mocha.run().

    -
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js" type="text/javascript"></script>
    -<link rel="stylesheet" href="mocha.css" />
    -<script src="mocha.js"></script>
    -<script>mocha.setup('bdd')</script>
    -<script src="test.array.js"></script>
    -<script src="test.object.js"></script>
    -<script src="test.xhr.js"></script>
    -<script>
    -  onload = function(){
    -    mocha
    -      .run()
    -      .globals(['foo', 'bar']) // acceptable globals 
    -  };
    -</script>
    +
    <html>
    +<head>
    +  <meta charset="utf-8">
    +  <title>Mocha Tests</title>
    +  <link rel="stylesheet" href="https://raw.github.com/visionmedia/mocha/master/mocha.css" />
    +  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
    +  <script src="https://raw.github.com/LearnBoost/expect.js/d2440da086bf8dc38c6085641f23b968a0f48b29/expect.js"></script>
    +  <script src="https://raw.github.com/visionmedia/mocha/master/mocha.js"></script>
    +  <script>mocha.setup('bdd')</script>
    +  <script src="test.array.js"></script>
    +  <script src="test.object.js"></script>
    +  <script src="test.xhr.js"></script>
    +  <script>
    +    $(function () {
    +      mocha
    +        .run()
    +        .globals(['foo', 'bar']) // acceptable globals
    +    })
    +  </script>
    +</head>
    +<body>
    +  <div id="mocha"></div>
    +</body>
    +</html>
     

    Feel free to hot-link the mocha.css and mocha.js from GitHub.

    @@ -541,4 +583,4 @@

    Running mocha’s tests

    © 2011 TJ Holowaychuk. All rights reserved. - + \ No newline at end of file diff --git a/index.md b/index.md index a0aea15f73..9db8c4eab8 100644 --- a/index.md +++ b/index.md @@ -269,29 +269,29 @@ Testing asynchronous code with Mocha could not be simpler! Simply invoke the cal The qunit-inspired interface matches the "flat" look of QUnit where the test suite title is simply defined before the test-cases. - function ok(expr, msg) { - if (!expr) throw new Error(msg); - } + function ok(expr, msg) { + if (!expr) throw new Error(msg); + } - suite('Array'); + suite('Array'); - test('#length', function(){ - var arr = [1,2,3]; - ok(arr.length == 3); - }); + test('#length', function(){ + var arr = [1,2,3]; + ok(arr.length == 3); + }); - test('#indexOf()', function(){ - var arr = [1,2,3]; - ok(arr.indexOf(1) == 0); - ok(arr.indexOf(2) == 1); - ok(arr.indexOf(3) == 2); - }); + test('#indexOf()', function(){ + var arr = [1,2,3]; + ok(arr.indexOf(1) == 0); + ok(arr.indexOf(2) == 1); + ok(arr.indexOf(3) == 2); + }); - suite('String'); + suite('String'); - test('#length', function(){ - ok('foo'.length == 3); - }); + test('#length', function(){ + ok('foo'.length == 3); + }); ## Reporters From 20eb2f5ee7fa983550dd370af083144e4195b58b Mon Sep 17 00:00:00 2001 From: TJ Holowaychuk Date: Thu, 2 Feb 2012 19:33:38 -0800 Subject: [PATCH 074/272] added link to wiki --- index.html | 191 +++++++++++++++++++++++++++-------------------------- index.md | 3 + 2 files changed, 99 insertions(+), 95 deletions(-) diff --git a/index.html b/index.html index a40869096e..6bd181fd21 100644 --- a/index.html +++ b/index.html @@ -34,31 +34,30 @@

    Features

  • file watcher support
  • global variable leak detection
  • optionally run tests that match a regexp
  • -
  • auto-exit to prevent “hanging” with an active loop
  • +
  • auto-exit to prevent "hanging" with an active loop
  • easily meta-generate suites & test-cases
  • mocha.opts file support
  • node debugger support
  • detects multiple calls to done()
  • use any assertion library you want
  • extensible reporting, bundled with 9+ reporters
  • -
  • extensible test DSLs or “interfaces”
  • +
  • extensible test DSLs or "interfaces"
  • before, after, before each, after each hooks
  • coffee-script support
  • TextMate bundle
  • and more!
  • -

    Installation

    -

    Install with npm:

    +

    Install with npm:

    $ npm install -g mocha
     

    Assertions

    -

    Mocha allows you to use any assertion library you want, if it throws an error, it will work! This means you can utilize libraries such as should.js, node’s regular assert module, or others. The following is a list of known assertion libraries for node and/or the browser:

    +

    Mocha allows you to use any assertion library you want, if it throws an error, it will work! This means you can utilize libraries such as should.js, node's regular assert module, or others. The following is a list of known assertion libraries for node and/or the browser:

    • should.js BDD style shown throughout these docs
    • @@ -66,10 +65,9 @@

      Assertions

    • chai expect(), assert() and should style assertions
    -

    Synchronous code

    -

    When testing synchronous code, omit the callback and Mocha will automatically continue on to the next test.

    +

    When testing synchronous code, omit the callback and Mocha will automatically continue on to the next test.

    describe('Array', function(){
       describe('#indexOf()', function(){
    @@ -98,7 +96,7 @@ 

    Asynchronous code

    })
    -

    To make things even easier, the done() callback accepts an error, so we may use this directly:

    +

    To make things even easier, the done() callback accepts an error, so we may use this directly:

    describe('User', function(){
       describe('#save()', function(){
    @@ -110,7 +108,7 @@ 

    Asynchronous code

    })
    -

    All “hooks”, that is before(), after(), beforeEach(), afterEach() may be sync or async as well, behaving much like a regular test-case. For example you may wish to populate database with dummy content before each test:

    +

    All "hooks", that is before(), after(), beforeEach(), afterEach() may be sync or async as well, behaving much like a regular test-case. For example you may wish to populate database with dummy content before each test:

    describe('Connection', function(){
       var db = new Connection
    @@ -139,7 +137,7 @@ 

    Asynchronous code

    Pending tests

    -

    Pending test-cases are simply those without a callback:

    +

    Pending test-cases are simply those without a callback:

    describe('Array', function(){
       describe('#indexOf()', function(){
    @@ -150,17 +148,17 @@ 

    Pending tests

    Test duration

    -

    Most of the reporters support some form of displaying +

    Most of the reporters support some form of displaying test duration, as well as flagging tests that are slow, - as shown here with the “spec” reporter:

    + as shown here with the "spec" reporter:

    -

    test duration

    +

    test duration

    mocha(1)

    -

    Usage: mocha [options] [files]

    +

    Usage: mocha [options] [files]

    -

    Options:

    +

    Options:

    -h, --help             output usage information
     -V, --version          output the version number
    @@ -182,51 +180,51 @@ 

    mocha(1)

    --reporters display available reporters
    -

    -w, —watch

    +

    -w, --watch

    -

    Executes tests on changes to JavaScript in the CWD.

    +

    Executes tests on changes to JavaScript in the CWD.

    -

    -b, —bail

    +

    -b, --bail

    -

    Only interested in the first exception? use --bail !

    +

    Only interested in the first exception? use --bail !

    -

    -d, —debug

    +

    -d, --debug

    -

    Enables node’s debugger support, this executes your script(s) with node debug <file ...> allowing you to step through code and break with the debugger statement.

    +

    Enables node's debugger support, this executes your script(s) with node debug <file ...> allowing you to step through code and break with the debugger statement.

    -

    —globals <names>

    +

    --globals <names>

    -

    Accepts a comma-delimited list of accepted global variable names. For example suppose your app deliberately exposes a global named app and YUI, you may want to add --globals app,YUI.

    +

    Accepts a comma-delimited list of accepted global variable names. For example suppose your app deliberately exposes a global named app and YUI, you may want to add --globals app,YUI.

    -

    —ignore-leaks

    +

    --ignore-leaks

    -

    By default Mocha will fail when global variables are introduced, you may use --globals to specify a few, or use --ignore-leaks to disable this functionality.

    +

    By default Mocha will fail when global variables are introduced, you may use --globals to specify a few, or use --ignore-leaks to disable this functionality.

    -

    -r, —require <name>

    +

    -r, --require <name>

    -

    The --require option is useful for libraries such as should.js, so you may simply --require should instead of manually invoking require('should') within each test file.

    +

    The --require option is useful for libraries such as should.js, so you may simply --require should instead of manually invoking require('should') within each test file.

    -

    -u, —ui <name>

    +

    -u, --ui <name>

    -

    The --ui option lets you specify the interface to use, defaulting to “bdd”.

    +

    The --ui option lets you specify the interface to use, defaulting to "bdd".

    -

    -R, —reporter <name>

    +

    -R, --reporter <name>

    -

    The --reporter option allows you to specify the reporter that will be used, defaulting to “dot”.

    +

    The --reporter option allows you to specify the reporter that will be used, defaulting to "dot".

    -

    -t, —timeout <ms>

    +

    -t, --timeout <ms>

    -

    Specifies the test-case timeout, defaulting to 2 seconds. To override you may pass the timeout in milliseconds, or a value with the s suffix, ex: --timeout 2s or --timeout 2000 would be equivalent.

    +

    Specifies the test-case timeout, defaulting to 2 seconds. To override you may pass the timeout in milliseconds, or a value with the s suffix, ex: --timeout 2s or --timeout 2000 would be equivalent.

    -

    -s, —slow <ms>

    +

    -s, --slow <ms>

    -

    Specify the “slow” test threshold, defaulting to 75ms. Mocha uses this to highlight test-cases that are taking too long.

    +

    Specify the "slow" test threshold, defaulting to 75ms. Mocha uses this to highlight test-cases that are taking too long.

    -

    -g, —grep <pattern>

    +

    -g, --grep <pattern>

    -

    The --grep option when specified will trigger mocha to only run tests matching the given pattern which is internally compiled to a RegExp.

    +

    The --grep option when specified will trigger mocha to only run tests matching the given pattern which is internally compiled to a RegExp.

    -

    Suppose for example you have “api” related tests, as well as “app” related tests, as shown in the following snippet; One could use --grep api or --grep app to run one or the other. The same goes for any other part of a suite or test-case title, --grep users would be valid as well, or even --grep GET.

    +

    Suppose for example you have "api" related tests, as well as "app" related tests, as shown in the following snippet; One could use --grep api or --grep app to run one or the other. The same goes for any other part of a suite or test-case title, --grep users would be valid as well, or even --grep GET.

    describe('api', function(){
       describe('GET /api/users', function(){
    @@ -243,11 +241,11 @@ 

    -g, —grep <pattern>

    Interfaces

    -

    Mocha “interface” system allows developers to choose their style of DSL. Shipping with BDD, TDD, and exports flavoured interfaces.

    +

    Mocha "interface" system allows developers to choose their style of DSL. Shipping with BDD, TDD, and exports flavoured interfaces.

    BDD

    -

    The “BDD” interface provides describe(), it(), before(), after(), beforeEach(), and afterEach():

    +

    The "BDD" interface provides describe(), it(), before(), after(), beforeEach(), and afterEach():

    describe('Array', function(){
       before(function(){
    @@ -264,7 +262,7 @@ 

    BDD

    TDD

    -

    The “TDD” interface provides suite(), test(), setup(), and teardown().

    +

    The "TDD" interface provides suite(), test(), setup(), and teardown().

    suite('Array', function(){
       setup(function(){
    @@ -281,7 +279,7 @@ 

    TDD

    Exports

    -

    The “exports” interface is much like Mocha’s predecessor expresso. The keys before, after, beforeEach, and afterEach are special-cased, object values +

    The "exports" interface is much like Mocha's predecessor expresso. The keys before, after, beforeEach, and afterEach are special-cased, object values are suites, and function values are test-cases.

    module.exports = {
    @@ -301,7 +299,7 @@ 

    Exports

    QUnit

    -

    The qunit-inspired interface matches the “flat” look of QUnit where the test suite title is simply defined before the test-cases.

    +

    The qunit-inspired interface matches the "flat" look of QUnit where the test suite title is simply defined before the test-cases.

    function ok(expr, msg) {
       if (!expr) throw new Error(msg);
    @@ -330,76 +328,76 @@ 

    QUnit

    Reporters

    -

    Mocha reporters adjust to the terminal window, +

    Mocha reporters adjust to the terminal window, and always disable ansi-escape colouring when the stdio streams are not associated with a tty.

    Dot Matrix

    -

    The “dot” matrix reporter is simply a series of dots +

    The "dot" matrix reporter is simply a series of dots that represent test cases, failures highlight in red, pending in blue, slow as yellow.

    -

    dot matrix reporter

    +

    dot matrix reporter

    Spec

    -

    The “spec” reporter outputs a hierarchical view +

    The "spec" reporter outputs a hierarchical view nested just as the test cases are.

    -

    spec reporter - spec reporter with failure

    +

    spec reporter + spec reporter with failure

    TAP

    -

    The TAP reporter emits lines for a Test-Anything-Protocol consumer.

    +

    The TAP reporter emits lines for a Test-Anything-Protocol consumer.

    -

    test anything protocol

    +

    test anything protocol

    Landing Strip

    -

    The Landing Strip reporter is a gimmicky test reporter simulating +

    The Landing Strip reporter is a gimmicky test reporter simulating a plane landing :) unicode ftw

    -

    landing strip plane reporter - landing strip with failure

    +

    landing strip plane reporter + landing strip with failure

    List

    -

    The “List” reporter outputs a simple specifications list as - test cases pass or fail, outputting the failure details at +

    The "List" reporter outputs a simple specifications list as + test cases pass or fail, outputting the failure details at the bottom of the output.

    -

    list reporter

    +

    list reporter

    Progress

    -

    The progress reporter implements a simple progress-bar:

    +

    The progress reporter implements a simple progress-bar:

    -

    progress bar

    +

    progress bar

    JSON

    -

    The JSON reporter outputs a single large JSON object when +

    The JSON reporter outputs a single large JSON object when the tests have completed (failures or not).

    -

    json reporter

    +

    json reporter

    JSON Stream

    -

    The JSON Stream reporter outputs newline-delimited JSON “events” as they occur, beginning with a “start” event, followed by test passes or failures, and then the final “end” event.

    +

    The JSON Stream reporter outputs newline-delimited JSON "events" as they occur, beginning with a "start" event, followed by test passes or failures, and then the final "end" event.

    -

    json stream reporter

    +

    json stream reporter

    Doc

    -

    The “doc” reporter outputs a hierarchical HTML body representation +

    The "doc" reporter outputs a hierarchical HTML body representation of your tests, wrap it with a header, footer, some styling and you have some fantastic documentation!

    -

    doc reporter

    +

    doc reporter

    -

    For example suppose you have the following JavaScript:

    +

    For example suppose you have the following JavaScript:

    describe('Array', function(){
       describe('#indexOf()', function(){
    @@ -411,7 +409,7 @@ 

    Doc

    })
    -

    The command mocha --reporter doc array would yield:

    +

    The command mocha --reporter doc array would yield:

    <section class="suite">
       <h1>Array</h1>
    @@ -428,7 +426,7 @@ 

    Doc

    </section>
    -

    The SuperAgent request library test documentation was generated with Mocha’s doc reporter using this simple make target:

    +

    The SuperAgent request library test documentation was generated with Mocha's doc reporter using this simple make target:

    test-docs:
         make test REPORTER=doc \
    @@ -436,26 +434,26 @@ 

    Doc

    > docs/test.html
    -

    View the entire Makefile for reference.

    +

    View the entire Makefile for reference.

    XUnit

    -

    Documentation needed.

    +

    Documentation needed.

    TeamCity

    -

    Documentation needed.

    +

    Documentation needed.

    HTML

    -

    The HTML reporter is currently the only browser reporter +

    The HTML reporter is currently the only browser reporter supported by Mocha, and it looks like this:

    -

    HTML test reporter

    +

    HTML test reporter

    Browser support

    -

    Mocha runs in the browser. Every release of Mocha will have new builds of ./mocha.js and ./mocha.css for use in the browser. To setup Mocha for browser use all you have to do is include the script, stylesheet, tell Mocha which interface you wish to use, and then run the tests. A typical setup might look something like the following, where we call mocha.setup('bdd') to use the BDD interface before loading the test scripts, running them onload with mocha.run().

    +

    Mocha runs in the browser. Every release of Mocha will have new builds of ./mocha.js and ./mocha.css for use in the browser. To setup Mocha for browser use all you have to do is include the script, stylesheet, tell Mocha which interface you wish to use, and then run the tests. A typical setup might look something like the following, where we call mocha.setup('bdd') to use the BDD interface before loading the test scripts, running them onload with mocha.run().

    <html>
     <head>
    @@ -483,22 +481,22 @@ 

    Browser support

    </html>
    -

    Feel free to hot-link the mocha.css and mocha.js from GitHub.

    +

    Feel free to hot-link the mocha.css and mocha.js from GitHub.

    grep

    -

    The client-side may utilize --grep as well, however you use the query-string, for example ?grep=api.

    +

    The client-side may utilize --grep as well, however you use the query-string, for example ?grep=api.

    mocha.opts

    -

    Mocha will attempt to load ./test/mocha.opts, these are concatenated with process.argv, though command-line args will take precedence. For example suppose you have the following mocha.opts file:

    +

    Mocha will attempt to load ./test/mocha.opts, these are concatenated with process.argv, though command-line args will take precedence. For example suppose you have the following mocha.opts file:

    --require should
     --reporter dot
     --ui bdd
     
    -

    This will default the reporter to dot, require the should library, +

    This will default the reporter to dot, require the should library, and use bdd as the interface. With this you may then invoke mocha(1) with additional arguments, here enabling growl support and changing the reporter to spec:

    @@ -508,7 +506,7 @@

    mocha.opts

    Test specific timeouts

    -

    To compliment the global --timeout option, you may also specific test-specific timeouts via this.timeout(), or disable the timeout all-together with this.timeout(0).

    +

    To compliment the global --timeout option, you may also specific test-specific timeouts via this.timeout(), or disable the timeout all-together with this.timeout(0).

    it('should take less than 500ms', function(done){
       this.timeout(500);
    @@ -520,12 +518,12 @@ 

    Best practices

    test/*

    -

    By default mocha(1) will use the pattern ./test/*.js, so - it’s usually a good place to put your tests.

    +

    By default mocha(1) will use the pattern ./test/*.js, so + it's usually a good place to put your tests.

    Makefiles

    -

    Be kind and don’t make developers hunt around in your docs to figure +

    Be kind and don't make developers hunt around in your docs to figure out how to run the tests, add a make test target to your Makefile:

     test:
    @@ -537,11 +535,11 @@ 

    Makefiles

    Editors

    -

    The following editor-related packages are available:

    +

    The following editor-related packages are available:

    TextMate bundle

    -

    The Mocha TextMate bundle includes snippets to +

    The Mocha TextMate bundle includes snippets to make writing tests quicker and more enjoyable. To install the bundle run:

    @@ -550,34 +548,37 @@

    TextMate bundle

    Example test suites

    -

    The following test suites are from real projects putting Mocha to use, +

    The following test suites are from real projects putting Mocha to use, so they serve as good examples:

    +

    Running mocha's tests

    -

    Running mocha’s tests

    - -

    Run the tests:

    +

    Run the tests:

       $ make test
     
    -

    Run all tests, including interfaces:

    +

    Run all tests, including interfaces:

       $ make test-all
     
    -

    Alter the reporter:

    +

    Alter the reporter:

       $ make test REPORTER=list
     
    + +

    More information

    + +

    For additional information such as using spies, mocking, and shared behaviours be sure to check out the Mocha Wiki on GitHub.

    © 2011 TJ Holowaychuk. All rights reserved. diff --git a/index.md b/index.md index 9db8c4eab8..2fc8c4b53e 100644 --- a/index.md +++ b/index.md @@ -529,3 +529,6 @@ Testing asynchronous code with Mocha could not be simpler! Simply invoke the cal $ make test REPORTER=list +## More information + + For additional information such as using spies, mocking, and shared behaviours be sure to check out the [Mocha Wiki](https://github.com/visionmedia/mocha/wiki) on GitHub. \ No newline at end of file From e23fb9808069456370aebb4d02f90fb7d15b01cb Mon Sep 17 00:00:00 2001 From: TJ Holowaychuk Date: Thu, 23 Feb 2012 20:58:54 -0800 Subject: [PATCH 075/272] coverage docs --- coverage.html | 333 ++++++++++++++++++++++++++++++++++++++++++++++++++ index.html | 202 ++++++++++++++++-------------- index.md | 13 ++ 3 files changed, 455 insertions(+), 93 deletions(-) create mode 100644 coverage.html diff --git a/coverage.html b/coverage.html new file mode 100644 index 0000000000..cbe9607e18 --- /dev/null +++ b/coverage.html @@ -0,0 +1,333 @@ +Coverage
    LineHitsSource
    1
    2/*!
    3 * Express
    4 * Copyright(c) 2010 TJ Holowaychuk <tj@vision-media.ca>
    5 * MIT Licensed
    6 */
    7
    8/**
    9 * Module dependencies.
    10 */
    11
    121var http = require('http')
    13 , connect = require('connect')
    14 , proto = require('./application')
    15 , Route = require('./router/route')
    16 , Router = require('./router')
    17 , req = require('./request')
    18 , res = require('./response')
    19 , utils = connect.utils;
    20
    21/**
    22 * Expose `createApplication()`.
    23 */
    24
    251exports = module.exports = createApplication;
    26
    27/**
    28 * Framework version.
    29 */
    30
    311exports.version = '3.0.0alpha1-pre';
    32
    33/**
    34 * Create an express application.
    35 *
    36 * @return {Function}
    37 * @api public
    38 */
    39
    401function createApplication() {
    41254 var app = connect();
    42254 utils.merge(app, proto);
    43254 app.request = { __proto__: req };
    44254 app.response = { __proto__: res };
    45254 app.init();
    46254 return app;
    47}
    48
    49/**
    50 * Expose connect.middleware as express.*
    51 * for example `express.logger` etc.
    52 */
    53
    541for (var key in connect.middleware) {
    5521 Object.defineProperty(
    56 exports
    57 , key
    58 , Object.getOwnPropertyDescriptor(connect.middleware, key));
    59}
    60
    61/**
    62 * Expose the prototypes.
    63 */
    64
    651exports.application = proto;
    661exports.request = req;
    671exports.response = res;
    68
    69/**
    70 * Expose constructors.
    71 */
    72
    731exports.Route = Route;
    741exports.Router = Router;
    75
    76/**
    77 * Expose HTTP methods.
    78 */
    79
    801exports.methods = require('./router/methods');
    81
    82// Error handler title
    83
    841exports.errorHandler.title = 'Express';
    85

    application.js

    86%
    136
    117
    19
    LineHitsSource
    1/*!
    2 * Express - proto
    3 * Copyright(c) 2010 TJ Holowaychuk <tj@vision-media.ca>
    4 * MIT Licensed
    5 */
    6
    7/**
    8 * Module dependencies.
    9 */
    10
    111var connect = require('connect')
    12 , Router = require('./router')
    13 , methods = Router.methods.concat('del', 'all')
    14 , middleware = require('./middleware')
    15 , debug = require('debug')('express:application')
    16 , View = require('./view')
    17 , url = require('url')
    18 , utils = connect.utils
    19 , path = require('path')
    20 , http = require('http')
    21 , join = path.join
    22 , fs = require('fs');
    23
    24/**
    25 * Application prototype.
    26 */
    27
    281var app = exports = module.exports = {};
    29
    30/**
    31 * Initialize the server.
    32 *
    33 * - setup default configuration
    34 * - setup default middleware
    35 * - setup route reflection methods
    36 *
    37 * @api private
    38 */
    39
    401app.init = function(){
    41254 var self = this;
    42254 this.cache = {};
    43254 this.settings = {};
    44254 this.engines = {};
    45254 this.viewCallbacks = [];
    46254 this.defaultConfiguration();
    47
    48 // route reflection methods
    49254 methods.forEach(function(method){
    506350 self.lookup[method] = function(path){
    510 return self._router.lookup(method, path);
    52 };
    53
    546350 self.remove[method] = function(path){
    550 return self._router.lookup(method, path).remove();
    56 };
    57 });
    58
    59 // del -> delete
    60254 self.lookup.del = self.lookup.delete;
    61254 self.remove.del = self.remove.delete;
    62};
    63
    64/**
    65 * Initialize application configuration.
    66 *
    67 * @api private
    68 */
    69
    701app.defaultConfiguration = function(){
    71254 var self = this;
    72
    73 // default settings
    74254 this.set('env', process.env.NODE_ENV || 'development');
    75254 debug('booting in %s mode', this.get('env'));
    76
    77 // implicit middleware
    78254 this.use(connect.query());
    79254 this.use(middleware.init(this));
    80
    81 // app locals
    82254 this.locals = function(obj){
    835 for (var key in obj) self.locals[key] = obj[key];
    842 return self;
    85 };
    86
    87 // response locals
    88254 this.locals.use = function(fn){
    894 if (3 == fn.length) {
    902 self.viewCallbacks.push(fn);
    91 } else {
    922 self.viewCallbacks.push(function(req, res, done){
    932 fn(req, res);
    942 done();
    95 });
    96 }
    974 return this;
    98 };
    99
    100 // router
    101254 this._router = new Router(this);
    102254 this.routes = this._router.routes;
    103254 this.__defineGetter__('router', function(){
    10467 this._usedRouter = true;
    10567 this._router.caseSensitive = this.enabled('case sensitive routing');
    10667 this._router.strict = this.enabled('strict routing');
    10767 return this._router.middleware;
    108 });
    109
    110 // default locals
    111254 this.locals.settings = this.settings;
    112
    113 // default configuration
    114254 this.configure('development', function(){
    1151 this.set('json spaces', 2);
    116 });
    117
    118254 this.configure('production', function(){
    1190 this.enable('view cache');
    120 });
    121};
    122
    123/**
    124 * Remove routes matching the given `path`.
    125 *
    126 * @param {Route} path
    127 * @return {Boolean}
    128 * @api public
    129 */
    130
    1311app.remove = function(path){
    1320 return this._router.lookup('all', path).remove();
    133};
    134
    135/**
    136 * Lookup routes defined with a path
    137 * equivalent to `path`.
    138 *
    139 * @param {String} path
    140 * @return {Array}
    141 * @api public
    142 */
    143
    1441app.lookup = function(path){
    1450 return this._router.lookup('all', path);
    146};
    147
    148/**
    149 * Proxy `connect#use()` to apply settings to
    150 * mounted applications.
    151 *
    152 * @param {String|Function|Server} route
    153 * @param {Function|Server} fn
    154 * @return {app} for chaining
    155 * @api public
    156 */
    157
    1581app.use = function(route, fn){
    159739 var app, home, handle;
    160
    161 // default route to '/'
    1621465 if ('string' != typeof route) fn = route, route = '/';
    163
    164 // express app
    165756 if (fn.handle && fn.set) app = fn;
    166
    167 // restore .app property on req and res
    168739 if (app) {
    16917 app.route = route;
    17017 fn = function(req, res, next) {
    1717 var orig = req.app;
    1727 app.handle(req, res, function(err){
    1730 req.app = res.app = orig;
    1740 next(err);
    175 });
    176 };
    177 }
    178
    179739 debug('use %s %s', route, fn.name || 'unnamed');
    180739 connect.proto.use.call(this, route, fn);
    181
    182 // mounted an app
    183739 if (app) {
    18417 app.parent = this;
    18517 app.emit('mount', this);
    186 }
    187
    188739 return this;
    189};
    190
    191/**
    192 * Register the given template engine callback `fn`
    193 * as `ext`. For example we may wish to map ".html"
    194 * files to ejs rather than using the ".ejs" extension.
    195 *
    196 * app.engine('.html', require('ejs').render);
    197 *
    198 * or
    199 *
    200 * app.engine('html', require('ejs').render);
    201 *
    202 * @param {String} ext
    203 * @param {Function} fn
    204 * @return {app} for chaining
    205 * @api public
    206 */
    207
    2081app.engine = function(ext, fn){
    2095 if ('.' != ext[0]) ext = '.' + ext;
    2103 this.engines[ext] = fn;
    2113 return this;
    212};
    213
    214/**
    215 * Map the given param placeholder `name`(s) to the given callback(s).
    216 *
    217 * Param mapping is used to provide pre-conditions to routes
    218 * which us normalized placeholders. This callback has the same
    219 * signature as regular middleware, for example below when ":userId"
    220 * is used this function will be invoked in an attempt to load the user.
    221 *
    222 * app.param('userId', function(req, res, next, id){
    223 * User.find(id, function(err, user){
    224 * if (err) {
    225 * next(err);
    226 * } else if (user) {
    227 * req.user = user;
    228 * next();
    229 * } else {
    230 * next(new Error('failed to load user'));
    231 * }
    232 * });
    233 * });
    234 *
    235 * Passing a single function allows you to map logic
    236 * to the values passed to `app.param()`, for example
    237 * this is useful to provide coercion support in a concise manner.
    238 *
    239 * The following example maps regular expressions to param values
    240 * ensuring that they match, otherwise passing control to the next
    241 * route:
    242 *
    243 * app.param(function(name, regexp){
    244 * if (regexp instanceof RegExp) {
    245 * return function(req, res, next, val){
    246 * var captures;
    247 * if (captures = regexp.exec(String(val))) {
    248 * req.params[name] = captures;
    249 * next();
    250 * } else {
    251 * next('route');
    252 * }
    253 * }
    254 * }
    255 * });
    256 *
    257 * We can now use it as shown below, where "/commit/:commit" expects
    258 * that the value for ":commit" is at 5 or more digits. The capture
    259 * groups are then available as `req.params.commit` as we defined
    260 * in the function above.
    261 *
    262 * app.param('commit', /^\d{5,}$/);
    263 *
    264 * For more of this useful functionality take a look
    265 * at [express-params](http://github.com/visionmedia/express-params).
    266 *
    267 * @param {String|Array|Function} name
    268 * @param {Function} fn
    269 * @return {app} for chaining
    270 * @api public
    271 */
    272
    2731app.param = function(name, fn){
    2740 var self = this
    275 , fns = [].slice.call(arguments, 1);
    276
    277 // array
    2780 if (Array.isArray(name)) {
    2790 name.forEach(function(name){
    2800 fns.forEach(function(fn){
    2810 self.param(name, fn);
    282 });
    283 });
    284 // param logic
    2850 } else if ('function' == typeof name) {
    2860 this._router.param(name);
    287 // single
    288 } else {
    2890 if (':' == name[0]) name = name.substr(1);
    2900 fns.forEach(function(fn){
    2910 self._router.param(name, fn);
    292 });
    293 }
    294
    2950 return this;
    296};
    297
    298/**
    299 * Assign `setting` to `val`, or return `setting`'s value.
    300 * Mounted servers inherit their parent server's settings.
    301 *
    302 * @param {String} setting
    303 * @param {String} val
    304 * @return {Server|Mixed} for chaining, or the setting value
    305 * @api public
    306 */
    307
    3081app.set = function(setting, val){
    309807 if (1 == arguments.length) {
    310494 if (this.settings.hasOwnProperty(setting)) {
    311302 return this.settings[setting];
    312192 } else if (this.parent) {
    3131 return this.parent.set(setting);
    314 }
    315 } else {
    316313 this.settings[setting] = val;
    317313 return this;
    318 }
    319};
    320
    321/**
    322 * Return the app's absolute pathname
    323 * based on the parent(s) that have
    324 * mounted it.
    325 *
    326 * @return {String}
    327 * @api private
    328 */
    329
    3301app.path = function(){
    33118 return this.parent
    332 ? this.parent.path() + this.route
    333 : '';
    334};
    335
    336/**
    337 * Check if `setting` is enabled.
    338 *
    339 * @param {String} setting
    340 * @return {Boolean}
    341 * @api public
    342 */
    343
    3441app.enabled = function(setting){
    345167 return !!this.set(setting);
    346};
    347
    348/**
    349 * Check if `setting` is disabled.
    350 *
    351 * @param {String} setting
    352 * @return {Boolean}
    353 * @api public
    354 */
    355
    3561app.disabled = function(setting){
    3572 return !this.set(setting);
    358};
    359
    360/**
    361 * Enable `setting`.
    362 *
    363 * @param {String} setting
    364 * @return {app} for chaining
    365 * @api public
    366 */
    367
    3681app.enable = function(setting){
    36910 return this.set(setting, true);
    370};
    371
    372/**
    373 * Disable `setting`.
    374 *
    375 * @param {String} setting
    376 * @return {app} for chaining
    377 * @api public
    378 */
    379
    3801app.disable = function(setting){
    3811 return this.set(setting, false);
    382};
    383
    384/**
    385 * Configure callback for zero or more envs,
    386 * when no env is specified that callback will
    387 * be invoked for all environments. Any combination
    388 * can be used multiple times, in any order desired.
    389 *
    390 * Examples:
    391 *
    392 * app.configure(function(){
    393 * // executed for all envs
    394 * });
    395 *
    396 * app.configure('stage', function(){
    397 * // executed staging env
    398 * });
    399 *
    400 * app.configure('stage', 'production', function(){
    401 * // executed for stage and production
    402 * });
    403 *
    404 * @param {String} env...
    405 * @param {Function} fn
    406 * @return {app} for chaining
    407 * @api public
    408 */
    409
    4101app.configure = function(env, fn){
    411521 var envs = 'all'
    412 , args = [].slice.call(arguments);
    413521 fn = args.pop();
    4141039 if (args.length) envs = args;
    415533 if ('all' == envs || ~envs.indexOf(this.settings.env)) fn.call(this);
    416521 return this;
    417};
    418
    419/**
    420 * Listen for connections.
    421 *
    422 * This method takes the same arguments
    423 * as node's `http.Server#listen()`.
    424 *
    425 * @return {http.Server}
    426 * @api public
    427 */
    428
    4291app.listen = function(){
    4301 var server = http.createServer(this);
    4311 return server.listen.apply(server, arguments);
    432};
    433
    434/**
    435 * Delegate `.VERB(...)` calls to `.route(VERB, ...)`.
    436 */
    437
    4381methods.forEach(function(method){
    43925 app[method] = function(path){
    440771 if ('get' == method && 1 == arguments.length) return this.set(path);
    441123 var args = [method].concat([].slice.call(arguments));
    442189 if (!this._usedRouter) this.use(this.router);
    443123 return this._router.route.apply(this._router, args);
    444 }
    445});
    446
    447/**
    448 * Special-cased "all" method, applying the given route `path`,
    449 * middleware, and callback to _every_ HTTP method.
    450 *
    451 * @param {String} path
    452 * @param {Function} ...
    453 * @return {app} for chaining
    454 * @api public
    455 */
    456
    4571app.all = function(path){
    4582 var args = arguments;
    4592 methods.forEach(function(method){
    46054 if ('all' == method || 'del' == method) return;
    46146 app[method].apply(this, args);
    462 }, this);
    4632 return this;
    464};
    465
    466// del -> delete alias
    467
    4681app.del = app.delete;
    469
    470/**
    471 * Render the given view `name` name with `options`
    472 * and a callback accepting an error and the
    473 * rendered template string.
    474 *
    475 * @param {String} name
    476 * @param {String|Function} options or fn
    477 * @param {Function} fn
    478 * @api public
    479 */
    480
    4811app.render = function(name, options, fn){
    48231 var self = this
    483 , opts = {}
    484 , cache = this.cache
    485 , engines = this.engines
    486 , view;
    487
    488 // support callback function as second arg
    48931 if ('function' == typeof options) {
    49010 fn = options, options = {};
    491 }
    492
    493 // merge app.locals
    49431 utils.merge(opts, this.locals);
    495
    496 // merge options.locals
    49749 if (options.locals) utils.merge(opts, options.locals);
    498
    499 // merge options
    50031 utils.merge(opts, options);
    501
    502 // set .cache unless explicitly provided
    50331 opts.cache = null == opts.cache
    504 ? this.enabled('view cache')
    505 : opts.cache;
    506
    507 // primed cache
    50831 if (opts.cache) view = cache[name];
    509
    510 // view
    51131 if (!view) {
    51231 view = new View(name, {
    513 defaultEngine: this.get('view engine')
    514 , root: this.get('views') || process.cwd() + '/views'
    515 , engines: engines
    516 });
    517
    518 // prime the cache
    51931 if (opts.cache) cache[name] = view;
    520 }
    521
    522 // render
    52331 try {
    52431 view.render(opts, fn);
    525 } catch (err) {
    5260 fn(err);
    527 }
    528};

    router/index.js

    71%
    138
    99
    39
    LineHitsSource
    1/*!
    2 * Express - Router
    3 * Copyright(c) 2010 TJ Holowaychuk <tj@vision-media.ca>
    4 * MIT Licensed
    5 */
    6
    7/**
    8 * Module dependencies.
    9 */
    10
    111var Route = require('./route')
    12 , Collection = require('./collection')
    13 , utils = require('../utils')
    14 , debug = require('debug')('express:router')
    15 , parse = require('url').parse;
    16
    17/**
    18 * Expose `Router` constructor.
    19 */
    20
    211exports = module.exports = Router;
    22
    23/**
    24 * Expose HTTP methods.
    25 */
    26
    271var methods = exports.methods = require('./methods');
    28
    29/**
    30 * Initialize a new `Router` with the given `options`.
    31 *
    32 * @param {Object} options
    33 * @api private
    34 */
    35
    361function Router(options) {
    37256 options = options || {};
    38256 var self = this;
    39256 this.routes = new Collection;
    40256 this.map = {};
    41256 this.params = {};
    42256 this._params = [];
    43256 this.caseSensitive = options.caseSensitive;
    44256 this.strict = options.strict;
    45
    46256 this.middleware = function router(req, res, next){
    4772 self._dispatch(req, res, next);
    48 };
    49}
    50
    51/**
    52 * Register a param callback `fn` for the given `name`.
    53 *
    54 * @param {String|Function} name
    55 * @param {Function} fn
    56 * @return {Router} for chaining
    57 * @api public
    58 */
    59
    601Router.prototype.param = function(name, fn){
    61 // param logic
    620 if ('function' == typeof name) {
    630 this._params.push(name);
    640 return;
    65 }
    66
    67 // apply param functions
    680 var params = this._params
    69 , len = params.length
    70 , ret;
    71
    720 for (var i = 0; i < len; ++i) {
    730 if (ret = params[i](name, fn)) {
    740 fn = ret;
    75 }
    76 }
    77
    78 // ensure we end up with a
    79 // middleware function
    800 if ('function' != typeof fn) {
    810 throw new Error('invalid param() call for ' + name + ', got ' + fn);
    82 }
    83
    840 (this.params[name] = this.params[name] || []).push(fn);
    850 return this;
    86};
    87
    88/**
    89 * Return a `Collection` of all routes defined.
    90 *
    91 * @return {Collection}
    92 * @api public
    93 */
    94
    951Router.prototype.all = function(){
    960 return this.find(function(){
    970 return true;
    98 });
    99};
    100
    101/**
    102 * Remove the given `route`, returns
    103 * a bool indicating if the route was present
    104 * or not.
    105 *
    106 * @param {Route} route
    107 * @return {Boolean}
    108 * @api public
    109 */
    110
    1111Router.prototype.remove = function(route){
    1120 var routes = this.map[route.method]
    113 , len = routes.length;
    114
    115 // remove from array
    1160 var i = this.routes.indexOf(route);
    1170 this.routes.splice(i, 1);
    118
    119 // remove from map
    1200 for (var i = 0; i < len; ++i) {
    1210 if (route == routes[i]) {
    1220 routes.splice(i, 1);
    1230 return true;
    124 }
    125 }
    126};
    127
    128/**
    129 * Return routes with route paths matching `path`.
    130 *
    131 * @param {String} method
    132 * @param {String} path
    133 * @return {Collection}
    134 * @api public
    135 */
    136
    1371Router.prototype.lookup = function(method, path){
    1380 return this.find(function(route){
    1390 return path == route.path
    140 && (route.method == method
    141 || method == 'all');
    142 });
    143};
    144
    145// /**
    146// * Return routes with regexps that match the given `url`.
    147// *
    148// * @param {String} method
    149// * @param {String} url
    150// * @return {Collection}
    151// * @api public
    152// */
    153//
    154// Router.prototype.match = function(method, url){
    155// return this.find(function(route){
    156// return route.match(url)
    157// && (route.method == method
    158// || method == 'all');
    159// });
    160// };
    161
    162/**
    163 * Find routes based on the return value of `fn`
    164 * which is invoked once per route.
    165 *
    166 * @param {Function} fn
    167 * @return {Collection}
    168 * @api public
    169 */
    170
    1711Router.prototype.find = function(fn){
    1720 var len = methods.length
    173 , ret = new Collection(this)
    174 , method
    175 , routes
    176 , route;
    177
    1780 for (var i = 0; i < len; ++i) {
    1790 method = methods[i];
    1800 routes = this.map[method];
    1810 if (!routes) continue;
    1820 for (var j = 0, jlen = routes.length; j < jlen; ++j) {
    1830 route = routes[j];
    1840 if (fn(route)) ret.push(route);
    185 }
    186 }
    187
    1880 return ret;
    189};
    190
    191/**
    192 * Route dispatcher aka the route "middleware".
    193 *
    194 * @param {IncomingMessage} req
    195 * @param {ServerResponse} res
    196 * @param {Function} next
    197 * @api private
    198 */
    199
    2001Router.prototype._dispatch = function(req, res, next){
    20172 var params = this.params
    202 , self = this;
    203
    20472 debug('dispatching %s %s', req.method, req.url);
    205
    206 // route dispatch
    20772 (function pass(i, err){
    20882 var paramCallbacks
    209 , paramIndex = 0
    210 , paramVal
    211 , route
    212 , keys
    213 , key
    214 , ret;
    215
    216 // match next route
    21782 function nextRoute(err) {
    21810 pass(req._route_index + 1, err);
    219 }
    220
    221 // match route
    22282 req.route = route = self.match(req, i);
    223
    224 // implied OPTIONS
    22583 if (!route && 'OPTIONS' == req.method) return self._options(req, res);
    226
    227 // no route
    22893 if (!route) return next(err);
    22969 debug('matched %s %s', route.method, route.path);
    230
    231 // we have a route
    232 // start at param 0
    23369 req.params = route.params;
    23469 keys = route.keys;
    23569 i = 0;
    236
    237 // param callbacks
    23869 function param(err) {
    23991 paramIndex = 0;
    24091 key = keys[i++];
    24191 paramVal = key && req.params[key.name];
    24291 paramCallbacks = key && params[key.name];
    243
    24491 try {
    24591 if ('route' == err) {
    2460 nextRoute();
    24791 } else if (err) {
    2481 i = 0;
    2491 callbacks(err);
    25090 } else if (paramCallbacks && undefined !== paramVal) {
    2510 paramCallback();
    25290 } else if (key) {
    25322 param();
    254 } else {
    25568 i = 0;
    25668 callbacks();
    257 }
    258 } catch (err) {
    2590 param(err);
    260 }
    26169 };
    262
    26369 param(err);
    264
    265 // single param callbacks
    26669 function paramCallback(err) {
    2670 var fn = paramCallbacks[paramIndex++];
    2680 if (err || !fn) return param(err);
    2690 fn(req, res, paramCallback, paramVal, key.name);
    270 }
    271
    272 // invoke route callbacks
    27369 function callbacks(err) {
    27479 var fn = route.callbacks[i++];
    27579 try {
    27679 if ('route' == err) {
    2770 nextRoute();
    27879 } else if (err && fn) {
    2792 if (fn.length < 4) return callbacks(err);
    2800 fn(err, req, res, callbacks);
    28178 } else if (fn) {
    28268 fn(req, res, callbacks);
    283 } else {
    28410 nextRoute(err);
    285 }
    286 } catch (err) {
    2871 callbacks(err);
    288 }
    289 }
    290 })(0);
    291};
    292
    293/**
    294 * Respond to __OPTIONS__ method.
    295 *
    296 * @param {IncomingMessage} req
    297 * @param {ServerResponse} res
    298 * @api private
    299 */
    300
    3011Router.prototype._options = function(req, res){
    3021 var path = parse(req.url).pathname
    303 , body = this._optionsFor(path).join(',');
    3041 res.set('Allow', body).send(body);
    305};
    306
    307/**
    308 * Return an array of HTTP verbs or "options" for `path`.
    309 *
    310 * @param {String} path
    311 * @return {Array}
    312 * @api private
    313 */
    314
    3151Router.prototype._optionsFor = function(path){
    3161 var self = this;
    3171 return methods.filter(function(method){
    31823 var routes = self.map[method];
    31943 if (!routes || 'options' == method) return;
    3203 for (var i = 0, len = routes.length; i < len; ++i) {
    3215 if (routes[i].match(path)) return true;
    322 }
    323 }).map(function(method){
    3242 return method.toUpperCase();
    325 });
    326};
    327
    328/**
    329 * Attempt to match a route for `req`
    330 * with optional starting index of `i`
    331 * defaulting to 0.
    332 *
    333 * @param {IncomingMessage} req
    334 * @param {Number} i
    335 * @return {Route}
    336 * @api private
    337 */
    338
    3391Router.prototype.match = function(req, i, head){
    34089 var method = req.method.toLowerCase()
    341 , url = parse(req.url)
    342 , path = url.pathname
    343 , routes = this.map
    344 , i = i || 0
    345 , captures
    346 , route
    347 , keys;
    348
    349 // HEAD support
    350 // TODO: clean this up
    35189 if (!head && 'head' == method) {
    352 // attempt lookup
    3533 route = this.match(req, i, true);
    3545 if (route) return route;
    355
    356 // default to GET as res.render() / res.send()
    357 // etc support HEAD
    3581 method = 'get';
    359 }
    360
    361 // routes for this method
    36287 if (routes = routes[method]) {
    363
    364 // matching routes
    36585 for (var len = routes.length; i < len; ++i) {
    36684 route = routes[i];
    36784 if (captures = route.match(path)) {
    36872 keys = route.keys;
    36972 route.params = [];
    370
    371 // params from capture groups
    37272 for (var j = 1, jlen = captures.length; j < jlen; ++j) {
    37333 var key = keys[j-1]
    374 , val = 'string' == typeof captures[j]
    375 ? decodeURIComponent(captures[j])
    376 : captures[j];
    37733 if (key) {
    37822 route.params[key.name] = val;
    379 } else {
    38011 route.params.push(val);
    381 }
    382 }
    383
    384 // all done
    38572 req._route_index = i;
    38672 return route;
    387 }
    388 }
    389 }
    390};
    391
    392/**
    393 * Route `method`, `path`, and one or more callbacks.
    394 *
    395 * @param {String} method
    396 * @param {String} path
    397 * @param {Function} callback...
    398 * @return {Router} for chaining
    399 * @api private
    400 */
    401
    4021Router.prototype.route = function(method, path, callbacks){
    403127 var app = this.app
    404 , method = method.toLowerCase()
    405 , callbacks = utils.flatten([].slice.call(arguments, 2));
    406
    407 // ensure path was given
    408127 if (!path) throw new Error('Router#' + method + '() requires a path');
    409
    410 // create the route
    411127 debug('defined %s %s', method, path);
    412127 var route = new Route(method, path, callbacks, {
    413 sensitive: this.caseSensitive
    414 , strict: this.strict
    415 });
    416
    417 // add it
    418127 (this.map[method] = this.map[method] || []).push(route);
    419127 this.routes.push(route);
    420127 return this;
    421};

    router/route.js

    100%
    18
    18
    0
    LineHitsSource
    1/*!
    2 * Express - router - Route
    3 * Copyright(c) 2010 TJ Holowaychuk <tj@vision-media.ca>
    4 * MIT Licensed
    5 */
    6
    7/**
    8 * Expose `Route`.
    9 */
    10
    111module.exports = Route;
    12
    13/**
    14 * Initialize `Route` with the given HTTP `method`, `path`,
    15 * and an array of `callbacks` and `options`.
    16 *
    17 * Options:
    18 *
    19 * - `sensitive` enable case-sensitive routes
    20 * - `strict` enable strict matching for trailing slashes
    21 *
    22 * @param {String} method
    23 * @param {String} path
    24 * @param {Array} callbacks
    25 * @param {Object} options.
    26 * @api private
    27 */
    28
    291function Route(method, path, callbacks, options) {
    30127 options = options || {};
    31127 this.path = path;
    32127 this.method = method;
    33127 this.callbacks = callbacks;
    34127 this.regexp = normalize(path
    35 , this.keys = []
    36 , options.sensitive
    37 , options.strict);
    38}
    39
    40/**
    41 * Check if this route matches `path` and return captures made.
    42 *
    43 * @param {String} path
    44 * @return {Array}
    45 * @api private
    46 */
    47
    481Route.prototype.match = function(path){
    4987 return this.regexp.exec(path);
    50};
    51
    52/**
    53 * Normalize the given path string,
    54 * returning a regular expression.
    55 *
    56 * An empty array should be passed,
    57 * which will contain the placeholder
    58 * key names. For example "/user/:id" will
    59 * then contain ["id"].
    60 *
    61 * @param {String|RegExp|Array} path
    62 * @param {Array} keys
    63 * @param {Boolean} sensitive
    64 * @param {Boolean} strict
    65 * @return {RegExp}
    66 * @api private
    67 */
    68
    691function normalize(path, keys, sensitive, strict) {
    70129 if (path instanceof RegExp) return path;
    71125 if (path instanceof Array)
    721 path = '(' + path.join('|') + ')';
    73125 path = path
    74 .concat(strict ? '' : '/?')
    75 .replace(/\/\(/g, '(?:/')
    76 .replace(/(\/)?(\.)?:(\w+)(?:(\(.*?\)))?(\?)?/g, function(_, slash, format, key, capture, optional){
    7721 keys.push({ name: key, optional: !! optional });
    7821 slash = slash || '';
    7921 return ''
    80 + (optional ? '' : slash)
    81 + '(?:'
    82 + (optional ? slash : '')
    83 + (format || '') + (capture || (format && '([^/.]+?)' || '([^/]+?)')) + ')'
    84 + (optional || '');
    85 })
    86 .replace(/([\/.])/g, '\\$1')
    87 .replace(/\*/g, '(.*)');
    88125 return new RegExp('^' + path + '$', sensitive ? '' : 'i');
    89}

    router/collection.js

    50%
    10
    5
    5
    LineHitsSource
    1
    2/*!
    3 * Express - router - Collection
    4 * Copyright(c) 2010 TJ Holowaychuk <tj@vision-media.ca>
    5 * MIT Licensed
    6 */
    7
    8/**
    9 * Expose `Collection`.
    10 */
    11
    121module.exports = Collection;
    13
    14/**
    15 * Initialize a new route `Collection`
    16 * with the given `router`.
    17 *
    18 * @param {Router} router
    19 * @api private
    20 */
    21
    221function Collection(router) {
    23256 Object.defineProperty(this, 'router', { value: router });
    24}
    25
    26/**
    27 * Inherit from `Array.prototype`.
    28 */
    29
    301Collection.prototype.__proto__ = Array.prototype;
    31
    32/**
    33 * Remove the routes in this collection.
    34 *
    35 * @return {Collection} of routes removed
    36 * @api public
    37 */
    38
    391Collection.prototype.remove = function(){
    400 var router = this.router
    41 , len = this.length
    42 , ret = new Collection(this.router);
    43
    440 for (var i = 0; i < len; ++i) {
    450 if (router.remove(this[i])) {
    460 ret.push(this[i]);
    47 }
    48 }
    49
    500 return ret;
    51};
    52

    utils.js

    94%
    38
    36
    2
    LineHitsSource
    1
    2/*!
    3 * Express - utils
    4 * Copyright(c) 2010 TJ Holowaychuk <tj@vision-media.ca>
    5 * MIT Licensed
    6 */
    7
    8/**
    9 * Module dependencies.
    10 */
    11
    121var mime = require('mime');
    13
    14/**
    15 * Check if `path` looks absolute.
    16 *
    17 * @param {String} path
    18 * @return {Boolean}
    19 * @api private
    20 */
    21
    221exports.isAbsolute = function(path){
    2335 if ('/' == path[0]) return true;
    2427 if (':' == path[1] && '\\' == path[2]) return true;
    25};
    26
    27/**
    28 * Flatten the given `arr`.
    29 *
    30 * @param {Array} arr
    31 * @return {Array}
    32 * @api private
    33 */
    34
    351exports.flatten = function(arr, ret){
    36127 var ret = ret || []
    37 , len = arr.length;
    38127 for (var i = 0; i < len; ++i) {
    39127 if (Array.isArray(arr[i])) {
    400 exports.flatten(arr[i], ret);
    41 } else {
    42127 ret.push(arr[i]);
    43 }
    44 }
    45127 return ret;
    46};
    47
    48/**
    49 * Check if `type` is acceptable based on
    50 * the given `str`.
    51 *
    52 * @param {String} type
    53 * @param {String} str
    54 * @return {Boolean}
    55 * @api private
    56 */
    57
    581exports.accepts = function(type, str){
    59 // accept anything when Accept is not present
    604 if (!str) return true;
    61
    62 // resolve mime
    634 if (!~type.indexOf('/')) type = mime.lookup(type);
    64
    65 // split type/subtype
    662 type = type.split('/');
    67
    68 // parse
    692 var accepted = exports.parseAccept(str)
    70 , len = accepted.length
    71 , obj
    72 , ok;
    73
    742 for (var i = 0; i < len; ++i) {
    752 obj = accepted[i];
    763 if (exports.accept(type, obj)) return true;
    77 }
    78
    791 return false;
    80};
    81
    82/**
    83 * Check if `type` array is acceptable for `other`.
    84 *
    85 * @param {Array} type
    86 * @param {Object} other
    87 * @return {Boolean}
    88 * @api private
    89 */
    90
    911exports.accept = function(type, other){
    9225 return (type[0] == other.type || '*' == other.type)
    93 && (type[1] == other.subtype || '*' == other.subtype);
    94};
    95
    96/**
    97 * Parse accept `str`, returning
    98 * an array objects containing
    99 * `.type` and `.subtype` along
    100 * with the values provided by
    101 * `parseQuality()`.
    102 *
    103 * @param {Type} name
    104 * @return {Type}
    105 * @api private
    106 */
    107
    1081exports.parseAccept = function(str){
    10914 return exports
    110 .parseQuality(str)
    111 .map(function(obj){
    11227 var parts = obj.value.split('/');
    11327 obj.type = parts[0];
    11427 obj.subtype = parts[1];
    11527 return obj;
    116 });
    117};
    118
    119/**
    120 * Parse quality `str`, returning an
    121 * array of objects with `.value` and
    122 * `.quality`.
    123 *
    124 * @param {Type} name
    125 * @return {Type}
    126 * @api private
    127 */
    128
    1291exports.parseQuality = function(str){
    13020 return str
    131 .split(/ *, */)
    132 .map(quality)
    133 .filter(function(obj){
    13440 return obj.quality;
    135 })
    136 .sort(function(a, b){
    13720 return b.quality - a.quality;
    138 });
    139};
    140
    141/**
    142 * Parse quality `str` returning an
    143 * object with `.value` and `.quality`.
    144 *
    145 * @param {String} str
    146 * @return {Object}
    147 * @api private
    148 */
    149
    1501function quality(str) {
    15140 var parts = str.split(/ *; */)
    152 , val = parts[0];
    153
    15440 var q = parts[1]
    155 ? parseFloat(parts[1].split(/ *= */)[1])
    156 : 1;
    157
    15840 return { value: val, quality: q };
    159}
    160
    161/**
    162 * Escape special characters in the given string of html.
    163 *
    164 * @param {String} html
    165 * @return {String}
    166 * @api private
    167 */
    168
    1691exports.escape = function(html) {
    1700 return String(html)
    171 .replace(/&/g, '&amp;')
    172 .replace(/"/g, '&quot;')
    173 .replace(/</g, '&lt;')
    174 .replace(/>/g, '&gt;');
    175};

    router/methods.js

    100%
    1
    1
    0
    LineHitsSource
    1
    2/*!
    3 * Express - router - methods
    4 * Copyright(c) 2010 TJ Holowaychuk <tj@vision-media.ca>
    5 * MIT Licensed
    6 */
    7
    8/**
    9 * HTTP methods supported by node.
    10 */
    11
    121module.exports = [
    13 'get'
    14 , 'post'
    15 , 'put'
    16 , 'head'
    17 , 'delete'
    18 , 'options'
    19 , 'trace'
    20 , 'copy'
    21 , 'lock'
    22 , 'mkcol'
    23 , 'move'
    24 , 'propfind'
    25 , 'proppatch'
    26 , 'unlock'
    27 , 'report'
    28 , 'mkactivity'
    29 , 'checkout'
    30 , 'merge'
    31 , 'm-search'
    32 , 'notify'
    33 , 'subscribe'
    34 , 'unsubscribe'
    35 , 'patch'
    36];

    middleware.js

    100%
    14
    14
    0
    LineHitsSource
    1
    2/*!
    3 * Express - middleware - init
    4 * Copyright(c) 2010-2011 TJ Holowaychuk <tj@vision-media.ca>
    5 * MIT Licensed
    6 */
    7
    8/**
    9 * Initialization middleware, exposing the
    10 * request and response to eachother, as well
    11 * as defaulting the X-Powered-By header field.
    12 *
    13 * @param {Function} app
    14 * @return {Function}
    15 * @api private
    16 */
    17
    181exports.init = function(app){
    19254 return function(req, res, next){
    20215 var charset;
    21215 res.setHeader('X-Powered-By', 'Express');
    22215 req.app = res.app = app;
    23215 req.res = res;
    24215 res.req = req;
    25215 req.next = next;
    26
    27215 req.__proto__ = app.request;
    28215 res.__proto__ = app.response;
    29
    30215 res.locals = function(obj){
    313 for (var key in obj) res.locals[key] = obj[key];
    321 return res;
    33 };
    34
    35215 next();
    36 }
    37};

    view.js

    100%
    20
    20
    0
    LineHitsSource
    1
    2/*!
    3 * Express - View
    4 * Copyright(c) 2010 TJ Holowaychuk <tj@vision-media.ca>
    5 * MIT Licensed
    6 */
    7
    8/**
    9 * Module dependencies.
    10 */
    11
    121var path = require('path')
    13 , utils = require('./utils')
    14 , fs = require('fs')
    15 , dirname = path.dirname
    16 , basename = path.basename
    17 , extname = path.extname
    18 , exists = path.existsSync
    19 , join = path.join;
    20
    21/**
    22 * Expose `View`.
    23 */
    24
    251module.exports = View;
    26
    27/**
    28 * Initialize a new `View` with the given `name`.
    29 *
    30 * Options:
    31 *
    32 * - `defaultEngine` the default template engine name
    33 * - `engines` template engine require() cache
    34 * - `root` root path for view lookup
    35 *
    36 * @param {String} name
    37 * @param {Object} options
    38 * @api private
    39 */
    40
    411function View(name, options) {
    4231 options = options || {};
    4331 this.name = name;
    4431 this.root = options.root;
    4531 var engines = options.engines;
    4631 this.defaultEngine = options.defaultEngine;
    4731 var ext = this.ext = extname(name);
    4838 if (!ext) name += (ext = this.ext = '.' + this.defaultEngine);
    4931 this.engine = engines[ext] || (engines[ext] = require(ext.slice(1)).__express);
    5031 this.path = this.lookup(name);
    51}
    52
    53/**
    54 * Lookup view by the given `path`
    55 *
    56 * @param {String} path
    57 * @return {String}
    58 * @api private
    59 */
    60
    611View.prototype.lookup = function(path){
    6231 var ext = this.ext;
    63
    64 // <path>.<engine>
    6558 if (!utils.isAbsolute(path)) path = join(this.root, path);
    6660 if (exists(path)) return path;
    67
    68 // <path>/index.<engine>
    692 path = join(dirname(path), basename(path, ext), 'index' + ext);
    704 if (exists(path)) return path;
    71};
    72
    73/**
    74 * Render with the given `options` and callback `fn(err, str)`.
    75 *
    76 * @param {Object} options
    77 * @param {Function} fn
    78 * @api private
    79 */
    80
    811View.prototype.render = function(options, fn){
    8231 this.engine(this.path, options, fn);
    83};

    request.js

    96%
    59
    57
    2
    LineHitsSource
    1
    2/*!
    3 * Express - request
    4 * Copyright(c) 2010 TJ Holowaychuk <tj@vision-media.ca>
    5 * MIT Licensed
    6 */
    7
    8/**
    9 * Module dependencies.
    10 */
    11
    121var http = require('http')
    13 , utils = require('./utils')
    14 , connect = require('connect')
    15 , parse = require('url').parse
    16 , mime = require('mime');
    17
    18/**
    19 * Request prototype.
    20 */
    21
    221var req = exports = module.exports = {
    23 __proto__: http.IncomingMessage.prototype
    24};
    25
    26/**
    27 * Return request header.
    28 *
    29 * The `Referrer` header field is special-cased,
    30 * both `Referrer` and `Referer` will yield are
    31 * interchangeable.
    32 *
    33 * Examples:
    34 *
    35 * req.get('Content-Type');
    36 * // => "text/plain"
    37 *
    38 * req.get('content-type');
    39 * // => "text/plain"
    40 *
    41 * req.get('Something');
    42 * // => undefined
    43 *
    44 * @param {String} name
    45 * @return {String}
    46 * @api public
    47 */
    48
    491req.get = function(name){
    5084 switch (name = name.toLowerCase()) {
    51 case 'referer':
    52 case 'referrer':
    5314 return this.headers.referrer
    54 || this.headers.referer;
    55 default:
    5670 return this.headers[name];
    57 }
    58};
    59
    60/**
    61 * Check if the given `type` is acceptable,
    62 * otherwise you should respond with 406 "Not Acceptable".
    63 *
    64 * Examples:
    65 *
    66 * // Accept: text/html
    67 * req.accepts('html');
    68 * // => true
    69 *
    70 * // Accept: text/*; application/json
    71 * req.accepts('html');
    72 * req.accepts('text/html');
    73 * req.accepts('text/plain');
    74 * req.accepts('application/json');
    75 * // => true
    76 *
    77 * req.accepts('image/png');
    78 * req.accepts('png');
    79 * // => false
    80 *
    81 * @param {String} type
    82 * @return {Boolean}
    83 * @api public
    84 */
    85
    861req.accepts = function(type){
    873 return utils.accepts(type, this.get('Accept'));
    88};
    89
    90/**
    91 * Check if the given `charset` is acceptable,
    92 * otherwise you should respond with 406 "Not Acceptable".
    93 *
    94 * @param {String} charset
    95 * @return {Boolean}
    96 * @api public
    97 */
    98
    991req.acceptsCharset = function(charset){
    1003 var accepted = this.acceptedCharsets;
    1013 return accepted.length
    102 ? ~accepted.indexOf(charset)
    103 : true;
    104};
    105
    106/**
    107 * Check if the given `lang` is acceptable,
    108 * otherwise you should respond with 406 "Not Acceptable".
    109 *
    110 * @param {String} lang
    111 * @return {Boolean}
    112 * @api public
    113 */
    114
    1151req.acceptsLanguage = function(lang){
    1160 var accepted = this.acceptedLanguages;
    1170 return accepted.length
    118 ? ~accepted.indexOf(lang)
    119 : true;
    120};
    121
    122/**
    123 * Return an array of Accepted media types
    124 * ordered from highest quality to lowest.
    125 *
    126 * Examples:
    127 *
    128 * [ { value: 'application/json',
    129 * quality: 1,
    130 * type: 'application',
    131 * subtype: 'json' },
    132 * { value: 'text/html',
    133 * quality: 0.5,
    134 * type: 'text',
    135 * subtype: 'html' } ]
    136 *
    137 * @return {Array}
    138 * @api public
    139 */
    140
    1411req.__defineGetter__('accepted', function(){
    14226 var accept = this.get('Accept');
    14326 return accept
    144 ? utils.parseAccept(accept)
    145 : [];
    146});
    147
    148/**
    149 * Return an array of Accepted languages
    150 * ordered from highest quality to lowest.
    151 *
    152 * Examples:
    153 *
    154 * Accept-Language: en;q=.5, en-us
    155 * ['en-us', 'en']
    156 *
    157 * @return {Array}
    158 * @api public
    159 */
    160
    1611req.__defineGetter__('acceptedLanguages', function(){
    1623 var accept = this.get('Accept-Language');
    1633 return accept
    164 ? utils
    165 .parseQuality(accept)
    166 .map(function(obj){
    1674 return obj.value;
    168 })
    169 : [];
    170});
    171
    172/**
    173 * Return an array of Accepted charsets
    174 * ordered from highest quality to lowest.
    175 *
    176 * Examples:
    177 *
    178 * Accept-Charset: iso-8859-5;q=.2, unicode-1-1;q=0.8
    179 * ['unicode-1-1', 'iso-8859-5']
    180 *
    181 * @return {Array}
    182 * @api public
    183 */
    184
    1851req.__defineGetter__('acceptedCharsets', function(){
    1866 var accept = this.get('Accept-Charset');
    1876 return accept
    188 ? utils
    189 .parseQuality(accept)
    190 .map(function(obj){
    1919 return obj.value;
    192 })
    193 : [];
    194});
    195
    196/**
    197 * Return the value of param `name` when present or `defaultValue`.
    198 *
    199 * - Checks body params, ex: id=12, {"id":12}
    200 * - Checks route placeholders, ex: _/user/:id_
    201 * - Checks query string params, ex: ?id=12
    202 *
    203 * To utilize request bodies, `req.body`
    204 * should be an object. This can be done by using
    205 * the `connect.bodyParser()` middleware.
    206 *
    207 * @param {String} name
    208 * @param {Mixed} defaultValue
    209 * @return {String}
    210 * @api public
    211 */
    212
    2131req.param = function(name, defaultValue){
    214 // req.body
    2155 if (this.body && undefined !== this.body[name]) return this.body[name];
    216
    217 // route params
    2183 if (this.params
    219 && this.params.hasOwnProperty(name)
    220 && undefined !== this.params[name]) {
    2211 return this.params[name];
    222 }
    223
    224 // query-string
    2253 if (undefined !== this.query[name]) return this.query[name];
    226
    2271 return defaultValue;
    228};
    229
    230/**
    231 * Check if the incoming request contains the "Content-Type"
    232 * header field, and it contains the give mime `type`.
    233 *
    234 * Examples:
    235 *
    236 * // With Content-Type: text/html; charset=utf-8
    237 * req.is('html');
    238 * req.is('text/html');
    239 * req.is('text/*');
    240 * // => true
    241 *
    242 * // When Content-Type is application/json
    243 * req.is('json');
    244 * req.is('application/json');
    245 * req.is('application/*');
    246 * // => true
    247 *
    248 * req.is('html');
    249 * // => false
    250 *
    251 * Now within our route callbacks, we can use to to assert content types
    252 * such as "image/jpeg", "image/png", etc.
    253 *
    254 * app.post('/image/upload', function(req, res, next){
    255 * if (req.is('image/*')) {
    256 * // do something
    257 * } else {
    258 * next();
    259 * }
    260 * });
    261 *
    262 * @param {String} type
    263 * @return {Boolean}
    264 * @api public
    265 */
    266
    2671req.is = function(type){
    26814 var ct = this.get('Content-Type');
    26915 if (!ct) return false;
    27013 ct = ct.split(';')[0];
    27116 if (!~type.indexOf('/')) type = mime.lookup(type);
    27213 if (~type.indexOf('*')) {
    2738 type = type.split('/');
    2748 ct = ct.split('/');
    27510 if ('*' == type[0] && type[1] == ct[1]) return true;
    2768 if ('*' == type[1] && type[0] == ct[0]) return true;
    2774 return false;
    278 }
    2795 return !! ~ct.indexOf(type);
    280};
    281
    282/**
    283 * Return the protocol string "http" or "https"
    284 * when requested with TLS. When the "trust proxy"
    285 * setting is enabled the "X-Forwarded-Proto" header
    286 * field will be trusted. If you're running behind
    287 * a reverse proxy that supplies https for you this
    288 * may be enabled.
    289 *
    290 * @return {String}
    291 * @api public
    292 */
    293
    2941req.__defineGetter__('protocol', function(trustProxy){
    29512 var trustProxy = this.app.settings['trust proxy'];
    29612 return this.secure
    297 ? 'https'
    298 : trustProxy
    299 ? (this.get('X-Forwarded-Proto') || 'http')
    300 : 'http';
    301});
    302
    303/**
    304 * Short-hand for `req.connection.encrypted`.
    305 *
    306 * @return {Boolean}
    307 * @api public
    308 */
    309
    3101req.__defineGetter__('secure', function(){
    31112 return this.connection.encrypted;
    312});
    313
    314/**
    315 * Return subdomains as an array.
    316 *
    317 * For example "tobi.ferrets.example.com"
    318 * would provide `["ferrets", "tobi"]`.
    319 *
    320 * @return {Array}
    321 * @api public
    322 */
    323
    3241req.__defineGetter__('subdomains', function(){
    3252 return this.get('Host')
    326 .split('.')
    327 .slice(0, -2)
    328 .reverse();
    329});
    330
    331/**
    332 * Short-hand for `require('url').parse(req.url).pathname`.
    333 *
    334 * @return {String}
    335 * @api public
    336 */
    337
    3381req.__defineGetter__('path', function(){
    3393 return parse(this.url).pathname;
    340});
    341
    342/**
    343 * Check if the request is fresh, aka
    344 * Last-Modified and/or the ETag
    345 * still match.
    346 *
    347 * @return {Boolean}
    348 * @api public
    349 */
    350
    3511req.__defineGetter__('fresh', function(){
    3522 return ! this.stale;
    353});
    354
    355/**
    356 * Check if the request is stale, aka
    357 * "Last-Modified" and / or the "ETag" for the
    358 * resource has changed.
    359 *
    360 * @return {Boolean}
    361 * @api public
    362 */
    363
    3641req.__defineGetter__('stale', function(){
    3654 return connect.utils.modified(this, this.res);
    366});
    367
    368/**
    369 * Check if the request was an _XMLHttpRequest_.
    370 *
    371 * @return {Boolean}
    372 * @api public
    373 */
    374
    3751req.__defineGetter__('xhr', function(){
    3764 var val = this.get('X-Requested-With') || '';
    3774 return 'xmlhttprequest' == val.toLowerCase();
    378});

    response.js

    94%
    165
    156
    9
    LineHitsSource
    1
    2/*!
    3 * Express - response
    4 * Copyright(c) 2010 TJ Holowaychuk <tj@vision-media.ca>
    5 * MIT Licensed
    6 */
    7
    8/**
    9 * Module dependencies.
    10 */
    11
    121var fs = require('fs')
    13 , http = require('http')
    14 , path = require('path')
    15 , connect = require('connect')
    16 , utils = connect.utils
    17 , accept = require('./utils').accept
    18 , statusCodes = http.STATUS_CODES
    19 , send = connect.static.send
    20 , mime = require('mime')
    21 , basename = path.basename
    22 , join = path.join;
    23
    24/**
    25 * Response prototype.
    26 */
    27
    281var res = module.exports = {
    29 __proto__: http.ServerResponse.prototype
    30};
    31
    32/**
    33 * Set status `code`.
    34 *
    35 * @param {Number} code
    36 * @return {ServerResponse}
    37 * @api public
    38 */
    39
    401res.status = function(code){
    413 this.statusCode = code;
    423 return this;
    43};
    44
    45/**
    46 * Set Cache-Control to the given `type` and `options`.
    47 *
    48 * Options:
    49 *
    50 * - `maxAge` in milliseconds
    51 *
    52 * @param {String} type
    53 * @param {Object} options
    54 * @return {ServerResponse}
    55 * @api public
    56 */
    57
    581res.cache = function(type, options){
    592 var val = type;
    602 options = options || {};
    613 if (options.maxAge) val += ', max-age=' + (options.maxAge / 1000);
    622 return this.set('Cache-Control', val);
    63};
    64
    65/**
    66 * Send a response.
    67 *
    68 * Examples:
    69 *
    70 * res.send(new Buffer('wahoo'));
    71 * res.send({ some: 'json' });
    72 * res.send('<p>some html</p>');
    73 * res.send(404, 'Sorry, cant find that');
    74 * res.send(404);
    75 *
    76 * @param {Mixed} body or status
    77 * @param {Mixed} body
    78 * @return {ServerResponse}
    79 * @api public
    80 */
    81
    821res.send = function(body){
    8371 var req = this.req
    84 , head = 'HEAD' == req.method;
    85
    86 // allow status / body
    8771 if (2 == arguments.length) {
    883 this.statusCode = body;
    893 body = arguments[1];
    90 }
    91
    9271 switch (typeof body) {
    93 // response status
    94 case 'number':
    951 this.get('Content-Type') || this.contentType('.txt');
    961 this.statusCode = body;
    971 body = http.STATUS_CODES[body];
    981 break;
    99 // string defaulting to html
    100 case 'string':
    10155 if (!this.get('Content-Type')) {
    10234 this.charset = this.charset || 'utf-8';
    10334 this.contentType('.html');
    104 }
    10555 break;
    106 case 'boolean':
    107 case 'object':
    10814 if (null == body) {
    1091 body = '';
    11013 } else if (Buffer.isBuffer(body)) {
    1112 this.get('Content-Type') || this.contentType('.bin');
    112 } else {
    11311 return this.json(body);
    114 }
    1153 break;
    116 }
    117
    118 // populate Content-Length
    11960 if (undefined !== body && !this.get('Content-Length')) {
    12059 this.set('Content-Length', Buffer.isBuffer(body)
    121 ? body.length
    122 : Buffer.byteLength(body));
    123 }
    124
    125 // strip irrelevant headers
    12660 if (204 == this.statusCode || 304 == this.statusCode) {
    1272 this.removeHeader('Content-Type');
    1282 this.removeHeader('Content-Length');
    1292 body = '';
    130 }
    131
    132 // respond
    13360 this.end(head ? null : body);
    13460 return this;
    135};
    136
    137/**
    138 * Send JSON response.
    139 *
    140 * Examples:
    141 *
    142 * res.json(null);
    143 * res.json({ user: 'tj' });
    144 * res.json(500, 'oh noes!');
    145 * res.json(404, 'I dont have that');
    146 *
    147 * @param {Mixed} obj or status
    148 * @param {Mixed} obj
    149 * @return {ServerResponse}
    150 * @api public
    151 */
    152
    1531res.json = function(obj){
    154 // allow status / body
    15516 if (2 == arguments.length) {
    1561 this.statusCode = obj;
    1571 obj = arguments[1];
    158 }
    159
    16016 var settings = this.app.settings
    161 , jsonp = settings['jsonp callback']
    162 , replacer = settings['json replacer']
    163 , spaces = settings['json spaces']
    164 , body = JSON.stringify(obj, replacer, spaces)
    165 , callback = this.req.query.callback;
    166
    16716 this.charset = this.charset || 'utf-8';
    16816 this.set('Content-Type', 'application/json');
    169
    17016 if (callback && jsonp) {
    1710 this.set('Content-Type', 'text/javascript');
    1720 body = callback.replace(/[^\w$.]/g, '') + '(' + body + ');';
    173 }
    174
    17516 return this.send(body);
    176};
    177
    178/**
    179 * Transfer the file at the given `path`.
    180 *
    181 * Automatically sets the _Content-Type_ response header field.
    182 * The callback `fn(err)` is invoked when the transfer is complete
    183 * or when an error occurs. Be sure to check `res.sentHeader`
    184 * if you wish to attempt responding, as the header and some data
    185 * may have already been transferred.
    186 *
    187 * Options:
    188 *
    189 * - `maxAge` defaulting to 0
    190 * - `root` root directory for relative filenames
    191 *
    192 * @param {String} path
    193 * @param {Object|Function} options or fn
    194 * @param {Function} fn
    195 * @api public
    196 */
    197
    1981res.sendfile = function(path, options, fn){
    19912 var self = this
    200 , req = self.req
    201 , next = this.req.next
    202 , options = options || {};
    203
    204 // support function as second arg
    20512 if ('function' == typeof options) {
    2063 fn = options;
    2073 options = {};
    208 }
    209
    210 // callback
    21112 options.callback = function(err){
    21212 if (err) {
    213 // cast ENOENT
    2147 if ('ENOENT' == err.code) err = 404;
    215
    216 // coerce numeric error to an Error
    217 // TODO: remove
    218 // TODO: remove docs for headerSent?
    2197 if ('number' == typeof err) err = utils.error(err);
    220
    221 // ditch content-disposition to prevent funky responses
    22210 if (!self.headerSent) self.removeHeader('Content-Disposition');
    223
    224 // woot! callback available
    2257 if (fn) return fn(err);
    226
    227 // lost in limbo if there's no callback
    2283 if (self.headerSent) return;
    229
    2303 return req.next(err);
    231 }
    232
    2337 fn && fn();
    234 };
    235
    236 // transfer
    23712 options.path = encodeURIComponent(path);
    23812 send(this.req, this, next, options);
    239};
    240
    241/**
    242 * Transfer the file at the given `path` as an attachment.
    243 *
    244 * Optionally providing an alternate attachment `filename`,
    245 * and optional callback `fn(err)`. The callback is invoked
    246 * when the data transfer is complete, or when an error has
    247 * ocurred. Be sure to check `res.headerSent` if you plan to respond.
    248 *
    249 * @param {String} path
    250 * @param {String|Function} filename or fn
    251 * @param {Function} fn
    252 * @api public
    253 */
    254
    2551res.download = function(path, filename, fn){
    256 // support function as second arg
    2570 if ('function' == typeof filename) {
    2580 fn = filename;
    2590 filename = null;
    260 }
    261
    2620 return this.attachment(filename || path).sendfile(path, fn);
    263};
    264
    265/**
    266 * Set _Content-Type_ response header passed through `mime.lookup()`.
    267 *
    268 * Examples:
    269 *
    270 * var filename = 'path/to/image.png';
    271 * res.contentType(filename);
    272 * // res.headers['Content-Type'] is now "image/png"
    273 *
    274 * res.contentType('.html');
    275 * res.contentType('html');
    276 * res.contentType('json');
    277 * res.contentType('png');
    278 * res.type('png');
    279 *
    280 * @param {String} type
    281 * @return {ServerResponse} for chaining
    282 * @api public
    283 */
    284
    2851res.contentType =
    286res.type = function(type){
    28740 return this.set('Content-Type', mime.lookup(type));
    288};
    289
    290/**
    291 * Respond to the Acceptable formats using an `obj`
    292 * of mime-type callbacks.
    293 *
    294 * This method uses `req.accepted`, an array of
    295 * acceptable types ordered by their quality values.
    296 * When "Accept" is not present the _first_ callback
    297 * is invoked, otherwise the first match is used. When
    298 * no match is performed the server responds with
    299 * 406 "Not Acceptable".
    300 *
    301 * Content-Type is set for you, however if you choose
    302 * you may alter this within the callback using `res.type()`
    303 * or `res.set('Content-Type', ...)`.
    304 *
    305 * res.format({
    306 * 'text/plain': function(){
    307 * res.send('hey');
    308 * },
    309 *
    310 * 'text/html': function(){
    311 * res.send('<p>hey</p>');
    312 * },
    313 *
    314 * 'appliation/json': function(){
    315 * res.send({ message: 'hey' });
    316 * }
    317 * });
    318 *
    319 * In addition to canonicalized MIME types you may
    320 * also use extnames mapped to these types:
    321 *
    322 * res.format({
    323 * text: function(){
    324 * res.send('hey');
    325 * },
    326 *
    327 * html: function(){
    328 * res.send('<p>hey</p>');
    329 * },
    330 *
    331 * json: function(){
    332 * res.send({ message: 'hey' });
    333 * }
    334 * });
    335 *
    336 * @param {Object} obj
    337 * @return {ServerResponse} for chaining
    338 * @api public
    339 */
    340
    3411res.format = function(obj){
    34223 var keys = Object.keys(obj)
    343 , types = []
    344 , req = this.req
    345 , next = req.next
    346 , accepted = req.accepted
    347 , acceptedlen = accepted.length
    348 , type
    349 , key;
    350
    351 // normalize extnames -> mime
    35223 if (acceptedlen) {
    35310 for (var i = 0; i < keys.length; ++i) {
    35428 types.push(~keys[i].indexOf('/')
    355 ? keys[i]
    356 : mime.lookup(keys[i]));
    357 }
    358 }
    359
    360 // determine most acceptable format
    36123 out:
    362 for (var i = 0; i < acceptedlen; ++i) {
    36310 for (var j = 0, jlen = types.length; j < jlen; ++j) {
    36423 if (accept(types[j].split('/'), accepted[i])) {
    3658 key = keys[j];
    3668 type = types[j];
    3678 break out;
    368 }
    369 }
    370 }
    371
    372 // default to the first
    37323 if (!acceptedlen) {
    37413 key = keys[0];
    37513 type = types[0];
    376 }
    377
    37823 if (key) {
    37921 this.set('Content-Type', type);
    38021 obj[key](req, this, next);
    381 } else {
    3822 var err = new Error('Not Acceptable');
    3832 err.status = 406;
    3842 err.types = types;
    3852 next(err);
    386 }
    387
    38823 return this;
    389};
    390
    391/**
    392 * Set _Content-Disposition_ header to _attachment_ with optional `filename`.
    393 *
    394 * @param {String} filename
    395 * @return {ServerResponse}
    396 * @api public
    397 */
    398
    3991res.attachment = function(filename){
    4005 if (filename) this.type(filename);
    4013 this.set('Content-Disposition', filename
    402 ? 'attachment; filename="' + basename(filename) + '"'
    403 : 'attachment');
    4043 return this;
    405};
    406
    407/**
    408 * Set header `field` to `val`, or pass
    409 * an object of of header fields.
    410 *
    411 * Examples:
    412 *
    413 * res.set('Accept', 'application/json');
    414 * res.set({ Accept: 'text/plain', 'X-API-Key': 'tobi' });
    415 *
    416 * @param {String|Object} field
    417 * @param {String} val
    418 * @return {ServerResponse} for chaining
    419 * @api public
    420 */
    421
    4221res.set = function(field, val){
    423175 if (2 == arguments.length) {
    424174 this.setHeader(field, val);
    425 } else {
    4261 for (var key in field) {
    4272 this.setHeader(key, field[key]);
    428 }
    429 }
    430175 return this;
    431};
    432
    433/**
    434 * Get value for header `field`.
    435 *
    436 * @param {String} field
    437 * @return {String}
    438 * @api public
    439 */
    440
    4411res.get = function(field){
    442119 return this.getHeader(field);
    443};
    444
    445/**
    446 * Clear cookie `name`.
    447 *
    448 * @param {String} name
    449 * @param {Object} options
    450 * @param {ServerResponse} for chaining
    451 * @api public
    452 */
    453
    4541res.clearCookie = function(name, options){
    4552 var opts = { expires: new Date(1), path: '/' };
    4562 return this.cookie(name, '', options
    457 ? utils.merge(opts, options)
    458 : opts);
    459};
    460
    461/**
    462 * Set a signed cookie with the given `name` and `val`.
    463 * See `res.cookie()` for details.
    464 *
    465 * @param {String} name
    466 * @param {String|Object} val
    467 * @param {Object} options
    468 * @api public
    469 */
    470
    4711res.signedCookie = function(name, val, options){
    4722 var secret = this.req.secret;
    4732 if (!secret) throw new Error('connect.cookieParser("secret") required for signed cookies');
    4743 if ('object' == typeof val) val = 'j:' + JSON.stringify(val);
    4752 val = utils.sign(val, secret);
    4762 return this.cookie(name, val, options);
    477};
    478
    479/**
    480 * Set cookie `name` to `val`, with the given `options`.
    481 *
    482 * Options:
    483 *
    484 * - `maxAge` max-age in milliseconds, converted to `expires`
    485 * - `path` defaults to "/"
    486 *
    487 * Examples:
    488 *
    489 * // "Remember Me" for 15 minutes
    490 * res.cookie('rememberme', '1', { expires: new Date(Date.now() + 900000), httpOnly: true });
    491 *
    492 * // save as above
    493 * res.cookie('rememberme', '1', { maxAge: 900000, httpOnly: true })
    494 *
    495 * @param {String} name
    496 * @param {String|Object} val
    497 * @param {Options} options
    498 * @api public
    499 */
    500
    5011res.cookie = function(name, val, options){
    50210 options = options || {};
    50311 if ('object' == typeof val) val = 'j:' + JSON.stringify(val);
    50411 if ('maxAge' in options) options.expires = new Date(Date.now() + options.maxAge);
    50518 if (null == options.path) options.path = '/';
    50610 var cookie = utils.serializeCookie(name, val, options);
    50710 this.set('Set-Cookie', cookie);
    50810 return this;
    509};
    510
    511/**
    512 * Redirect to the given `url` with optional response `status`
    513 * defaulting to 302.
    514 *
    515 * The given `url` can also be the name of a mapped url, for
    516 * example by default express supports "back" which redirects
    517 * to the _Referrer_ or _Referer_ headers or "/".
    518 *
    519 * Examples:
    520 *
    521 * res.redirect('/foo/bar');
    522 * res.redirect('http://example.com');
    523 * res.redirect(301, 'http://example.com');
    524 *
    525 * Mounting:
    526 *
    527 * When an application is mounted, and `res.redirect()`
    528 * is given a path that does _not_ lead with "/". For
    529 * example suppose a "blog" app is mounted at "/blog",
    530 * the following redirect would result in "/blog/login":
    531 *
    532 * res.redirect('login');
    533 *
    534 * While the leading slash would result in a redirect to "/login":
    535 *
    536 * res.redirect('/login');
    537 *
    538 * @param {String} url
    539 * @param {Number} code
    540 * @api public
    541 */
    542
    5431res.redirect = function(url){
    54413 var app = this.app
    545 , req = this.req
    546 , head = 'HEAD' == req.method
    547 , status = 302
    548 , body;
    549
    550 // allow status / url
    55113 if (2 == arguments.length) {
    5521 status = url;
    5531 url = arguments[1];
    554 }
    555
    556 // setup redirect map
    55713 var map = { back: req.get('Referrer') || '/' };
    558
    559 // perform redirect
    56013 url = map[url] || url;
    561
    562 // relative
    56313 if (!~url.indexOf('://')) {
    5648 var path = app.path();
    565
    566 // relative to path
    5678 if (0 == url.indexOf('./') || 0 == url.indexOf('..')) {
    5682 url = req.path + '/' + url;
    569 // relative to mount-point
    5706 } else if ('/' != url[0]) {
    5713 url = path + '/' + url;
    572 }
    573
    574 // Absolute
    5758 var host = req.get('Host');
    5768 url = req.protocol + '://' + host + url;
    577 }
    578
    579 // Support text/{plain,html} by default
    58013 this.format({
    581 'text/plain': function(){
    58212 body = statusCodes[status] + '. Redirecting to ' + url;
    583 },
    584
    585 'text/html': function(){
    5861 body = '<p>' + statusCodes[status] + '. Redirecting to <a href="' + url + '">' + url + '</a></p>';
    587 }
    588 })
    589
    590 // Respond
    59113 this.statusCode = status;
    59213 this.set('Location', url);
    59313 this.end(head ? null : body);
    594};
    595
    596/**
    597 * Render `view` with the given `options` and optional callback `fn`.
    598 * When a callback function is given a response will _not_ be made
    599 * automatically, otherwise a response of _200_ and _text/html_ is given.
    600 *
    601 * Options:
    602 *
    603 * - `status` Response status code (`res.statusCode`)
    604 * - `charset` Set the charset (`res.charset`)
    605 *
    606 * Reserved locals:
    607 *
    608 * - `cache` boolean hinting to the engine it should cache
    609 * - `filename` filename of the view being rendered
    610 *
    611 * @param {String} view
    612 * @param {Object|Function} options or callback function
    613 * @param {Function} fn
    614 * @api public
    615 */
    616
    6171res.render = function(view, options, fn){
    61818 var self = this
    619 , options = options || {}
    620 , req = this.req
    621 , app = req.app;
    622
    623 // support callback function as second arg
    62418 if ('function' == typeof options) {
    6252 fn = options, options = {};
    626 }
    627
    62818 function render() {
    629 // merge res.locals
    63018 options.locals = self.locals;
    631
    632 // default callback to respond
    63318 fn = fn || function(err, str){
    63416 if (err) return req.next(err);
    63514 self.send(str);
    636 };
    637
    638 // render
    63918 app.render(view, options, fn);
    640 }
    641
    642 // invoke view callbacks
    64318 var callbacks = app.viewCallbacks
    644 , pending = callbacks.length
    645 , len = pending
    646 , done;
    647
    64818 if (len) {
    6493 for (var i = 0; i < len; ++i) {
    6504 callbacks[i](req, self, function(err){
    6514 if (done) return;
    652
    6534 if (err) {
    6540 req.next(err);
    6550 done = true;
    6560 return;
    657 }
    658
    6594 --pending || render();
    660 });
    661 }
    662 } else {
    66315 render();
    664 }
    665};
    \ No newline at end of file diff --git a/index.html b/index.html index 6bd181fd21..1679a56103 100644 --- a/index.html +++ b/index.html @@ -23,6 +23,7 @@

    Features

    • browser support
    • simple async support
    • +
    • test coverage reporting
    • proper exit status for CI support etc
    • auto-detects and disables coloring for non-ttys
    • maps uncaught exceptions to the correct test case
    • @@ -34,30 +35,31 @@

      Features

    • file watcher support
    • global variable leak detection
    • optionally run tests that match a regexp
    • -
    • auto-exit to prevent "hanging" with an active loop
    • +
    • auto-exit to prevent “hanging” with an active loop
    • easily meta-generate suites & test-cases
    • mocha.opts file support
    • node debugger support
    • detects multiple calls to done()
    • use any assertion library you want
    • extensible reporting, bundled with 9+ reporters
    • -
    • extensible test DSLs or "interfaces"
    • +
    • extensible test DSLs or “interfaces”
    • before, after, before each, after each hooks
    • coffee-script support
    • TextMate bundle
    • and more!
    +

    Installation

    -

    Install with npm:

    +

    Install with npm:

    $ npm install -g mocha
     

    Assertions

    -

    Mocha allows you to use any assertion library you want, if it throws an error, it will work! This means you can utilize libraries such as should.js, node's regular assert module, or others. The following is a list of known assertion libraries for node and/or the browser:

    +

    Mocha allows you to use any assertion library you want, if it throws an error, it will work! This means you can utilize libraries such as should.js, node’s regular assert module, or others. The following is a list of known assertion libraries for node and/or the browser:

    • should.js BDD style shown throughout these docs
    • @@ -65,9 +67,10 @@

      Assertions

    • chai expect(), assert() and should style assertions
    +

    Synchronous code

    -

    When testing synchronous code, omit the callback and Mocha will automatically continue on to the next test.

    +

    When testing synchronous code, omit the callback and Mocha will automatically continue on to the next test.

    describe('Array', function(){
       describe('#indexOf()', function(){
    @@ -96,7 +99,7 @@ 

    Asynchronous code

    })
    -

    To make things even easier, the done() callback accepts an error, so we may use this directly:

    +

    To make things even easier, the done() callback accepts an error, so we may use this directly:

    describe('User', function(){
       describe('#save()', function(){
    @@ -108,7 +111,7 @@ 

    Asynchronous code

    })
    -

    All "hooks", that is before(), after(), beforeEach(), afterEach() may be sync or async as well, behaving much like a regular test-case. For example you may wish to populate database with dummy content before each test:

    +

    All “hooks”, that is before(), after(), beforeEach(), afterEach() may be sync or async as well, behaving much like a regular test-case. For example you may wish to populate database with dummy content before each test:

    describe('Connection', function(){
       var db = new Connection
    @@ -137,7 +140,7 @@ 

    Asynchronous code

    Pending tests

    -

    Pending test-cases are simply those without a callback:

    +

    Pending test-cases are simply those without a callback:

    describe('Array', function(){
       describe('#indexOf()', function(){
    @@ -148,17 +151,17 @@ 

    Pending tests

    Test duration

    -

    Most of the reporters support some form of displaying +

    Most of the reporters support some form of displaying test duration, as well as flagging tests that are slow, - as shown here with the "spec" reporter:

    + as shown here with the “spec” reporter:

    -

    test duration

    +

    test duration

    mocha(1)

    -

    Usage: mocha [options] [files]

    +

    Usage: mocha [options] [files]

    -

    Options:

    +

    Options:

    -h, --help             output usage information
     -V, --version          output the version number
    @@ -180,51 +183,51 @@ 

    mocha(1)

    --reporters display available reporters
    -

    -w, --watch

    +

    -w, –watch

    -

    Executes tests on changes to JavaScript in the CWD.

    +

    Executes tests on changes to JavaScript in the CWD.

    -

    -b, --bail

    +

    -b, –bail

    -

    Only interested in the first exception? use --bail !

    +

    Only interested in the first exception? use --bail !

    -

    -d, --debug

    +

    -d, –debug

    -

    Enables node's debugger support, this executes your script(s) with node debug <file ...> allowing you to step through code and break with the debugger statement.

    +

    Enables node’s debugger support, this executes your script(s) with node debug <file ...> allowing you to step through code and break with the debugger statement.

    -

    --globals <names>

    +

    –globals <names>

    -

    Accepts a comma-delimited list of accepted global variable names. For example suppose your app deliberately exposes a global named app and YUI, you may want to add --globals app,YUI.

    +

    Accepts a comma-delimited list of accepted global variable names. For example suppose your app deliberately exposes a global named app and YUI, you may want to add --globals app,YUI.

    -

    --ignore-leaks

    +

    –ignore-leaks

    -

    By default Mocha will fail when global variables are introduced, you may use --globals to specify a few, or use --ignore-leaks to disable this functionality.

    +

    By default Mocha will fail when global variables are introduced, you may use --globals to specify a few, or use --ignore-leaks to disable this functionality.

    -

    -r, --require <name>

    +

    -r, –require <name>

    -

    The --require option is useful for libraries such as should.js, so you may simply --require should instead of manually invoking require('should') within each test file.

    +

    The --require option is useful for libraries such as should.js, so you may simply --require should instead of manually invoking require('should') within each test file.

    -

    -u, --ui <name>

    +

    -u, –ui <name>

    -

    The --ui option lets you specify the interface to use, defaulting to "bdd".

    +

    The --ui option lets you specify the interface to use, defaulting to “bdd”.

    -

    -R, --reporter <name>

    +

    -R, –reporter <name>

    -

    The --reporter option allows you to specify the reporter that will be used, defaulting to "dot".

    +

    The --reporter option allows you to specify the reporter that will be used, defaulting to “dot”.

    -

    -t, --timeout <ms>

    +

    -t, –timeout <ms>

    -

    Specifies the test-case timeout, defaulting to 2 seconds. To override you may pass the timeout in milliseconds, or a value with the s suffix, ex: --timeout 2s or --timeout 2000 would be equivalent.

    +

    Specifies the test-case timeout, defaulting to 2 seconds. To override you may pass the timeout in milliseconds, or a value with the s suffix, ex: --timeout 2s or --timeout 2000 would be equivalent.

    -

    -s, --slow <ms>

    +

    -s, –slow <ms>

    -

    Specify the "slow" test threshold, defaulting to 75ms. Mocha uses this to highlight test-cases that are taking too long.

    +

    Specify the “slow” test threshold, defaulting to 75ms. Mocha uses this to highlight test-cases that are taking too long.

    -

    -g, --grep <pattern>

    +

    -g, –grep <pattern>

    -

    The --grep option when specified will trigger mocha to only run tests matching the given pattern which is internally compiled to a RegExp.

    +

    The --grep option when specified will trigger mocha to only run tests matching the given pattern which is internally compiled to a RegExp.

    -

    Suppose for example you have "api" related tests, as well as "app" related tests, as shown in the following snippet; One could use --grep api or --grep app to run one or the other. The same goes for any other part of a suite or test-case title, --grep users would be valid as well, or even --grep GET.

    +

    Suppose for example you have “api” related tests, as well as “app” related tests, as shown in the following snippet; One could use --grep api or --grep app to run one or the other. The same goes for any other part of a suite or test-case title, --grep users would be valid as well, or even --grep GET.

    describe('api', function(){
       describe('GET /api/users', function(){
    @@ -241,11 +244,11 @@ 

    -g, --grep <pattern>

    Interfaces

    -

    Mocha "interface" system allows developers to choose their style of DSL. Shipping with BDD, TDD, and exports flavoured interfaces.

    +

    Mocha “interface” system allows developers to choose their style of DSL. Shipping with BDD, TDD, and exports flavoured interfaces.

    BDD

    -

    The "BDD" interface provides describe(), it(), before(), after(), beforeEach(), and afterEach():

    +

    The “BDD” interface provides describe(), it(), before(), after(), beforeEach(), and afterEach():

    describe('Array', function(){
       before(function(){
    @@ -262,7 +265,7 @@ 

    BDD

    TDD

    -

    The "TDD" interface provides suite(), test(), setup(), and teardown().

    +

    The “TDD” interface provides suite(), test(), setup(), and teardown().

    suite('Array', function(){
       setup(function(){
    @@ -279,7 +282,7 @@ 

    TDD

    Exports

    -

    The "exports" interface is much like Mocha's predecessor expresso. The keys before, after, beforeEach, and afterEach are special-cased, object values +

    The “exports” interface is much like Mocha’s predecessor expresso. The keys before, after, beforeEach, and afterEach are special-cased, object values are suites, and function values are test-cases.

    module.exports = {
    @@ -299,7 +302,7 @@ 

    Exports

    QUnit

    -

    The qunit-inspired interface matches the "flat" look of QUnit where the test suite title is simply defined before the test-cases.

    +

    The qunit-inspired interface matches the “flat” look of QUnit where the test suite title is simply defined before the test-cases.

    function ok(expr, msg) {
       if (!expr) throw new Error(msg);
    @@ -328,76 +331,88 @@ 

    QUnit

    Reporters

    -

    Mocha reporters adjust to the terminal window, +

    Mocha reporters adjust to the terminal window, and always disable ansi-escape colouring when the stdio streams are not associated with a tty.

    Dot Matrix

    -

    The "dot" matrix reporter is simply a series of dots +

    The “dot” matrix reporter is simply a series of dots that represent test cases, failures highlight in red, pending in blue, slow as yellow.

    -

    dot matrix reporter

    +

    dot matrix reporter

    Spec

    -

    The "spec" reporter outputs a hierarchical view +

    The “spec” reporter outputs a hierarchical view nested just as the test cases are.

    -

    spec reporter - spec reporter with failure

    +

    spec reporter + spec reporter with failure

    TAP

    -

    The TAP reporter emits lines for a Test-Anything-Protocol consumer.

    +

    The TAP reporter emits lines for a Test-Anything-Protocol consumer.

    -

    test anything protocol

    +

    test anything protocol

    Landing Strip

    -

    The Landing Strip reporter is a gimmicky test reporter simulating +

    The Landing Strip reporter is a gimmicky test reporter simulating a plane landing :) unicode ftw

    -

    landing strip plane reporter - landing strip with failure

    +

    landing strip plane reporter + landing strip with failure

    List

    -

    The "List" reporter outputs a simple specifications list as - test cases pass or fail, outputting the failure details at +

    The “List” reporter outputs a simple specifications list as + test cases pass or fail, outputting the failure details at the bottom of the output.

    -

    list reporter

    +

    list reporter

    Progress

    -

    The progress reporter implements a simple progress-bar:

    +

    The progress reporter implements a simple progress-bar:

    -

    progress bar

    +

    progress bar

    JSON

    -

    The JSON reporter outputs a single large JSON object when +

    The JSON reporter outputs a single large JSON object when the tests have completed (failures or not).

    -

    json reporter

    +

    json reporter

    JSON Stream

    -

    The JSON Stream reporter outputs newline-delimited JSON "events" as they occur, beginning with a "start" event, followed by test passes or failures, and then the final "end" event.

    +

    The JSON Stream reporter outputs newline-delimited JSON “events” as they occur, beginning with a “start” event, followed by test passes or failures, and then the final “end” event.

    + +

    json stream reporter

    + +

    JSONCov

    + +

    The JSONCov reporter is similar to the JSON reporter, however when run against a library instrumented by node-jscoverage it will produce coverage output.

    -

    json stream reporter

    +

    HTMLCov

    + +

    The HTMLCov reporter extends the JSONCov reporter. The library being tested should first be instrumented by node-jscoverage, this allows Mocha to capture the coverage information necessary to produce a single-page HTML report.

    + +

    Click to view the current Express test coverage report. For an integration example view the mcoha test coverage support commit for Express.

    + +

    code coverage reporting

    Doc

    -

    The "doc" reporter outputs a hierarchical HTML body representation +

    The “doc” reporter outputs a hierarchical HTML body representation of your tests, wrap it with a header, footer, some styling and you have some fantastic documentation!

    -

    doc reporter

    +

    doc reporter

    -

    For example suppose you have the following JavaScript:

    +

    For example suppose you have the following JavaScript:

    describe('Array', function(){
       describe('#indexOf()', function(){
    @@ -409,7 +424,7 @@ 

    Doc

    })
    -

    The command mocha --reporter doc array would yield:

    +

    The command mocha --reporter doc array would yield:

    <section class="suite">
       <h1>Array</h1>
    @@ -426,7 +441,7 @@ 

    Doc

    </section>
    -

    The SuperAgent request library test documentation was generated with Mocha's doc reporter using this simple make target:

    +

    The SuperAgent request library test documentation was generated with Mocha’s doc reporter using this simple make target:

    test-docs:
         make test REPORTER=doc \
    @@ -434,26 +449,26 @@ 

    Doc

    > docs/test.html
    -

    View the entire Makefile for reference.

    +

    View the entire Makefile for reference.

    XUnit

    -

    Documentation needed.

    +

    Documentation needed.

    TeamCity

    -

    Documentation needed.

    +

    Documentation needed.

    HTML

    -

    The HTML reporter is currently the only browser reporter +

    The HTML reporter is currently the only browser reporter supported by Mocha, and it looks like this:

    -

    HTML test reporter

    +

    HTML test reporter

    Browser support

    -

    Mocha runs in the browser. Every release of Mocha will have new builds of ./mocha.js and ./mocha.css for use in the browser. To setup Mocha for browser use all you have to do is include the script, stylesheet, tell Mocha which interface you wish to use, and then run the tests. A typical setup might look something like the following, where we call mocha.setup('bdd') to use the BDD interface before loading the test scripts, running them onload with mocha.run().

    +

    Mocha runs in the browser. Every release of Mocha will have new builds of ./mocha.js and ./mocha.css for use in the browser. To setup Mocha for browser use all you have to do is include the script, stylesheet, tell Mocha which interface you wish to use, and then run the tests. A typical setup might look something like the following, where we call mocha.setup('bdd') to use the BDD interface before loading the test scripts, running them onload with mocha.run().

    <html>
     <head>
    @@ -481,22 +496,22 @@ 

    Browser support

    </html>
    -

    Feel free to hot-link the mocha.css and mocha.js from GitHub.

    +

    Feel free to hot-link the mocha.css and mocha.js from GitHub.

    grep

    -

    The client-side may utilize --grep as well, however you use the query-string, for example ?grep=api.

    +

    The client-side may utilize --grep as well, however you use the query-string, for example ?grep=api.

    mocha.opts

    -

    Mocha will attempt to load ./test/mocha.opts, these are concatenated with process.argv, though command-line args will take precedence. For example suppose you have the following mocha.opts file:

    +

    Mocha will attempt to load ./test/mocha.opts, these are concatenated with process.argv, though command-line args will take precedence. For example suppose you have the following mocha.opts file:

    --require should
     --reporter dot
     --ui bdd
     
    -

    This will default the reporter to dot, require the should library, +

    This will default the reporter to dot, require the should library, and use bdd as the interface. With this you may then invoke mocha(1) with additional arguments, here enabling growl support and changing the reporter to spec:

    @@ -506,7 +521,7 @@

    mocha.opts

    Test specific timeouts

    -

    To compliment the global --timeout option, you may also specific test-specific timeouts via this.timeout(), or disable the timeout all-together with this.timeout(0).

    +

    To compliment the global --timeout option, you may also specific test-specific timeouts via this.timeout(), or disable the timeout all-together with this.timeout(0).

    it('should take less than 500ms', function(done){
       this.timeout(500);
    @@ -518,12 +533,12 @@ 

    Best practices

    test/*

    -

    By default mocha(1) will use the pattern ./test/*.js, so - it's usually a good place to put your tests.

    +

    By default mocha(1) will use the pattern ./test/*.js, so + it’s usually a good place to put your tests.

    Makefiles

    -

    Be kind and don't make developers hunt around in your docs to figure +

    Be kind and don’t make developers hunt around in your docs to figure out how to run the tests, add a make test target to your Makefile:

     test:
    @@ -535,11 +550,11 @@ 

    Makefiles

    Editors

    -

    The following editor-related packages are available:

    +

    The following editor-related packages are available:

    TextMate bundle

    -

    The Mocha TextMate bundle includes snippets to +

    The Mocha TextMate bundle includes snippets to make writing tests quicker and more enjoyable. To install the bundle run:

    @@ -548,37 +563,38 @@

    TextMate bundle

    Example test suites

    -

    The following test suites are from real projects putting Mocha to use, +

    The following test suites are from real projects putting Mocha to use, so they serve as good examples:

    -

    Running mocha's tests

    -

    Run the tests:

    +

    Running mocha’s tests

    + +

    Run the tests:

       $ make test
     
    -

    Run all tests, including interfaces:

    +

    Run all tests, including interfaces:

       $ make test-all
     
    -

    Alter the reporter:

    +

    Alter the reporter:

       $ make test REPORTER=list
     

    More information

    -

    For additional information such as using spies, mocking, and shared behaviours be sure to check out the Mocha Wiki on GitHub.

    +

    For additional information such as using spies, mocking, and shared behaviours be sure to check out the Mocha Wiki on GitHub.

    - + \ No newline at end of file From be8a7b82bb530774ebac8e27f140a86b18bb2c74 Mon Sep 17 00:00:00 2001 From: Travis Jeffery Date: Mon, 20 Oct 2014 15:18:02 -0500 Subject: [PATCH 171/272] rebuild pages From e312dc0084728b9caa58af40dbacce55ccd24916 Mon Sep 17 00:00:00 2001 From: Christopher Hiller Date: Mon, 20 Oct 2014 13:58:48 -0700 Subject: [PATCH 172/272] updating repo url --- head.html | 2 +- index.html | 12 ++++++------ index.md | 6 +++--- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/head.html b/head.html index 33acb6da40..c93fcfaee2 100644 --- a/head.html +++ b/head.html @@ -20,5 +20,5 @@
    -

    Mocha

    +

    Mocha

    simple, flexible, fun

    diff --git a/index.html b/index.html index 21925e9b60..c56810dd49 100644 --- a/index.html +++ b/index.html @@ -20,9 +20,9 @@
    -

    Mocha

    +

    Mocha

    simple, flexible, fun

    -

    Mocha is a feature-rich JavaScript test framework running on node.js and the browser, making asynchronous testing simple and fun. Mocha tests run serially, allowing for flexible and accurate reporting, while mapping uncaught exceptions to the correct test cases. Hosted on GitHub.

    +

    Mocha is a feature-rich JavaScript test framework running on node.js and the browser, making asynchronous testing simple and fun. Mocha tests run serially, allowing for flexible and accurate reporting, while mapping uncaught exceptions to the correct test cases. Hosted on GitHub.

    Features

    @@ -754,7 +754,7 @@

    Mocha Setup in the Browser

    Mocha options can be set via mocha.setup(). Examples:

    -
    // Use "tdd" interface.  This is a shortcut to setting the interface; 
    +
    // Use "tdd" interface.  This is a shortcut to setting the interface;
     // any other options must be passed via an object.
     mocha.setup('tdd');
     
    @@ -873,7 +873,7 @@ 

    Example test suites

  • Connect
  • SuperAgent
  • WebSocket.io
  • -
  • Mocha
  • +
  • Mocha
  • Running mocha's tests

    @@ -895,10 +895,10 @@

    Running mocha's tests

    More information

    -

    For additional information such as using spies, mocking, and shared behaviours be sure to check out the Mocha Wiki on GitHub. For discussions join the Google Group. For a running example of mocha view example/tests.html. For the JavaScript API view the source.

    +

    For additional information such as using spies, mocking, and shared behaviours be sure to check out the Mocha Wiki on GitHub. For discussions join the Google Group. For a running example of mocha view example/tests.html. For the JavaScript API view the source.

    © 2011 TJ Holowaychuk. All rights reserved.
    - \ No newline at end of file + diff --git a/index.md b/index.md index 7872bfa809..0b3d68dba7 100644 --- a/index.md +++ b/index.md @@ -1,4 +1,4 @@ -Mocha is a feature-rich JavaScript test framework running on [node.js](http://nodejs.org) and the browser, making asynchronous testing simple and fun. Mocha tests run serially, allowing for flexible and accurate reporting, while mapping uncaught exceptions to the correct test cases. Hosted on [GitHub](https://github.com/visionmedia/mocha). +Mocha is a feature-rich JavaScript test framework running on [node.js](http://nodejs.org) and the browser, making asynchronous testing simple and fun. Mocha tests run serially, allowing for flexible and accurate reporting, while mapping uncaught exceptions to the correct test cases. Hosted on [GitHub](https://github.com/mochajs/mocha).

    Features

    @@ -817,7 +817,7 @@ Testing asynchronous code with Mocha could not be simpler! Simply invoke the cal - [Connect](https://github.com/senchalabs/connect/tree/master/test) - [SuperAgent](https://github.com/visionmedia/superagent/tree/master/test/node) - [WebSocket.io](https://github.com/LearnBoost/websocket.io/tree/master/test) - - [Mocha](https://github.com/visionmedia/mocha/tree/master/test) + - [Mocha](https://github.com/mochajs/mocha/tree/master/test)

    Running mocha's tests

    @@ -835,4 +835,4 @@ Testing asynchronous code with Mocha could not be simpler! Simply invoke the cal

    More information

    - For additional information such as using spies, mocking, and shared behaviours be sure to check out the [Mocha Wiki](https://github.com/visionmedia/mocha/wiki) on GitHub. For discussions join the [Google Group](http://groups.google.com/group/mochajs). For a running example of mocha view [example/tests.html](example/tests.html). For the JavaScript API view the [source](https://github.com/visionmedia/mocha/blob/master/lib/mocha.js#L51). + For additional information such as using spies, mocking, and shared behaviours be sure to check out the [Mocha Wiki](https://github.com/mochajs/mocha/wiki) on GitHub. For discussions join the [Google Group](http://groups.google.com/group/mochajs). For a running example of mocha view [example/tests.html](example/tests.html). For the JavaScript API view the [source](https://github.com/mochajs/mocha/blob/master/lib/mocha.js#L51). From 82843b327f3addfb2c61de8d4fb2bfe50b342e3f Mon Sep 17 00:00:00 2001 From: Christopher Hiller Date: Tue, 21 Oct 2014 00:20:30 -0700 Subject: [PATCH 173/272] trying a CNAME file again --- CNAME | 1 + 1 file changed, 1 insertion(+) create mode 100644 CNAME diff --git a/CNAME b/CNAME new file mode 100644 index 0000000000..f596d46df1 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +mochajs.org From f3bcdc05d21591cbf75dc530468aa48ca8a351de Mon Sep 17 00:00:00 2001 From: Christopher Hiller Date: Tue, 21 Oct 2014 00:38:52 -0700 Subject: [PATCH 174/272] trash CNAME GitHub seems broken --- CNAME | 1 - 1 file changed, 1 deletion(-) delete mode 100644 CNAME diff --git a/CNAME b/CNAME deleted file mode 100644 index f596d46df1..0000000000 --- a/CNAME +++ /dev/null @@ -1 +0,0 @@ -mochajs.org From 7f9704fa2c558949e429e40f711488492c6613df Mon Sep 17 00:00:00 2001 From: Christopher Hiller Date: Tue, 21 Oct 2014 02:09:25 -0700 Subject: [PATCH 175/272] make CNAME again 3rd try's the charm? --- CNAME | 1 + 1 file changed, 1 insertion(+) create mode 100644 CNAME diff --git a/CNAME b/CNAME new file mode 100644 index 0000000000..f596d46df1 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +mochajs.org From ce0aa8e54734cf436b7a3da8bd65449034dc6563 Mon Sep 17 00:00:00 2001 From: Christopher Hiller Date: Fri, 21 Nov 2014 04:07:18 -0800 Subject: [PATCH 176/272] add www.mochajs.org to CNAME --- CNAME | 1 + 1 file changed, 1 insertion(+) diff --git a/CNAME b/CNAME index f596d46df1..fcf16becd4 100644 --- a/CNAME +++ b/CNAME @@ -1 +1,2 @@ mochajs.org +www.mochajs.org From e4f4371f448899cad8859ddcab4b24996e89ad52 Mon Sep 17 00:00:00 2001 From: Christopher Hiller Date: Fri, 21 Nov 2014 04:09:37 -0800 Subject: [PATCH 177/272] revert change to CNAME I don't think this is how it works; I need to update the DNS record on my end. --- CNAME | 1 - 1 file changed, 1 deletion(-) diff --git a/CNAME b/CNAME index fcf16becd4..f596d46df1 100644 --- a/CNAME +++ b/CNAME @@ -1,2 +1 @@ mochajs.org -www.mochajs.org From c3caa248b392c62c07942b4fce32856d287783eb Mon Sep 17 00:00:00 2001 From: oveddan Date: Mon, 15 Dec 2014 23:24:35 -0500 Subject: [PATCH 178/272] Documented the context feature in BDD interface --- index.html | 24 +++++++++++++++++++----- index.md | 20 +++++++++++++++++--- 2 files changed, 36 insertions(+), 8 deletions(-) diff --git a/index.html b/index.html index c56810dd49..594e84f80d 100644 --- a/index.html +++ b/index.html @@ -452,7 +452,9 @@

    Interfaces

    BDD

    -

    The "BDD" interface provides describe(), it(), before(), after(), beforeEach(), and afterEach():

    +

    The "BDD" interface provides describe(), context(), it(), before(), after(), beforeEach(), and afterEach():

    + +

    context() is just an alias for describe(), and behaves the same way; it just provides a way to keep tests easier to read and organized.

    describe('Array', function(){
       before(function(){
    @@ -460,8 +462,20 @@ 

    BDD

    }); describe('#indexOf()', function(){ - it('should return -1 when not present', function(){ - [1,2,3].indexOf(4).should.equal(-1); + context('when not present', function(){ + it('should not throw an error', function(){ + (function(){ + [1,2,3].indexOf(4); + }).should.not.throw(); + }); + it('should return -1', function(){ + [1,2,3].indexOf(4).should.equal(-1); + }); + }); + context('when present', function(){ + it('should return the index where the element first appears in the array', function(){ + [1,2,3].indexOf(3).should.equal(2); + }); }); }); }); @@ -754,7 +768,7 @@

    Mocha Setup in the Browser

    Mocha options can be set via mocha.setup(). Examples:

    -
    // Use "tdd" interface.  This is a shortcut to setting the interface;
    +
    // Use "tdd" interface.  This is a shortcut to setting the interface; 
     // any other options must be passed via an object.
     mocha.setup('tdd');
     
    @@ -901,4 +915,4 @@ 

    More information

    © 2011 TJ Holowaychuk. All rights reserved. - + \ No newline at end of file diff --git a/index.md b/index.md index 0b3d68dba7..ba1a4a2a4b 100644 --- a/index.md +++ b/index.md @@ -412,7 +412,9 @@ Testing asynchronous code with Mocha could not be simpler! Simply invoke the cal

    BDD

    - The "__BDD__" interface provides `describe()`, `it()`, `before()`, `after()`, `beforeEach()`, and `afterEach()`: + The "__BDD__" interface provides `describe()`, `context()`, `it()`, `before()`, `after()`, `beforeEach()`, and `afterEach()`: + + `context()` is just an alias for `describe()`, and behaves the same way; it just provides a way to keep tests easier to read and organized. describe('Array', function(){ before(function(){ @@ -420,8 +422,20 @@ Testing asynchronous code with Mocha could not be simpler! Simply invoke the cal }); describe('#indexOf()', function(){ - it('should return -1 when not present', function(){ - [1,2,3].indexOf(4).should.equal(-1); + context('when not present', function(){ + it('should not throw an error', function(){ + (function(){ + [1,2,3].indexOf(4); + }).should.not.throw(); + }); + it('should return -1', function(){ + [1,2,3].indexOf(4).should.equal(-1); + }); + }); + context('when present', function(){ + it('should return the index where the element first appears in the array', function(){ + [1,2,3].indexOf(3).should.equal(2); + }); }); }); }); From 7aa996a15dbd7200abf5f21bc7c1cf0cf37295b1 Mon Sep 17 00:00:00 2001 From: Roman Shtylman Date: Sat, 20 Dec 2014 19:21:26 -0800 Subject: [PATCH 179/272] fix require example usage Example for require interface was incorrect. This fixes the erroneous documentation. --- index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.md b/index.md index 0b3d68dba7..3837d6a228 100644 --- a/index.md +++ b/index.md @@ -500,7 +500,7 @@ Testing asynchronous code with Mocha could not be simpler! Simply invoke the cal var testCase = require('mocha').describe var pre = require('mocha').before - var assertions = require('mocha').assertions + var assertions = require('mocha').it var assert = require('assert') testCase('Array', function(){ From cd956e5b6b73548fd4331caaf96c7781fc2b7149 Mon Sep 17 00:00:00 2001 From: Timothy Gu Date: Mon, 19 Jan 2015 12:13:16 -0800 Subject: [PATCH 180/272] More comprehensive documentation for QUnit and TDD reporters --- index.html | 8 ++++---- index.md | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/index.html b/index.html index c56810dd49..d806131a1f 100644 --- a/index.html +++ b/index.html @@ -469,7 +469,7 @@

    BDD

    TDD

    -

    The "TDD" interface provides suite(), test(), setup(), and teardown().

    +

    The "TDD" interface provides suite(), test(), suiteSetup(), suiteTeardown(), setup(), and teardown().

    suite('Array', function(){
       setup(function(){
    @@ -506,7 +506,7 @@ 

    Exports

    QUnit

    -

    The qunit-inspired interface matches the "flat" look of QUnit where the test suite title is simply defined before the test-cases.

    +

    The qunit-inspired interface matches the "flat" look of QUnit where the test suite title is simply defined before the test-cases. Like TDD, it uses suite() and test(), but resembling BDD it also contains before(), after(), beforeEach(), and afterEach().

    function ok(expr, msg) {
       if (!expr) throw new Error(msg);
    @@ -544,7 +544,7 @@ 

    Require

    var testCase = require('mocha').describe
     var pre = require('mocha').before
    -var assertions = require('mocha').assertions
    +var assertions = require('mocha').it
     var assert = require('assert')
     
     testCase('Array', function(){
    @@ -754,7 +754,7 @@ 

    Mocha Setup in the Browser

    Mocha options can be set via mocha.setup(). Examples:

    -
    // Use "tdd" interface.  This is a shortcut to setting the interface;
    +
    // Use "tdd" interface.  This is a shortcut to setting the interface; 
     // any other options must be passed via an object.
     mocha.setup('tdd');
     
    diff --git a/index.md b/index.md
    index 3837d6a228..a08ea296ac 100644
    --- a/index.md
    +++ b/index.md
    @@ -428,7 +428,7 @@ Testing asynchronous code with Mocha could not be simpler! Simply invoke the cal
     
     

    TDD

    - The "__TDD__" interface provides `suite()`, `test()`, `setup()`, and `teardown()`. + The "__TDD__" interface provides `suite()`, `test()`, `suiteSetup()`, `suiteTeardown()`, `setup()`, and `teardown()`. suite('Array', function(){ setup(function(){ @@ -463,7 +463,7 @@ Testing asynchronous code with Mocha could not be simpler! Simply invoke the cal

    QUnit

    - The qunit-inspired interface matches the "flat" look of QUnit where the test suite title is simply defined before the test-cases. + The qunit-inspired interface matches the "flat" look of QUnit where the test suite title is simply defined before the test-cases. Like TDD, it uses `suite()` and `test()`, but resembling BDD it also contains `before()`, `after()`, `beforeEach()`, and `afterEach()`. function ok(expr, msg) { if (!expr) throw new Error(msg); From ec7b2fe1b2107960bd3982b7f82c281c0141b544 Mon Sep 17 00:00:00 2001 From: David da Silva Date: Tue, 3 Feb 2015 17:54:28 -0800 Subject: [PATCH 181/272] added gitter badge to website --- index.html | 8 +++++--- index.md | 16 +++++++++------- style.css | 18 ++++++++++++++++++ 3 files changed, 32 insertions(+), 10 deletions(-) diff --git a/index.html b/index.html index d806131a1f..8bab127039 100644 --- a/index.html +++ b/index.html @@ -24,6 +24,8 @@

    Mocha

    simple, flexible, fun

    Mocha is a feature-rich JavaScript test framework running on node.js and the browser, making asynchronous testing simple and fun. Mocha tests run serially, allowing for flexible and accurate reporting, while mapping uncaught exceptions to the correct test cases. Hosted on GitHub.

    +

    +

    Features

    -
    - © 2011 TJ Holowaychuk. All rights reserved. -
    - - \ No newline at end of file diff --git a/head.html b/head.html deleted file mode 100644 index c93fcfaee2..0000000000 --- a/head.html +++ /dev/null @@ -1,24 +0,0 @@ - - - - - Mocha - the fun, simple, flexible JavaScript test framework - - - - - - - - - - -
    -

    Mocha

    -

    simple, flexible, fun

    diff --git a/highlight.js b/highlight.js deleted file mode 100644 index f6cddf60ba..0000000000 --- a/highlight.js +++ /dev/null @@ -1,18 +0,0 @@ - -$(function(){ - $('code').each(function(){ - $(this).html(highlight($(this).text())); - }); -}); - -function highlight(js) { - return js - .replace(//g, '>') - .replace(/\/\/(.*)/gm, '//$1') - .replace(/('.*?')/gm, '$1') - .replace(/(\d+\.\d+)/gm, '$1') - .replace(/(\d+)/gm, '$1') - .replace(/\bnew *(\w+)/gm, 'new $1') - .replace(/\b(function|new|throw|return|var|if|else)\b/gm, '$1') -} \ No newline at end of file diff --git a/html5shiv.js b/html5shiv.js deleted file mode 100644 index 448cebd79e..0000000000 --- a/html5shiv.js +++ /dev/null @@ -1,8 +0,0 @@ -/* - HTML5 Shiv v3.7.0 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed -*/ -(function(l,f){function m(){var a=e.elements;return"string"==typeof a?a.split(" "):a}function i(a){var b=n[a[o]];b||(b={},h++,a[o]=h,n[h]=b);return b}function p(a,b,c){b||(b=f);if(g)return b.createElement(a);c||(c=i(b));b=c.cache[a]?c.cache[a].cloneNode():r.test(a)?(c.cache[a]=c.createElem(a)).cloneNode():c.createElem(a);return b.canHaveChildren&&!s.test(a)?c.frag.appendChild(b):b}function t(a,b){if(!b.cache)b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag(); -a.createElement=function(c){return!e.shivMethods?b.createElem(c):p(c,a,b)};a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+m().join().replace(/[\w\-]+/g,function(a){b.createElem(a);b.frag.createElement(a);return'c("'+a+'")'})+");return n}")(e,b.frag)}function q(a){a||(a=f);var b=i(a);if(e.shivCSS&&!j&&!b.hasCSS){var c,d=a;c=d.createElement("p");d=d.getElementsByTagName("head")[0]||d.documentElement;c.innerHTML="x"; -c=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,j,o="_html5shiv",h=0,n={},g;(function(){try{var a=f.createElement("a");a.innerHTML="";j="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode|| -"undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}g=b}catch(d){g=j=!0}})();var e={elements:k.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",version:"3.7.0",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,b){a||(a=f); -if(g)return a.createDocumentFragment();for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.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 X0YIP1O7@3M00000NkvXXu0mjf17bd? diff --git a/images/_unused/handmadepaper.png b/images/_unused/handmadepaper.png deleted file mode 100644 index eb575ba0b804e63e9b821cdaa7c487d54ff43e05..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6367 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 diff --git a/images/_unused/soft_wallpaper.png b/images/_unused/soft_wallpaper.png deleted file mode 100644 index 072b3bd34dbf61247ec112a0d28bb3007300b65b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 229627 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Π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�xd#ci@=L5NsHyo_-0OA` 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

    rd5nfe4Z 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 SyvKe30000P)t-s($m$` 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�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 X((gVhq_E{g00000NkvXXu0mjf7}yuy diff --git a/index.html b/index.html deleted file mode 100644 index 56c1cd6e01..0000000000 --- a/index.html +++ /dev/null @@ -1,976 +0,0 @@ - - - - - Mocha - the fun, simple, flexible JavaScript test framework - - - - - - - - - - -

    -
    - © 2011 TJ Holowaychuk. All rights reserved. -
    - - \ No newline at end of file diff --git a/index.js b/index.js deleted file mode 100644 index 238f0f16cd..0000000000 --- a/index.js +++ /dev/null @@ -1,2 +0,0 @@ - -module.exports = require('./lib/mocha'); \ No newline at end of file diff --git a/index.md b/index.md index 136bde0856..d9d7ccbae5 100644 --- a/index.md +++ b/index.md @@ -1,908 +1,1001 @@ -Mocha is a feature-rich JavaScript test framework running on [node.js](http://nodejs.org) and the browser, making asynchronous testing simple and fun. Mocha tests run serially, allowing for flexible and accurate reporting, while mapping uncaught exceptions to the correct test cases. Hosted on [GitHub](https://github.com/mochajs/mocha). - - - -

    Features

    - - - browser support - - simple async support, including promises - - test coverage reporting - - string diff support - - javascript API for running tests - - proper exit status for CI support etc - - auto-detects and disables coloring for non-ttys - - maps uncaught exceptions to the correct test case - - async test timeout support - - test-specific timeouts - - growl notification support - - reports test durations - - highlights slow tests - - file watcher support - - global variable leak detection - - optionally run tests that match a regexp - - auto-exit to prevent "hanging" with an active loop - - easily meta-generate suites & test-cases - - mocha.opts file support - - clickable suite titles to filter test execution - - node debugger support - - detects multiple calls to `done()` - - use any assertion library you want - - extensible reporting, bundled with 9+ reporters - - extensible test DSLs or "interfaces" - - before, after, before each, after each hooks - - arbitrary transpiler support (coffee-script etc) - - TextMate bundle - - and more! - -

    Table of contents

    - - - [Installation](#installation) - - [1\. 2\. 3\. Mocha!](#getting-started) - - [Assertions](#assertions) - - [Synchronous code](#synchronous-code) - - [Asynchronous code](#asynchronous-code) - - [Hooks](#hooks) - - [Pending tests](#pending-tests) - - [Exclusive tests](#exclusive-tests) - - [Inclusive tests](#inclusive-tests) - - [Meta-Generated tests](#meta-generated-test) - - [Test duration](#test-duration) - - [String diffs](#string-diffs) - - [mocha(1)](#usage) - - [Interfaces](#interfaces) - - [Reporters](#reporters) - - [Browser support](#browser-support) - - [mocha.opts](#mocha.opts) - - [Suite specific timeouts](#suite-specific-timeouts) - - [Test specific timeouts](#test-specific-timeouts) - - [Best practices](#best-practices) - - [Editors](#editors) - - [Example test suites](#example-test-suites) - - [Running mocha's tests](#running-mochas-tests) - - [More information](#more-information) - -

    Installation

    - - Install with [npm](http://npmjs.org): - - $ npm install -g mocha - -

    1. 2. 3. Mocha!

    - - - $ npm install -g mocha - $ mkdir test - $ $EDITOR test/test.js - - var assert = require("assert") - describe('Array', function(){ - describe('#indexOf()', function(){ - it('should return -1 when the value is not present', function(){ - assert.equal(-1, [1,2,3].indexOf(5)); - assert.equal(-1, [1,2,3].indexOf(0)); - }) - }) - }) - - $ mocha - - . - - ✔ 1 test complete (1ms) - - -

    Assertions

    - -Mocha allows you to use any assertion library you want, if it throws an error, it will work! This means you can utilize libraries such as [should.js](https://github.com/visionmedia/should.js), node's regular `assert` module, or others. The following is a list of known assertion libraries for node and/or the browser: - - - [should.js](https://github.com/visionmedia/should.js) BDD style shown throughout these docs - - [expect.js](https://github.com/LearnBoost/expect.js) expect() style assertions - - [chai](http://chaijs.com/) expect(), assert() and should style assertions - - [better-assert](https://github.com/visionmedia/better-assert) c-style self-documenting assert() - -

    Synchronous code

    - - When testing synchronous code, omit the callback and Mocha will automatically continue on to the next test. +--- +layout: default +title: "Mocha - the fun, simple, flexible JavaScript test framework" + +--- + +Mocha is a feature-rich JavaScript test framework running on [Node.js](http://nodejs.org) and the browser, making asynchronous testing simple and fun. Mocha tests run serially, allowing for flexible and accurate reporting, while mapping uncaught exceptions to the correct test cases. Hosted on [GitHub](https://github.com/mochajs/mocha). + +[![Gitter](//badges.gitter.im/Join%20Chat.svg)](https://gitter.im/mochajs/mocha) + +## Features + +- browser support +- simple async support, including promises +- test coverage reporting +- string diff support +- javascript API for running tests +- proper exit status for CI support etc +- auto-detects and disables coloring for non-ttys +- maps uncaught exceptions to the correct test case +- async test timeout support +- test-specific timeouts +- growl notification support +- reports test durations +- highlights slow tests +- file watcher support +- global variable leak detection +- optionally run tests that match a regexp +- auto-exit to prevent "hanging" with an active loop +- easily meta-generate suites & test-cases +- mocha.opts file support +- clickable suite titles to filter test execution +- node debugger support +- detects multiple calls to `done()` +- use any assertion library you want +- extensible reporting, bundled with 9+ reporters +- extensible test DSLs or "interfaces" +- before, after, before each, after each hooks +- arbitrary transpiler support (coffee-script etc) +- TextMate bundle +- and more! + +## Table of Contents + + +- [Features](#features) +- [Installation](#installation) +- [Getting Started](#getting-started) +- [Assertions](#assertions) +- [Synchronous Code](#synchronous-code) +- [Asynchronous Code](#asynchronous-code) +- [Hooks](#hooks) +- [Pending Tests](#pending-tests) +- [Exclusive Tests](#exclusive-tests) +- [Inclusive Tests](#inclusive-tests) +- [Dynamically Generating Tests](#dynamically-generating-tests) +- [Timeouts](#timeouts) +- [Diffs](#diffs) +- [Usage](#usage) +- [Interfaces](#interfaces) +- [Reporters](#reporters) +- [Running Mocha in the Browser](#running-mocha-in-the-browser) +- [`mocha.opts`](#mochaopts) +- [The `test/` Directory](#the-test-directory) +- [Editor Plugins](#editor-plugins) +- [Examples](#examples) +- [Testing Mocha](#testing-mocha) +- [More Information](#more-information) + + + +## Installation + +Install with [npm](http://npmjs.org): + +```sh +$ npm install -g mocha +``` + +## Getting Started + +```sh +$ npm install -g mocha +$ mkdir test +$ $EDITOR test/test.js + +``` + +In your editor: + +```js +var assert = require("assert") +describe('Array', function() { + describe('#indexOf()', function () { + it('should return -1 when the value is not present', function () { + assert.equal(-1, [1,2,3].indexOf(5)); + assert.equal(-1, [1,2,3].indexOf(0)); + }); + }); +}); +``` - describe('Array', function(){ - describe('#indexOf()', function(){ - it('should return -1 when the value is not present', function(){ - [1,2,3].indexOf(5).should.equal(-1); - [1,2,3].indexOf(0).should.equal(-1); - }) - }) - }) +Back in the terminal: -

    Asynchronous code

    +```sh +$ mocha -Testing asynchronous code with Mocha could not be simpler! Simply invoke the callback when your test is complete. By adding a callback (usually named `done`) to `it()` Mocha will know that it should wait for completion. + . - describe('User', function(){ - describe('#save()', function(){ - it('should save without error', function(done){ - var user = new User('Luna'); - user.save(function(err){ - if (err) throw err; - done(); - }); - }) - }) - }) - - To make things even easier, the `done()` callback accepts an error, so we may use this directly: - - describe('User', function(){ - describe('#save()', function(){ - it('should save without error', function(done){ - var user = new User('Luna'); - user.save(done); - }) - }) - }) - - All "hooks", that is `before()`, `after()`, `beforeEach()`, `afterEach()` may be sync or async as well, behaving much like a regular test-case. For example you may wish to populate database with dummy content before each test: - - describe('Connection', function(){ - var db = new Connection - , tobi = new User('tobi') - , loki = new User('loki') - , jane = new User('jane'); - - beforeEach(function(done){ - db.clear(function(err){ - if (err) return done(err); - db.save([tobi, loki, jane], done); - }); - }) - - describe('#find()', function(){ - it('respond with matching records', function(done){ - db.find({ type: 'User' }, function(err, res){ - if (err) return done(err); - res.should.have.length(3); - done(); - }) - }) - }) - }) - - Alternately, instead of using the `done()` callback, you can return a promise. This is useful if the APIs you are testing return promises instead of taking callbacks: - - beforeEach(function(){ - return db.clear().then(function() { - return db.save([tobi, loki, jane]); - }); - }) + ✔ 1 test complete (1ms) +``` - describe('#find()', function(){ - it('respond with matching records', function(){ - return db.find({ type: 'User' }).should.eventually.have.length(3); - }) - }) +## Assertions - (The latter example uses [Chai as Promised](https://github.com/domenic/chai-as-promised/) for fluent promise assertions.) - - Note that you may also pick any file and add "root" level hooks, for example add `beforeEach()` outside of `describe()`s then the callback will run before any test-case regardless of the file its in. This is because Mocha has a root `Suite` with no name. - - beforeEach(function(){ - console.log('before every test') - }) +Mocha allows you to use any assertion library you want, if it throws an error, it will work! This means you can utilize libraries such as [should.js](https://github.com/visionmedia/should.js), node's regular `assert` module, or others. The following is a list of known assertion libraries for node and/or the browser: -

    Hooks

    +- [should.js](https://github.com/visionmedia/should.js) BDD style shown throughout these docs +- [expect.js](https://github.com/LearnBoost/expect.js) expect() style assertions +- [chai](http://chaijs.com/) expect(), assert() and should style assertions +- [better-assert](https://github.com/visionmedia/better-assert) c-style self-documenting assert() - Mocha provides the hooks `before()`, `after()`, `beforeEach()`, `afterEach()`, - that can be used to set up preconditions and clean up your tests. +## Synchronous Code - describe('hooks', function() { - before(function() { - // runs before all tests in this block - }) - after(function(){ - // runs after all tests in this block - }) - beforeEach(function(){ - // runs before each test in this block - }) - afterEach(function(){ - // runs after each test in this block - }) - // test cases - }) +When testing synchronous code, omit the callback and Mocha will automatically continue on to the next test. +```js +describe('Array', function() { + describe('#indexOf()', function() { + it('should return -1 when the value is not present', function() { + [1,2,3].indexOf(5).should.equal(-1); + [1,2,3].indexOf(0).should.equal(-1); + }); + }); +}); +``` +## Asynchronous Code - All hooks can be invoked with an optional description, making it easier to pinpoint errors in your tests. - If hooks are given named functions those names will be used if no description is supplied. +Testing asynchronous code with Mocha could not be simpler! Simply invoke the callback when your test is complete. By adding a callback (usually named `done`) to `it()` Mocha will know that it should wait for completion. - beforeEach(function(){ - // beforeEach hook - }) - beforeEach(function namedFun() { - // beforeEach:namedFun - }) - beforeEach('some description', function(){ - // beforeEach:some description - }) +```js +describe('User', function() { + describe('#save()', function() { + it('should save without error', function(done) { + var user = new User('Luna'); + user.save(function(err) { + if (err) throw err; + done(); + }); + }); + }); +}); +``` + +To make things even easier, the `done()` callback accepts an error, so we may use this directly: + +```js +describe('User', function() { + describe('#save()', function() { + it('should save without error', function(done) { + var user = new User('Luna'); + user.save(done); + }); + }); +}); +``` +### Working with Promises +Alternately, instead of using the `done()` callback, you may return a [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise). This is useful if the APIs you are testing return promises instead of taking callbacks: -

    Pending tests

    +```js +beforeEach(function() { + return db.clear() + .then(function() { + return db.save([tobi, loki, jane]); + }); +}); + +describe('#find()', function() { + it('respond with matching records', function() { + return db.find({ type: 'User' }).should.eventually.have.length(3); + }); +}); +``` + +(The latter example uses [Chai as Promised](https://www.npmjs.com/package/chai-as-promised) for fluent promise assertions.) + +## Hooks + +Mocha provides the hooks `before()`, `after()`, `beforeEach()`, and `afterEach()`, which can be used to set up preconditions and clean up after your tests. + +```js +describe('hooks', function() { + + before(function() { + // runs before all tests in this block + }); + + after(function() { + // runs after all tests in this block + }); + + beforeEach(function() { + // runs before each test in this block + }); + + afterEach(function() { + // runs after each test in this block + }); + + // test cases +}); +``` + +### Describing Hooks + +All hooks can be invoked with an optional description, making it easier to pinpoint errors in your tests. If hooks are given named functions, those names will be used if no description is supplied. + +```js +beforeEach(function() { + // beforeEach hook +}); + +beforeEach(function namedFun() { + // beforeEach:namedFun +}); + +beforeEach('some description', function() { + // beforeEach:some description +}); +``` + +### Asynchronous Hooks + +All "hooks" (`before()`, `after()`, `beforeEach()`, `afterEach()`) may be sync or async as well, behaving much like a regular test-case. For example, you may wish to populate database with dummy content before each test: + +```js +describe('Connection', function() { + var db = new Connection, + tobi = new User('tobi'), + loki = new User('loki'), + jane = new User('jane'); + + beforeEach(function(done) { + db.clear(function(err) { + if (err) return done(err); + db.save([tobi, loki, jane], done); + }); + }); + + describe('#find()', function() { + it('respond with matching records', function(done) { + db.find({type: 'User'}, function(err, res) { + if (err) return done(err); + res.should.have.length(3); + done(); + }); + }); + }); +}); +``` + + +### Root-Level Hooks + +You may also pick any file and add "root"-level hooks. For example, add `beforeEach()` outside of all `describe()` blocks. This will cause the callback to `beforeEach()` to run before any test case, regardless of the file it lives in (this is because Mocha has a hidden `describe()` block, called the "root suite"). + +```js +beforeEach(function() { + console.log('before every test in every file'); +}); +``` + +### Delayed Root Suite + +If you need to perform asynchronous operations before any of your suites are run, you may delay the root suite. Simply run Mocha with the `--delay` flag. This will provide a special function, `run()`, in the global context. + +```js +setTimeout(function() { + // do some setup + + describe('my suite', function() { + // ... + }); + + run(); +}, 5000); +``` + +## Pending Tests + +"Pending"--as in "someone should write these test cases eventually"--test-cases are simply those without a callback: + +```js +describe('Array', function() { + describe('#indexOf()', function() { + // pending test below + it('should return -1 when the value is not present'); + }); +}); +``` + +Pending tests will be reported as such. + +## Exclusive Tests + +The exclusivity feature allows you to run *only* the specified suite or test-case + by appending `.only()` to the function. Here's an example of executing only a particular suite: + +```js +describe('Array', function() { + describe.only('#indexOf()', function() { + // ... + }); +}); +``` + +*Note*: All nested suites will still be executed. + +Here's an example of executing a particular test case: + +```js +describe('Array', function() { + describe('#indexOf()', function() { + it.only('should return -1 unless present', function() { + // ... + }); - Pending test-cases are simply those without a callback: + it('should return the index when present', function() { + // ... + }); + }); +}); +``` - describe('Array', function(){ - describe('#indexOf()', function(){ - it('should return -1 when the value is not present') - }) - }) +*Note*: Hooks, if present, will still be executed. -

    Exclusive tests

    +*Warning*: Having more than one call to `.only()` in your tests or suites may result in unexpected behavior. - The exclusivity feature allows you to run only the specified suite or test-case - by appending `.only()` to the call as shown here: +## Inclusive Tests - describe('Array', function(){ - describe.only('#indexOf()', function(){ - ... - }) - }) +This feature is the inverse of `.only()`. By appending `.skip()`, you may tell Mocha to simply ignore these suite(s) and test case(s). Anything skipped will be marked as [pending](#pending-tests), and reported as such. Here's an example of skipping an entire suite: - Or a specific test-case: +```js +describe('Array', function() { + describe.skip('#indexOf()', function() { + // ... + }); +}); +``` - describe('Array', function(){ - describe('#indexOf()', function(){ - it.only('should return -1 unless present', function(){ +> *Best practice*: Use `.skip()` instead of commenting tests out. - }) +Or a specific test-case: - it('should return the index when present', function(){ +```js +describe('Array', function() { + describe('#indexOf()', function() { + it.skip('should return -1 unless present', function() { + // ... + }); - }) - }) - }) + it('should return the index when present', function() { + // ... + }); + }); +}); +``` - Note that currently only one `.only()` call is respected, this - effectively turns into a `--grep`. +## Dynamically Generating Tests -

    Inclusive tests

    +Given Mocha's use of `Function.prototype.call` and function expressions to define suites and test cases, it's straightforward to generate your tests dynamically. No special syntax is required — plain ol' JavaScript can be used to achieve functionality similar to "parameterized" tests, which you may have seen in other frameworks. - This feature is similar to `.only()`, however by appending `.skip()` - you may tell Mocha to simply ignore these suite(s) and test-case(s). This - puts them in a pending state, and is favoured over commenting out tests - which you may forget to uncomment. +Take the following example: - describe('Array', function(){ - describe.skip('#indexOf()', function(){ - ... - }) - }) +```js +var assert = require('assert'); - Or a specific test-case: +function add() { + return Array.prototype.slice.call(arguments).reduce(function(prev, curr) { + return prev + curr; + }, 0); +} - describe('Array', function(){ - describe('#indexOf()', function(){ - it.skip('should return -1 unless present', function(){ +describe('add()', function() { + var tests = [ + {args: [1, 2], expected: 3}, + {args: [1, 2, 3], expected: 6}, + {args: [1, 2, 3, 4], expected: 10} + ]; - }) + tests.forEach(function(test) { + it('correctly adds ' + test.args.length + ' args', function() { + var res = add.apply(null, test.args); + assert.equal(res, test.expected); + }); + }); +}); +``` - it('should return the index when present', function(){ +The above code will produce a suite with three specs: - }) - }) - }) +```sh +$ mocha -

    Meta-Generated tests

    + add() + ✓ correctly adds 2 args + ✓ correctly adds 3 args + ✓ correctly adds 4 args +``` - Given mocha's use of call statements and function expressions to define - suites and specs, it's rather straightforward to generate your tests. No - special syntax is required - plain JavaScript can be used to achieve - similar functionality as parameterized tests in other test frameworks. - Take the following example: +

    Test duration

    - var assert = require('assert'); +Many reporters will display test duration, as well as flagging tests that are slow, as shown here with the "spec" reporter: + +![test duration](images/reporter-spec-duration.png) + +To tweak what's considered "slow", you can use the `slow()` method: + +```js +describe('something slow', function() { + this.slow(10000); + + it('should take long enough for me to go make a sandwich', function() { + // ... + }); +}); +``` + + +## Timeouts + +### Suite-level - function add() { - return Array.prototype.slice.call(arguments).reduce(function(prev, curr) { - return prev + curr; - }, 0); - } +Suite-level timeouts may be applied to entire test "suites", or disabled via `this.timeout(0)`. This will be inherited by all nested suites and test-cases that do not override the value. - describe('add()', function() { - var tests = [ - {args: [1, 2], expected: 3}, - {args: [1, 2, 3], expected: 6}, - {args: [1, 2, 3, 4], expected: 10} - ]; - - tests.forEach(function(test) { - it('correctly adds ' + test.args.length + ' args', function() { - var res = add.apply(null, test.args); - assert.equal(res, test.expected); - }); - }); - }); +```js +describe('a suite of tests', function() { + this.timeout(500); - The code above will output a suite with three specs: + it('should take less than 500ms', function(done){ + setTimeout(done, 300); + }) - add() - ✓ correctly adds 2 args - ✓ correctly adds 3 args - ✓ correctly adds 4 args + it('should take less than 500ms as well', function(done){ + setTimeout(done, 200); + }) +}) +``` -

    Test duration

    +### Test-level - Most of the reporters support some form of displaying - test duration, as well as flagging tests that are slow, - as shown here with the "spec" reporter: +Test-specific timeouts may also be applied, or the use of `this.timeout(0)` to disable timeouts all together: - ![test duration](images/reporter-spec-duration.png) +```js +it('should take less than 500ms', function(done){ + this.timeout(500); + setTimeout(done, 300); +}); +``` -

    String diffs

    +## Diffs - Mocha supports the `err.expected`, and `err.actual` properties - when available to present expectations to the developer. Currently - Mocha provides string diffs, however in the future object diffs and - others may be provided. +Mocha supports the `err.expected` and `err.actual` properties of any thrown `AssertionError`s from an assertion library. Mocha will attempt to display the difference between what was expected, and what the assertion actually saw. Here's an example of a "string" diff: - ![string diffs](images/reporter-string-diffs.png) +![string diffs](images/reporter-string-diffs.png) -

    mocha(1)

    +## Usage +``` +Usage: mocha [debug] [options] [files] - Usage: mocha [debug] [options] [files] +Commands: - Commands: + init + initialize a client-side mocha setup at - init - initialize a client-side mocha setup at +Options: - Options: + -h, --help output usage information + -V, --version output the version number + -A, --async-only force all tests to take a callback (async) + -c, --colors force enabling of colors + -C, --no-colors force disabling of colors + -G, --growl enable growl notification support + -O, --reporter-options reporter-specific options + -R, --reporter specify the reporter to use + -S, --sort sort test files + -b, --bail bail after first test failure + -d, --debug enable node's debugger, synonym for node --debug + -g, --grep only run tests matching + -f, --fgrep only run tests containing + -gc, --expose-gc expose gc extension + -i, --invert inverts --grep and --fgrep matches + -r, --require require the given module + -s, --slow "slow" test threshold in milliseconds [75] + -t, --timeout set test-case timeout in milliseconds [2000] + -u, --ui specify user-interface (bdd|tdd|exports) + -w, --watch watch files for changes + --check-leaks check for global variable leaks + --compilers :,... use the given module(s) to compile files + --debug-brk enable node's debugger breaking on the first line + --globals allow the given comma-delimited global [names] + --inline-diffs display actual/expected differences inline within each string + --interfaces display available interfaces + --no-deprecation silence deprecation warnings + --no-exit require a clean shutdown of the event loop: mocha will exit + --no-timeouts disables timeouts, given implicitly with --debug + --opts specify opts path + --prof log statistical profiling information + --recursive include sub directories + --reporters display available reporters + --throw-deprecation throw an exception anytime a deprecated function is used + --trace trace function calls + --trace-deprecation show stack traces on deprecations + --watch-extensions ,... additional extensions to monitor with --watch + --delay wait for async suite definition +``` - -h, --help output usage information - -V, --version output the version number - -A, --async-only force all tests to take a callback (async) - -c, --colors force enabling of colors - -C, --no-colors force disabling of colors - -G, --growl enable growl notification support - -O, --reporter-options reporter-specific options - -R, --reporter specify the reporter to use - -S, --sort sort test files - -b, --bail bail after first test failure - -d, --debug enable node's debugger, synonym for node --debug - -g, --grep only run tests matching - -f, --fgrep only run tests containing - -gc, --expose-gc expose gc extension - -i, --invert inverts --grep and --fgrep matches - -r, --require require the given module - -s, --slow "slow" test threshold in milliseconds [75] - -t, --timeout set test-case timeout in milliseconds [2000] - -u, --ui specify user-interface (bdd|tdd|exports) - -w, --watch watch files for changes - --check-leaks check for global variable leaks - --compilers :,... use the given module(s) to compile files - --debug-brk enable node's debugger breaking on the first line - --globals allow the given comma-delimited global [names] - --inline-diffs display actual/expected differences inline within each string - --interfaces display available interfaces - --no-deprecation silence deprecation warnings - --no-exit require a clean shutdown of the event loop: mocha will exit - --no-timeouts disables timeouts, given implicitly with --debug - --opts specify opts path - --prof log statistical profiling information - --recursive include sub directories - --reporters display available reporters - --throw-deprecation throw an exception anytime a deprecated function is used - --trace trace function calls - --trace-deprecation show stack traces on deprecations - --watch-extensions ,... additional extensions to monitor with --watch - --delay wait for async suite definition +### `-w, --watch` -

    -w, --watch

    +Executes tests on changes to JavaScript in the CWD, and once initially. - Executes tests on changes to JavaScript in the CWD, and once initially. +### `--compilers` -

    --compilers

    +CoffeeScript is no longer supported out of the box. CS and similar transpilers +may be used by mapping the file extensions (for use with --watch) and the module +name. For example `--compilers coffee:coffee-script` with CoffeeScript 1.6- or +`--compilers coffee:coffee-script/register` with CoffeeScript 1.7+. - coffee-script is no longer supported out of the box. CS and similar transpilers - may be used by mapping the file extensions (for use with --watch) and the module - name. For example `--compilers coffee:coffee-script` with CoffeeScript 1.6- or - `--compilers coffee:coffee-script/register` with CoffeeScript 1.7+. +### `-b, --bail` -

    -b, --bail

    +Only interested in the first exception? use `--bail`! - Only interested in the first exception? use `--bail` ! +### `-d, --debug` -

    -d, --debug

    +Enables node's debugger support, this executes your script(s) with `node debug ` allowing you to step through code and break with the `debugger` statement. Note the difference between `mocha debug` and `mocha --debug`: `mocha debug` will fire up node's built-in debug client, `mocha --debug` will allow you to use a different interface — such as the Blink Developer Tools. - Enables node's debugger support, this executes your script(s) with `node debug ` allowing you to step through code and break with the `debugger` statement. Note the difference between `mocha debug` and `mocha --debug`: `mocha debug` will fire up node's built-in debug client, `mocha --debug` will allow you to use a different interface — such as the Blink Developer Tools. +### `--globals ` -

    --globals <names>

    +Accepts a comma-delimited list of accepted global variable names. For example, suppose your app deliberately exposes a global named `app` and `YUI`, you may want to add `--globals app,YUI`. It also accepts wildcards. You could do `--globals '*bar'` and it would match `foobar`, `barbar`, etc. You can also simply pass in `'*'` to ignore all globals. - Accepts a comma-delimited list of accepted global variable names. For example, suppose your app deliberately exposes a global named `app` and `YUI`, you may want to add `--globals app,YUI`. It also accepts wildcards. You could do `--globals '*bar'` and it would match `foobar`, `barbar`, etc. You can also simply pass in `'*'` to ignore all globals. +### `--check-leaks` -

    --check-leaks

    +By default, Mocha will not check for global variables leaked while running tests, to enable this pass `--check-leaks`, to specify globals that are acceptable use `--globals`, for example `--globals jQuery,MyLib`. - By default Mocha will not check for global variables leaked while running tests, to enable this pass `--check-leaks`, to specify globals that are acceptable use `--globals`, for example `--globals jQuery,MyLib`. +### `-r, --require ` -

    -r, --require <name>

    +The `--require` option is useful for libraries such as [should.js](https://github.com/visionmedia/should.js), so you may simply `--require should` instead of manually invoking `require('should')` within each test file. Note that this works well for `should` as it augments `Object.prototype`, however if you wish to access a module's exports you will have to require them, for example `var should = require('should')`. Furthermore, it can be used with relative paths, e.g. `--require ./test/helper.js` - The `--require` option is useful for libraries such as [should.js](https://github.com/visionmedia/should.js), so you may simply `--require should` instead of manually invoking `require('should')` within each test file. Note that this works well for `should` as it augments `Object.prototype`, however if you wish to access a module's exports you will have to require them, for example `var should = require('should')`. Furthermore, it can be used with relative paths, e.g. `--require ./test/helper.js` +### `-u, --ui ` -

    -u, --ui <name>

    +The `--ui` option lets you specify the interface to use, defaulting to "bdd". - The `--ui` option lets you specify the interface to use, defaulting to "bdd". +### `-R, --reporter ` -

    -R, --reporter <name>

    +The `--reporter` option allows you to specify the reporter that will be used, defaulting to "dot". This flag may also be used to utilize third-party reporters. For example if you `npm install mocha-lcov-reporter` you may then do `--reporter mocha-lcov-reporter`. - The `--reporter` option allows you to specify the reporter that will be used, defaulting to "dot". This flag may also be used to utilize third-party reporters. For example if you `npm install mocha-lcov-reporter` you may then do `--reporter mocha-lcov-reporter`. +### `-t, --timeout ` -

    -t, --timeout <ms>

    +Specifies the test-case timeout, defaulting to 2 seconds. To override you may pass the timeout in milliseconds, or a value with the `s` suffix, ex: `--timeout 2s` or `--timeout 2000` would be equivalent. - Specifies the test-case timeout, defaulting to 2 seconds. To override you may pass the timeout in milliseconds, or a value with the `s` suffix, ex: `--timeout 2s` or `--timeout 2000` would be equivalent. +### `-s, --slow ` -

    -s, --slow <ms>

    +Specify the "slow" test threshold, defaulting to 75ms. Mocha uses this to highlight test-cases that are taking too long. - Specify the "slow" test threshold, defaulting to 75ms. Mocha uses this to highlight test-cases that are taking too long. +### `-g, --grep ` -

    -g, --grep <pattern>

    +The `--grep` option when specified will trigger mocha to only run tests matching the given `pattern` which is internally compiled to a `RegExp`. - The `--grep` option when specified will trigger mocha to only run tests matching the given `pattern` which is internally compiled to a `RegExp`. +Suppose, for example, you have "api" related tests, as well as "app" related tests, as shown in the following snippet; One could use `--grep api` or `--grep app` to run one or the other. The same goes for any other part of a suite or test-case title, `--grep users` would be valid as well, or even `--grep GET`. - Suppose for example you have "api" related tests, as well as "app" related tests, as shown in the following snippet; One could use `--grep api` or `--grep app` to run one or the other. The same goes for any other part of a suite or test-case title, `--grep users` would be valid as well, or even `--grep GET`. +```js +describe('api', function() { + describe('GET /api/users', function() { + it('respond with an array of users', function() { + // ... + }); + }); +}); - describe('api', function(){ - describe('GET /api/users', function(){ - it('respond with an array of users') - }) - }) +describe('app', function() { + describe('GET /users', function() { + it('respond with an array of users', function() { + // ... + }); + }) +}) +``` - describe('app', function(){ - describe('GET /users', function(){ - it('respond with an array of users') - }) - }) +## Interfaces -

    Interfaces

    +Mocha's "interface" system allows developers to choose their style of DSL. Mocha has **BDD**, **TDD**, **Exports**, **QUnit** and **Require**-style interfaces. - Mocha "interface" system allows developers to choose their style of DSL. Shipping with __BDD__, __TDD__, and __exports__ flavoured interfaces. +### BDD -

    BDD

    +The **BDD** interface provides `describe()`, `context()`, `it()`, `before()`, `after()`, `beforeEach()`, and `afterEach()`. - The "__BDD__" interface provides `describe()`, `context()`, `it()`, `before()`, `after()`, `beforeEach()`, and `afterEach()`: +`context()` is just an alias for `describe()`, and behaves the same way; it just provides a way to keep tests easier to read and organized. - `context()` is just an alias for `describe()`, and behaves the same way; it just provides a way to keep tests easier to read and organized. +> All of the previous examples were written using the **BDD** interface. - describe('Array', function(){ - before(function(){ - // ... - }); +```js + describe('Array', function() { + before(function() { + // ... + }); - describe('#indexOf()', function(){ - context('when not present', function(){ - it('should not throw an error', function(){ - (function(){ - [1,2,3].indexOf(4); - }).should.not.throw(); - }); - it('should return -1', function(){ - [1,2,3].indexOf(4).should.equal(-1); - }); + describe('#indexOf()', function() { + context('when not present', function() { + it('should not throw an error', function() { + (function() { + [1,2,3].indexOf(4); + }).should.not.throw(); + }); + it('should return -1', function() { + [1,2,3].indexOf(4).should.equal(-1); }); - context('when present', function(){ - it('should return the index where the element first appears in the array', function(){ - [1,2,3].indexOf(3).should.equal(2); - }); + }); + context('when present', function() { + it('should return the index where the element first appears in the array', function() { + [1,2,3].indexOf(3).should.equal(2); }); }); }); + }); +``` -

    TDD

    +### TDD - The "__TDD__" interface provides `suite()`, `test()`, `suiteSetup()`, `suiteTeardown()`, `setup()`, and `teardown()`. +The **TDD** interface provides `suite()`, `test()`, `suiteSetup()`, `suiteTeardown()`, `setup()`, and `teardown()`: - suite('Array', function(){ - setup(function(){ - // ... - }); +```js +suite('Array', function() { + setup(function() { + // ... + }); - suite('#indexOf()', function(){ - test('should return -1 when not present', function(){ - assert.equal(-1, [1,2,3].indexOf(4)); - }); - }); + suite('#indexOf()', function() { + test('should return -1 when not present', function() { + assert.equal(-1, [1,2,3].indexOf(4)); }); + }); +}); +``` -

    Exports

    +### Exports - The "__exports__" interface is much like Mocha's predecessor [expresso](https://github.com/visionmedia/expresso). The keys `before`, `after`, `beforeEach`, and `afterEach` are special-cased, object values - are suites, and function values are test-cases. +The **Exports** interface is much like Mocha's predecessor [expresso](https://github.com/visionmedia/expresso). The keys `before`, `after`, `beforeEach`, and `afterEach` are special-cased, object values are suites, and function values are test-cases: - module.exports = { - before: function(){ - // ... - }, +```js +module.exports = { + before: function() { + // ... + }, - 'Array': { - '#indexOf()': { - 'should return -1 when not present': function(){ - [1,2,3].indexOf(4).should.equal(-1); - } - } + 'Array': { + '#indexOf()': { + 'should return -1 when not present': function() { + [1,2,3].indexOf(4).should.equal(-1); } - }; + } + } +}; +``` -

    QUnit

    +### QUnit - The qunit-inspired interface matches the "flat" look of QUnit where the test suite title is simply defined before the test-cases. Like TDD, it uses `suite()` and `test()`, but resembling BDD it also contains `before()`, `after()`, `beforeEach()`, and `afterEach()`. +The [QUnit](http://qunitjs.com)-inspired interface matches the "flat" look of QUnit, where the test suite title is simply defined before the test-cases. Like TDD, it uses `suite()` and `test()`, but resembling BDD, it also contains `before()`, `after()`, `beforeEach()`, and `afterEach()`. - function ok(expr, msg) { - if (!expr) throw new Error(msg); - } +```js +function ok(expr, msg) { + if (!expr) throw new Error(msg); +} - suite('Array'); +suite('Array'); - test('#length', function(){ - var arr = [1,2,3]; - ok(arr.length == 3); - }); +test('#length', function() { + var arr = [1,2,3]; + ok(arr.length == 3); +}); - test('#indexOf()', function(){ - var arr = [1,2,3]; - ok(arr.indexOf(1) == 0); - ok(arr.indexOf(2) == 1); - ok(arr.indexOf(3) == 2); - }); +test('#indexOf()', function() { + var arr = [1,2,3]; + ok(arr.indexOf(1) == 0); + ok(arr.indexOf(2) == 1); + ok(arr.indexOf(3) == 2); +}); - suite('String'); +suite('String'); - test('#length', function(){ - ok('foo'.length == 3); - }); +test('#length', function() { + ok('foo'.length == 3); +}); +``` -

    Require

    +### Require - The `require` interface allows you to require the `describe` and friend words - directly using `require` and call them whatever you want. This interface - is also useful if you want to avoid global variables in your tests. +The `require` interface allows you to require the `describe` and friend words directly using `require` and call them whatever you want. This interface is also useful if you want to avoid global variables in your tests. - Note this works when you run your tests via the `mocha` executable only, and not when using the `node` executable directly. The reason is that - certain methods are exposed at runtime and when using the `mocha` executable only. +*Note*: The `require` interface cannot be run via the `node` executable, and must be run via `mocha`. - var testCase = require('mocha').describe - var pre = require('mocha').before - var assertions = require('mocha').it - var assert = require('assert') +```js +var testCase = require('mocha').describe +var pre = require('mocha').before +var assertions = require('mocha').it +var assert = require('assert') - testCase('Array', function(){ - pre(function(){ - // ... - }); +testCase('Array', function() { + pre(function() { + // ... + }); - testCase('#indexOf()', function(){ - assertions('should return -1 when not present', function(){ - assert.equal([1,2,3].indexOf(4), -1); - }); - }); + testCase('#indexOf()', function() { + assertions('should return -1 when not present', function() { + assert.equal([1,2,3].indexOf(4), -1); }); + }); +}); +``` -

    Reporters

    +## Reporters - Mocha reporters adjust to the terminal window, - and always disable ansi-escape colouring when - the stdio streams are not associated with a tty. +Mocha reporters adjust to the terminal window, and always disable ANSI-escape coloring when the stdio streams are not associated with a TTY. -

    Dot Matrix

    +### Spec - The "dot" matrix reporter is simply a series of dots - that represent test cases, failures highlight in red, - pending in blue, slow as yellow. +This is the default reporter. The "spec" reporter outputs a hierarchical view nested just as the test cases are. - ![dot matrix reporter](images/reporter-dot.png) +![spec reporter](images/reporter-spec.png) +![spec reporter with failure](images/reporter-spec-fail.png) -

    Spec

    +### Dot Matrix - The "spec" reporter outputs a hierarchical view - nested just as the test cases are. +The dot matrix (or "dot") reporter is simply a series of dots that represent test cases, failures highlight in red, pending in blue, slow as yellow. Good if you would like minimal output. - ![spec reporter](images/reporter-spec.png) - ![spec reporter with failure](images/reporter-spec-fail.png) +![dot matrix reporter](images/reporter-dot.png) -

    Nyan

    +### Nyan - The "nyan" reporter is exactly what you might expect: +The "nyan" reporter is exactly what you might expect: - ![js nyan cat reporter](images/reporter-nyan.png) +![js nyan cat reporter](images/reporter-nyan.png) -

    TAP

    +### TAP - The TAP reporter emits lines for a [Test-Anything-Protocol](http://en.wikipedia.org/wiki/Test_Anything_Protocol) consumer. +The TAP reporter emits lines for a [Test-Anything-Protocol](http://en.wikipedia.org/wiki/Test_Anything_Protocol) consumer. - ![test anything protocol](images/reporter-tap.png) +![test anything protocol](images/reporter-tap.png) -

    Landing Strip

    +### Landing Strip - The Landing Strip reporter is a gimmicky test reporter simulating - a plane landing :) unicode ftw +The 'Landing Strip' reporter is a gimmicky test reporter simulating a plane landing :) unicode ftw - ![landing strip plane reporter](images/reporter-landing.png) - ![landing strip with failure](images/reporter-landing-fail.png) +![landing strip plane reporter](images/reporter-landing.png) +![landing strip with failure](images/reporter-landing-fail.png) -

    List

    +### List - The "List" reporter outputs a simple specifications list as - test cases pass or fail, outputting the failure details at - the bottom of the output. +The "list" reporter outputs a simple specifications list as test cases pass or fail, outputting the failure details at the bottom of the output. - ![list reporter](images/reporter-list.png) +![list reporter](images/reporter-list.png) -

    Progress

    +### Progress - The progress reporter implements a simple progress-bar: +The "progress" reporter implements a simple progress-bar: - ![progress bar](images/reporter-progress.png) +![progress bar](images/reporter-progress.png) -

    JSON

    +### JSON - The JSON reporter outputs a single large JSON object when - the tests have completed (failures or not). +The "JSON" reporter outputs a single large JSON object when the tests have completed (failures or not). - ![json reporter](images/reporter-json.png) +![json reporter](images/reporter-json.png) -

    JSON Stream

    +### JSON Stream - The JSON Stream reporter outputs newline-delimited JSON "events" as they occur, beginning with a "start" event, followed by test passes or failures, and then the final "end" event. +The "JSON stream" reporter outputs newline-delimited JSON "events" as they occur, beginning with a "start" event, followed by test passes or failures, and then the final "end" event. - ![json stream reporter](images/reporter-json-stream.png) +![json stream reporter](images/reporter-json-stream.png) -

    JSONCov

    +### JSONCov - The JSONCov reporter is similar to the JSON reporter, however when run against a library instrumented by [node-jscoverage](https://github.com/visionmedia/node-jscoverage) it will produce coverage output. +The "JSONCov" reporter is similar to the JSON reporter, however when run against a library instrumented by [node-jscoverage](https://github.com/visionmedia/node-jscoverage) it will produce coverage output. -

    HTMLCov

    +### HTMLCov - The HTMLCov reporter extends the JSONCov reporter. The library being tested should first be instrumented by [node-jscoverage](https://github.com/visionmedia/node-jscoverage), this allows Mocha to capture the coverage information necessary to produce a single-page HTML report. +The "HTMLCov" reporter extends the JSONCov reporter. The library being tested should first be instrumented by [node-jscoverage](https://github.com/visionmedia/node-jscoverage), this allows Mocha to capture the coverage information necessary to produce a single-page HTML report. - Click to view the current [Express test coverage](coverage.html) report. For an integration example view the mocha test coverage support [commit](https://github.com/visionmedia/express/commit/b6ee5fafd0d6c79cf7df5560cb324ebee4fe3a7f) for Express. +For an integration example, view the mocha test coverage support [commit](https://github.com/visionmedia/express/commit/b6ee5fafd0d6c79cf7df5560cb324ebee4fe3a7f) for Express. - ![code coverage reporting](images/reporter-htmlcov.png) +![code coverage reporting](images/reporter-htmlcov.png) -

    Min

    +### Min - The "min" reporter displays the summary only, while still outputting errors - on failure. This reporter works great with `--watch` as it clears the terminal - in order to keep your test summary at the top. +The "min" reporter displays the summary only, while still outputting errors on failure. This reporter works great with `--watch` as it clears the terminal in order to keep your test summary at the top. - ![min reporter](images/reporter-min.png) +![min reporter](images/reporter-min.png) -

    Doc

    +### Doc - The "doc" reporter outputs a hierarchical HTML body representation - of your tests, wrap it with a header, footer, some styling and you - have some fantastic documentation! +The "doc" reporter outputs a hierarchical HTML body representation of your tests. Wrap it with a header, footer, and some styling, then you have some fantastic documentation! - ![doc reporter](images/reporter-doc.png) +![doc reporter](images/reporter-doc.png) - For example suppose you have the following JavaScript: +For example, suppose you have the following JavaScript: - describe('Array', function(){ - describe('#indexOf()', function(){ - it('should return -1 when the value is not present', function(){ - [1,2,3].indexOf(5).should.equal(-1); - [1,2,3].indexOf(0).should.equal(-1); - }) - }) - }) +``` +describe('Array', function() { + describe('#indexOf()', function() { + it('should return -1 when the value is not present', function() { + [1,2,3].indexOf(5).should.equal(-1); + [1,2,3].indexOf(0).should.equal(-1); + }); + }); +}); +``` - The command `mocha --reporter doc array` would yield: +The command `mocha --reporter doc array` would yield: +```html +
    +

    Array

    +
    -

    Array

    +

    #indexOf()

    -
    -

    #indexOf()

    -
    -
    should return -1 when the value is not present
    -
    [1,2,3].indexOf(5).should.equal(-1);
    -    [1,2,3].indexOf(0).should.equal(-1);
    -
    -
    +
    should return -1 when the value is not present
    +
    [1,2,3].indexOf(5).should.equal(-1);
    +[1,2,3].indexOf(0).should.equal(-1);
    +
    +
    +``` - The SuperAgent request library [test documentation](http://visionmedia.github.io/superagent/docs/test.html) was generated with Mocha's doc reporter using this simple make target: - - test-docs: - make test REPORTER=doc \ - | cat docs/head.html - docs/tail.html \ - > docs/test.html - - View the entire [Makefile](https://github.com/visionmedia/superagent/blob/master/Makefile) for reference. - -

    XUnit

    - - Documentation needed. - -

    TeamCity

    - - Documentation needed. - -

    Markdown

    +The SuperAgent request library [test documentation](http://visionmedia.github.io/superagent/docs/test.html) was generated with Mocha's doc reporter using this simple make target: - The "markdown" reporter generates a markdown TOC and body for your - test suite. This is great if you want to use the tests as documentation - within a Github wiki page, or a markdown file in the repository that - Github can render. For example here is the Connect [test output](https://github.com/senchalabs/connect/blob/90a725343c2945aaee637e799b1cd11e065b2bff/tests.md). +```makefile + test-docs: + make test REPORTER=doc \ + | cat docs/head.html - docs/tail.html \ + > docs/test.html +``` -

    HTML

    +View the entire [Makefile](https://github.com/visionmedia/superagent/blob/master/Makefile) for reference. - The __HTML__ reporter is currently the only browser reporter - supported by Mocha, and it looks like this: +### Markdown - ![HTML test reporter](images/reporter-html.png) +The "markdown" reporter generates a markdown TOC and body for your test suite. This is great if you want to use the tests as documentation within a Github wiki page, or a markdown file in the repository that Github can render. For example here is the Connect [test output](https://github.com/senchalabs/connect/blob/90a725343c2945aaee637e799b1cd11e065b2bff/tests.md). -

    Browser support

    +### HTML - Mocha runs in the browser. Every release of Mocha will have new builds of _./mocha.js_ and _./mocha.css_ for use in the browser. To setup Mocha for browser use all you have to do is include the script, stylesheet, tell Mocha which interface you wish to use, and then run the tests. A typical setup might look something like the following, where we call `mocha.setup('bdd')` to use the __BDD__ interface before loading the test scripts, running them `onload` with `mocha.run()`. +The "HTML" reporter is currently the only browser reporter supported by Mocha, and it looks like this: - - - - Mocha Tests - - - -
    - - - - - - - - - - +![HTML test reporter](images/reporter-html.png) -

    grep

    - - The client-side may use `--grep` as well, however, you must append a query-string to your URL: `?grep=api`. - -

    Mocha Setup in the Browser

    - - Mocha options can be set via `mocha.setup()`. Examples: - - // Use "tdd" interface. This is a shortcut to setting the interface; - // any other options must be passed via an object. - mocha.setup('tdd'); - - // This is equivalent to the above. - mocha.setup({ - ui: 'tdd' - }); - - // Use "tdd" interface, ignore leaks, and force all tests to be asynchronous - mocha.setup({ - ui: 'tdd', - ignoreLeaks: true, - asyncOnly: true - }); +### Undocumented Reporters -

    Browser-specific option(s)

    +The "XUnit" and "TeamCity" reporters are also available, but someone needs to write the documentation. - The following option(s) *only* function in a browser context: +## Running Mocha in the Browser - `noHighlighting` : If set to `true`, do not attempt to use syntax highlighting on output test code. +Mocha runs in the browser. Every release of Mocha will have new builds of `./mocha.js` and `./mocha.css` for use in the browser. -

    mocha.opts

    +To configure Mocha for use in the browser, you must include the relevant files, tell Mocha which interface you would like to use, and then tell it to begin the tests. - Mocha will attempt to load `./test/mocha.opts`, these are concatenated with `process.argv`, though command-line args will take precedence. For example suppose you have the following _mocha.opts_ file: +A typical setup might look something like the following, where we call `mocha.setup('bdd')` to use the **BDD** interface before loading the test scripts, running them `onload` with `mocha.run()`. - --require should - --reporter dot - --ui bdd +```html + + + + Mocha Tests + + + +
    + + + + + + + + + + +``` - This will default the reporter to `dot`, require the `should` library, - and use `bdd` as the interface. With this you may then invoke `mocha(1)` - with additional arguments, here enabling growl support and changing - the reporter to `list`: +### Grep - $ mocha --reporter list --growl +The browser may use the `--grep` as functionality. Append a query-string to your URL: `?grep=api`. -

    Suite specific timeouts

    +### Browser Configuration - Suite-level timeouts may be applied to entire test "suites", or disabled - via `this.timeout(0)`. This will be inherited by all nested suites and test-cases - that do not override the value. +Mocha options can be set via `mocha.setup()`. Examples: - describe('a suite of tests', function(){ - this.timeout(500); +```js +// Use "tdd" interface. This is a shortcut to setting the interface; +// any other options must be passed via an object. +mocha.setup('tdd'); - it('should take less than 500ms', function(done){ - setTimeout(done, 300); - }) +// This is equivalent to the above. +mocha.setup({ + ui: 'tdd' +}); - it('should take less than 500ms as well', function(done){ - setTimeout(done, 200); - }) - }) +// Use "tdd" interface, ignore leaks, and force all tests to be asynchronous +mocha.setup({ + ui: 'tdd', + ignoreLeaks: true, + asyncOnly: true +}); +``` +### Browser-specific Option(s) -

    Test specific timeouts

    +The following option(s) *only* function in a browser context: - Test-specific timeouts may also be applied, or the use of `this.timeout(0)` - to disable timeouts all together: +`noHighlighting`: If set to `true`, do not attempt to use syntax highlighting on output test code. - it('should take less than 500ms', function(done){ - this.timeout(500); - setTimeout(done, 300); - }) +## `mocha.opts` -

    Best practices

    +Back on the server, Mocha will attempt to load `./test/mocha.opts` as a configuration file of sorts. The lines in this file are combined with any command-line arguments. The command-line arguments take precedence. For example, suppose you have the following `mocha.opts` file: -

    test/*

    +``` + --require should + --reporter dot + --ui bdd +``` - By default `mocha(1)` will use the pattern `./test/*.js`, so - it's usually a good place to put your tests. +This will default the reporter to `dot`, require the `should` library, and use `bdd` as the interface. With this, you may then invoke `mocha` with additional arguments, here enabling [Growl](http://growl.info) support, and changing the reporter to `list`: -

    Makefiles

    +```sh +$ mocha --reporter list --growl +``` - Be kind and don't make developers hunt around in your docs to figure - out how to run the tests, add a `make test` target to your _Makefile_: +## The `test/` Directory - test: - ./node_modules/.bin/mocha --reporter list +By default, `mocha` looks for the glob `./test/*.js`, so you may want to put your tests in `test/` folder. - .PHONY: test +## Editor Plugins -

    Editors

    +The following editor-related packages are available: - The following editor-related packages are available: +### TextMate -

    TextMate bundle

    +The Mocha TextMate bundle includes snippets to make writing tests quicker and more enjoyable. To install the bundle, clone a copy of the [Mocha repo](https://github.com/mochajs/mocha), and run: - The Mocha TextMate bundle includes snippets to - make writing tests quicker and more enjoyable. - To install the bundle run: +```sh +$ make tm +``` - $ make tm +### JetBrains -

    JetBrains plugin

    +[JetBrains](http://jetbrains.com) provides a [NodeJS plugin](http://www.jetbrains.com/idea/features/nodejs.html) for its suite of IDEs (IntelliJ IDEA, WebStorm, etc.), which contains a Mocha test runner, among other things. - [JetBrains](http://jetbrains.com) provides a [NodeJS plugin](http://www.jetbrains.com/idea/features/nodejs.html) for its suite of IDEs (IntelliJ IDEA, WebStorm, etc.), which contains a Mocha test runner, among other things. +![JetBrains Mocha Runner Plugin in Action](images/jetbrains-plugin.png) - ![JetBrains Mocha Runner Plugin in Action](images/jetbrains-plugin.png) +The plugin is titled **NodeJS**, and can be installed via **Preferences** > **Plugins**, assuming your license allows it. - The plugin is titled **NodeJS**, and can be installed via **Preferences** > **Plugins**, or via [direct download](http://plugins.jetbrains.com/plugin/6098?pr=phpStorm). -

    Example test suites

    +## Examples - The following test suites are from real projects putting Mocha to use, - so they serve as good examples: +Real live example code: - - [Express](https://github.com/visionmedia/express/tree/master/test) - - [Connect](https://github.com/senchalabs/connect/tree/master/test) - - [SuperAgent](https://github.com/visionmedia/superagent/tree/master/test/node) - - [WebSocket.io](https://github.com/LearnBoost/websocket.io/tree/master/test) - - [Mocha](https://github.com/mochajs/mocha/tree/master/test) +- [Express](https://github.com/visionmedia/express/tree/master/test) +- [Connect](https://github.com/senchalabs/connect/tree/master/test) +- [SuperAgent](https://github.com/visionmedia/superagent/tree/master/test/node) +- [WebSocket.io](https://github.com/LearnBoost/websocket.io/tree/master/test) +- [Mocha](https://github.com/mochajs/mocha/tree/master/test) -

    Running mocha's tests

    +## Testing Mocha - Run the tests: +To run Mocha's tests: - $ make test +```sh +$ make test +``` - Run all tests, including interfaces: +Run all tests, including interfaces: - $ make test-all +```sh +$ make test-all +``` - Alter the reporter: +Alter the reporter: - $ make test REPORTER=list +``` +$ make test REPORTER=list +``` -

    More information

    +## More Information - For additional information such as using spies, mocking, and shared behaviours be sure to check out the [Mocha Wiki](https://github.com/mochajs/mocha/wiki) on GitHub. For discussions join the [Google Group](http://groups.google.com/group/mochajs). For a running example of mocha view [example/tests.html](example/tests.html). For the JavaScript API view the [source](https://github.com/mochajs/mocha/blob/master/lib/mocha.js#L51). +In addition to chatting with us on [Gitter](https://gitter.im/mochajs/mocha), for additional information such as using spies, mocking, and shared behaviours be sure to check out the [Mocha Wiki](https://github.com/mochajs/mocha/wiki) on GitHub. For discussions join the [Google Group](http://groups.google.com/group/mochajs). For a running example of Mocha, view [example/tests.html](example/tests.html). For the JavaScript API, view the [source](https://github.com/mochajs/mocha/blob/master/lib/mocha.js#L51). diff --git a/jquery.js b/jquery.js deleted file mode 100644 index d2424e6528..0000000000 --- a/jquery.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! jQuery v1.7 jquery.com | jquery.org/license */ -(function(a,b){function cA(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cx(a){if(!cm[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){cn||(cn=c.createElement("iframe"),cn.frameBorder=cn.width=cn.height=0),b.appendChild(cn);if(!co||!cn.createElement)co=(cn.contentWindow||cn.contentDocument).document,co.write((c.compatMode==="CSS1Compat"?"":"")+""),co.close();d=co.createElement(a),co.body.appendChild(d),e=f.css(d,"display"),b.removeChild(cn)}cm[a]=e}return cm[a]}function cw(a,b){var c={};f.each(cs.concat.apply([],cs.slice(0,b)),function(){c[this]=a});return c}function cv(){ct=b}function cu(){setTimeout(cv,0);return ct=f.now()}function cl(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ck(){try{return new a.XMLHttpRequest}catch(b){}}function ce(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g0){c!=="border"&&f.each(e,function(){c||(d-=parseFloat(f.css(a,"padding"+this))||0),c==="margin"?d+=parseFloat(f.css(a,c+this))||0:d-=parseFloat(f.css(a,"border"+this+"Width"))||0});return d+"px"}d=bB(a,b,b);if(d<0||d==null)d=a.style[b]||0;d=parseFloat(d)||0,c&&f.each(e,function(){d+=parseFloat(f.css(a,"padding"+this))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+this+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+this))||0)});return d+"px"}function br(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(bi,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function bq(a){var b=(a.nodeName||"").toLowerCase();b==="input"?bp(a):b!=="script"&&typeof a.getElementsByTagName!="undefined"&&f.grep(a.getElementsByTagName("input"),bp)}function bp(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bo(a){return typeof a.getElementsByTagName!="undefined"?a.getElementsByTagName("*"):typeof a.querySelectorAll!="undefined"?a.querySelectorAll("*"):[]}function bn(a,b){var c;if(b.nodeType===1){b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase();if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(f.expando)}}function bm(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c,d,e,g=f._data(a),h=f._data(b,g),i=g.events;if(i){delete h.handle,h.events={};for(c in i)for(d=0,e=i[c].length;d=0===c})}function V(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function N(){return!0}function M(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?parseFloat(d):j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/\d/,n=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,o=/^[\],:{}\s]*$/,p=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,q=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,r=/(?:^|:|,)(?:\s*\[)+/g,s=/(webkit)[ \/]([\w.]+)/,t=/(opera)(?:.*version)?[ \/]([\w.]+)/,u=/(msie) ([\w.]+)/,v=/(mozilla)(?:.*? rv:([\w.]+))?/,w=/-([a-z]|[0-9])/ig,x=/^-ms-/,y=function(a,b){return(b+"").toUpperCase()},z=d.userAgent,A,B,C,D=Object.prototype.toString,E=Object.prototype.hasOwnProperty,F=Array.prototype.push,G=Array.prototype.slice,H=String.prototype.trim,I=Array.prototype.indexOf,J={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=n.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7",length:0,size:function(){return this.length},toArray:function(){return G.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?F.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),B.add(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(G.apply(this,arguments),"slice",G.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:F,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;B.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!B){B=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",C,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",C),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&K()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNumeric:function(a){return a!=null&&m.test(a)&&!isNaN(a)},type:function(a){return a==null?String(a):J[D.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!E.call(a,"constructor")&&!E.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||E.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(o.test(b.replace(p,"@").replace(q,"]").replace(r,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(x,"ms-").replace(w,y)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c
    a",d=a.getElementsByTagName("*"),e=a.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=a.getElementsByTagName("input")[0],k={leadingWhitespace:a.firstChild.nodeType===3,tbody:!a.getElementsByTagName("tbody").length,htmlSerialize:!!a.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,unknownElems:!!a.getElementsByTagName("nav").length,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:a.className!=="t",enctype:!!c.createElement("form").enctype,submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,k.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,k.optDisabled=!h.disabled;try{delete a.test}catch(v){k.deleteExpando=!1}!a.addEventListener&&a.attachEvent&&a.fireEvent&&(a.attachEvent("onclick",function(){k.noCloneEvent=!1}),a.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),k.radioValue=i.value==="t",i.setAttribute("checked","checked"),a.appendChild(i),l=c.createDocumentFragment(),l.appendChild(a.lastChild),k.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,a.innerHTML="",a.style.width=a.style.paddingLeft="1px",m=c.getElementsByTagName("body")[0],o=c.createElement(m?"div":"body"),p={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},m&&f.extend(p,{position:"absolute",left:"-999px",top:"-999px"});for(t in p)o.style[t]=p[t];o.appendChild(a),n=m||b,n.insertBefore(o,n.firstChild),k.appendChecked=i.checked,k.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,k.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="
    ",k.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="
    t
    ",q=a.getElementsByTagName("td"),u=q[0].offsetHeight===0,q[0].style.display="",q[1].style.display="none",k.reliableHiddenOffsets=u&&q[0].offsetHeight===0,a.innerHTML="",c.defaultView&&c.defaultView.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",a.appendChild(j),k.reliableMarginRight=(parseInt((c.defaultView.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0);if(a.attachEvent)for(t in{submit:1,change:1,focusin:1})s="on"+t,u=s in a,u||(a.setAttribute(s,"return;"),u=typeof a[s]=="function"),k[t+"Bubbles"]=u;f(function(){var a,b,d,e,g,h,i=1,j="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;",l="visibility:hidden;border:0;",n="style='"+j+"border:5px solid #000;padding:0;'",p="
    "+""+"
    ";m=c.getElementsByTagName("body")[0];!m||(a=c.createElement("div"),a.style.cssText=l+"width:0;height:0;position:static;top:0;margin-top:"+i+"px",m.insertBefore(a,m.firstChild),o=c.createElement("div"),o.style.cssText=j+l,o.innerHTML=p,a.appendChild(o),b=o.firstChild,d=b.firstChild,g=b.nextSibling.firstChild.firstChild,h={doesNotAddBorder:d.offsetTop!==5,doesAddBorderForTableAndCells:g.offsetTop===5},d.style.position="fixed",d.style.top="20px",h.fixedPosition=d.offsetTop===20||d.offsetTop===15,d.style.position=d.style.top="",b.style.overflow="hidden",b.style.position="relative",h.subtractsBorderForOverflowNotVisible=d.offsetTop===-5,h.doesNotIncludeMarginInBodyOffset=m.offsetTop!==i,m.removeChild(a),o=a=null,f.extend(k,h))}),o.innerHTML="",n.removeChild(o),o=l=g=h=m=j=a=i=null;return k}(),f.boxModel=f.support.boxModel;var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[f.expando]:a[f.expando]&&f.expando,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[f.expando]=n=++f.uuid:n=f.expando),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[f.expando]:f.expando;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)?b=b:b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" "));for(e=0,g=b.length;e-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];if(!arguments.length){if(g){c=f.valHooks[g.nodeName.toLowerCase()]||f.valHooks[g.type];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}return b}e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!a||j===3||j===8||j===2)return b;if(e&&c in f.attrFn)return f(a)[c](d);if(!("getAttribute"in a))return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return b}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g},removeAttr:function(a,b){var c,d,e,g,h=0;if(a.nodeType===1){d=(b||"").split(p),g=d.length;for(;h=0}})});var z=/\.(.*)$/,A=/^(?:textarea|input|select)$/i,B=/\./g,C=/ /g,D=/[^\w\s.|`]/g,E=/^([^\.]*)?(?:\.(.+))?$/,F=/\bhover(\.\S+)?/,G=/^key/,H=/^(?:mouse|contextmenu)|click/,I=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,J=function(a){var b=I.exec(a);b&& -(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},K=function(a,b){return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||a.id===b[2])&&(!b[3]||b[3].test(a.className))},L=function(a){return f.event.special.hover?a:a.replace(F,"mouseenter$1 mouseleave$1")};f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=L(c).split(" ");for(k=0;k=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"",(g||!e)&&c.preventDefault();if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,n=null;for(m=e.parentNode;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;l=0:t===b&&(t=o[s]=r.quick?K(m,r.quick):f(m).is(s)),t&&q.push(r);q.length&&j.push({elem:m,matches:q})}d.length>e&&j.push({elem:this,matches:d.slice(e)});for(k=0;k0?this.bind(b,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),G.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),H.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

    ";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="
    ";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h0)for(h=g;h=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(V(c[0])||V(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c),g=S.call(arguments);O.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!U[a]?f.unique(e):e,(this.length>1||Q.test(d))&&P.test(a)&&(e=e.reverse());return this.pushStack(e,a,g.join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var Y="abbr article aside audio canvas datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",Z=/ jQuery\d+="(?:\d+|null)"/g,$=/^\s+/,_=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,ba=/<([\w:]+)/,bb=/",""],legend:[1,"
    ","
    "],thead:[1,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],col:[2,"","
    "],area:[1,"",""],_default:[0,"",""]},bk=X(c);bj.optgroup=bj.option,bj.tbody=bj.tfoot=bj.colgroup=bj.caption=bj.thead,bj.th=bj.td,f.support.htmlSerialize||(bj._default=[1,"div
    ","
    "]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){f(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after" -,arguments);a.push.apply(a,f(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Z,""):null;if(typeof a=="string"&&!bd.test(a)&&(f.support.leadingWhitespace||!$.test(a))&&!bj[(ba.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(_,"<$1>");try{for(var c=0,d=this.length;c1&&l0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d=a.cloneNode(!0),e,g,h;if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bn(a,d),e=bo(a),g=bo(d);for(h=0;e[h];++h)g[h]&&bn(e[h],g[h])}if(b){bm(a,d);if(c){e=bo(a),g=bo(d);for(h=0;e[h];++h)bm(e[h],g[h])}}e=g=null;return d},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!bc.test(k))k=b.createTextNode(k);else{k=k.replace(_,"<$1>");var l=(ba.exec(k)||["",""])[1].toLowerCase(),m=bj[l]||bj._default,n=m[0],o=b.createElement("div");b===c?bk.appendChild(o):X(b).appendChild(o),o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=bb.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]===""&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&$.test(k)&&o.insertBefore(b.createTextNode($.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bt.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bs,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bs.test(g)?g.replace(bs,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bB(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bC=function(a,c){var d,e,g;c=c.replace(bu,"-$1").toLowerCase();if(!(e=a.ownerDocument.defaultView))return b;if(g=e.getComputedStyle(a,null))d=g.getPropertyValue(c),d===""&&!f.contains(a.ownerDocument.documentElement,a)&&(d=f.style(a,c));return d}),c.documentElement.currentStyle&&(bD=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f===null&&g&&(e=g[b])&&(f=e),!bv.test(f)&&bw.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f||0,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),bB=bC||bD,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bF=/%20/g,bG=/\[\]$/,bH=/\r?\n/g,bI=/#.*$/,bJ=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bK=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bL=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bM=/^(?:GET|HEAD)$/,bN=/^\/\//,bO=/\?/,bP=/)<[^<]*)*<\/script>/gi,bQ=/^(?:select|textarea)/i,bR=/\s+/,bS=/([?&])_=[^&]*/,bT=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bU=f.fn.load,bV={},bW={},bX,bY,bZ=["*/"]+["*"];try{bX=e.href}catch(b$){bX=c.createElement("a"),bX.href="",bX=bX.href}bY=bT.exec(bX.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bU)return bU.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("
    ").append(c.replace(bP,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bQ.test(this.nodeName)||bK.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bH,"\r\n")}}):{name:b.name,value:c.replace(bH,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.bind(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?cb(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),cb(a,b);return a},ajaxSettings:{url:bX,isLocal:bL.test(bY[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bZ},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:b_(bV),ajaxTransport:b_(bW),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?cd(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=ce(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f.Callbacks("once memory"),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bJ.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.add,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bI,"").replace(bN,bY[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bR),d.crossDomain==null&&(r=bT.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bY[1]&&r[2]==bY[2]&&(r[3]||(r[1]==="http:"?80:443))==(bY[3]||(bY[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),ca(bV,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bM.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bO.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bS,"$1_="+x);d.url=y+(y===d.url?(bO.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bZ+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=ca(bW,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){s<2?w(-1,z):f.error(z)}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)cc(g,a[g],c,e);return d.join("&").replace(bF,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cf=f.now(),cg=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cf++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(cg.test(b.url)||e&&cg.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(cg,l),b.url===j&&(e&&(k=k.replace(cg,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var ch=a.ActiveXObject?function(){for(var a in cj)cj[a](0,1)}:!1,ci=0,cj;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ck()||cl()}:ck,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,ch&&delete cj[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++ci,ch&&(cj||(cj={},f(a).unload(ch)),cj[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cm={},cn,co,cp=/^(?:toggle|show|hide)$/,cq=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cr,cs=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],ct;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cw("show",3),a,b,c);for(var g=0,h=this.length;g=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties[b]!==!0&&(g=!1);if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show)for(b in i.animatedProperties)f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.complete=!1,d.call(h))}return!1}i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cz.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cz.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cA(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cA(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,d,"padding")):this[d]():null},f.fn["outer"+c]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,d,a?"margin":"border")):this[d]():null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c],h=e.document.body;return e.document.compatMode==="CSS1Compat"&&g||h&&h["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var i=f.css(e,d),j=parseFloat(i);return f.isNumeric(j)?j:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f})(window); \ No newline at end of file diff --git a/package.json b/package.json new file mode 100644 index 0000000000..30fb54f16c --- /dev/null +++ b/package.json @@ -0,0 +1,22 @@ +{ + "name": "mochajs.org", + "version": "1.0.0", + "description": "Mocha's gh-pages branch", + "private": true, + "scripts": { + "prepublish": "gem install bundler && bundle install", + "build": "toc-idx -i index.md --max-depth 1 --bullet \"\\- \" index.md && bundle exec jekyll build" + }, + "repository": { + "type": "git", + "url": "https://github.com/mochajs/mocha.git#gh-pages" + }, + "license": "MIT", + "bugs": { + "url": "https://github.com/mochajs/mocha/issues" + }, + "homepage": "http://mochajs.org", + "devDependencies": { + "markdown-toc-index": "^0.2.0" + } +} From b4fae164001589cbf96bec0f5e4659a812924c35 Mon Sep 17 00:00:00 2001 From: "Rico Sta. Cruz" Date: Sun, 7 Jun 2015 19:06:00 +0800 Subject: [PATCH 189/272] Adds makefile Signed-off-by: Joshua Appelman --- Makefile | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 Makefile diff --git a/Makefile b/Makefile new file mode 100644 index 0000000000..9d3d37e77f --- /dev/null +++ b/Makefile @@ -0,0 +1,11 @@ +PORT ?= 3000 +bundle := bundle + +start: bundle + ${bundle} exec jekyll serve --safe --drafts --watch --port ${PORT} + +build: bundle + ${bundle} exec jekyll build --safe + +bundle: + ${bundle} From 0d934d68b33d1d38498b317fc045fb39c1538b8d Mon Sep 17 00:00:00 2001 From: Joshua Appelman Date: Sun, 5 Jul 2015 13:16:11 +0200 Subject: [PATCH 190/272] Adds TOC to makefile. --- Makefile | 8 ++++++-- package.json | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 9d3d37e77f..77e0c976a6 100644 --- a/Makefile +++ b/Makefile @@ -1,11 +1,15 @@ PORT ?= 3000 bundle := bundle -start: bundle +start: toc bundle ${bundle} exec jekyll serve --safe --drafts --watch --port ${PORT} -build: bundle + +build: toc bundle ${bundle} exec jekyll build --safe +toc: + ./node_modules/.bin/toc-idx -i index.md --max-depth 1 --bullet "\- " index.md + bundle: ${bundle} diff --git a/package.json b/package.json index 30fb54f16c..7eaaef80c8 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "private": true, "scripts": { "prepublish": "gem install bundler && bundle install", - "build": "toc-idx -i index.md --max-depth 1 --bullet \"\\- \" index.md && bundle exec jekyll build" + "build": "make build" }, "repository": { "type": "git", From e86f82452c8fe2d6d12714686125f10135cccc61 Mon Sep 17 00:00:00 2001 From: Joshua Appelman Date: Sun, 5 Jul 2015 13:19:03 +0200 Subject: [PATCH 191/272] Updates README with make and local dev instructions. --- README.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 0f8db3ae9e..0be8a8dc26 100644 --- a/README.md +++ b/README.md @@ -13,9 +13,13 @@ ## Installation 1. Execute `npm install`. This will install [Bundler](http://bundler.io), Jekyll, and [markdown-toc-index](https://www.npmjs.com/package/markdown-toc-index). -2. To build, execute `npm run-script build`. +2. To build, execute `npm run build` or `make build` -For more information, refer to the [Jekyll Docs](http://jekyllrb.com/docs/home/) and [GitHub's Tutorial](https://help.github.com/articles/using-jekyll-with-pages/) on the subject. +## Local development + +1. Run `make` to build the project and start a development server that auto-watches for changes on http://localhost:3000 + +For more information, refer to the [Jekyll Docs](http://jekyllrb.com/docs/home/) and [GitHub's Tutorial](https://help.github.com/articles/using-jekyll-with-pages/) on the subject. ## Notes From b8689990f4f75aaa65ea675093b98cfce6ce142d Mon Sep 17 00:00:00 2001 From: Joshua Appelman Date: Sun, 5 Jul 2015 13:26:29 +0200 Subject: [PATCH 192/272] Adds maintainers to package.json and footer. --- _includes/footer.html | 2 +- package.json | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/_includes/footer.html b/_includes/footer.html index 300314d5c6..d4fbe54982 100644 --- a/_includes/footer.html +++ b/_includes/footer.html @@ -1,3 +1,3 @@
    - © 2011-2015 TJ Holowaychuk. All rights reserved. Licensed MIT + © 2011-2015 TJ Holowaychuk, Travis Jeffery, Christopher Hiller & Joshua Boy Nicolai Appelman. All rights reserved. Licensed MIT
    diff --git a/package.json b/package.json index 7eaaef80c8..051963d6bd 100644 --- a/package.json +++ b/package.json @@ -3,6 +3,11 @@ "version": "1.0.0", "description": "Mocha's gh-pages branch", "private": true, + "maintainers": [ + "travisjeffery ", + "jbnicolai ", + "boneskull " + ], "scripts": { "prepublish": "gem install bundler && bundle install", "build": "make build" From 892498fa10ecb07345d680f5ff75d89de8d5b81e Mon Sep 17 00:00:00 2001 From: Joshua Appelman Date: Sun, 5 Jul 2015 13:33:08 +0200 Subject: [PATCH 193/272] Fixes broken href attribute. --- _includes/head.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/head.html b/_includes/head.html index 0332f13b8d..66c1b19385 100644 --- a/_includes/head.html +++ b/_includes/head.html @@ -1,7 +1,7 @@ {{ page.title }} - + From 97c936d3e327e9f8f881a9a06f4fe43e6558d276 Mon Sep 17 00:00:00 2001 From: Tomer Eskenazi Date: Tue, 2 Jun 2015 17:17:49 +0300 Subject: [PATCH 194/272] Site index - update mocha command flags Signed-off-by: Joshua Appelman --- index.md | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/index.md b/index.md index d9d7ccbae5..7323b61bb9 100644 --- a/index.md +++ b/index.md @@ -501,11 +501,22 @@ Options: --check-leaks check for global variable leaks --compilers :,... use the given module(s) to compile files --debug-brk enable node's debugger breaking on the first line + --delay wait for async suite definition + --es_staging enable all staged features + --full-trace display the full stack trace --globals allow the given comma-delimited global [names] + --harmony enable all harmony features (except typeof) + --harmony-collections enable harmony collections (sets, maps, and weak maps) + --harmony-generators enable harmony generators + --harmony-proxies enable harmony proxies + --harmony_arrow_functions enable "harmony arrow functions" (iojs) + --harmony_classes enable "harmony classes" (iojs) + --harmony_proxies enable "harmony proxies" (iojs) + --harmony_shipping enable all shipped harmony fetaures (iojs) --inline-diffs display actual/expected differences inline within each string --interfaces display available interfaces --no-deprecation silence deprecation warnings - --no-exit require a clean shutdown of the event loop: mocha will exit + --no-exit require a clean shutdown of the event loop: mocha will not call process.exit --no-timeouts disables timeouts, given implicitly with --debug --opts specify opts path --prof log statistical profiling information @@ -515,7 +526,6 @@ Options: --trace trace function calls --trace-deprecation show stack traces on deprecations --watch-extensions ,... additional extensions to monitor with --watch - --delay wait for async suite definition ``` ### `-w, --watch` From 0a16234ae878c8301a5241145ec2d15db6f2b1ee Mon Sep 17 00:00:00 2001 From: amsul Date: Wed, 10 Jun 2015 16:27:05 -0400 Subject: [PATCH 195/272] add note on allowUncaught method in the browser Signed-off-by: Joshua Appelman --- index.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/index.md b/index.md index 7323b61bb9..8ee61f1d66 100644 --- a/index.md +++ b/index.md @@ -872,9 +872,13 @@ The "XUnit" and "TeamCity" reporters are also available, but someone needs to wr ## Running Mocha in the Browser -Mocha runs in the browser. Every release of Mocha will have new builds of `./mocha.js` and `./mocha.css` for use in the browser. +Mocha runs in the browser. Every release of Mocha will have new builds of `./mocha.js` and `./mocha.css` for use in the browser. -To configure Mocha for use in the browser, you must include the relevant files, tell Mocha which interface you would like to use, and then tell it to begin the tests. +### Browser-specific methods + + The following method(s) *only* function in a browser context: + + `mocha.allowUncaught()` : If called, uncaught errors will not be absorbed by the error handler. A typical setup might look something like the following, where we call `mocha.setup('bdd')` to use the **BDD** interface before loading the test scripts, running them `onload` with `mocha.run()`. From 63f04417b2f2b0a71cde74e16347d72346f766fc Mon Sep 17 00:00:00 2001 From: Joshua Appelman Date: Sun, 5 Jul 2015 14:27:21 +0200 Subject: [PATCH 196/272] Updates should.js repository url. Fixes #1743 --- index.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/index.md b/index.md index 8ee61f1d66..c09098639c 100644 --- a/index.md +++ b/index.md @@ -112,9 +112,9 @@ $ mocha ## Assertions -Mocha allows you to use any assertion library you want, if it throws an error, it will work! This means you can utilize libraries such as [should.js](https://github.com/visionmedia/should.js), node's regular `assert` module, or others. The following is a list of known assertion libraries for node and/or the browser: +Mocha allows you to use any assertion library you want, if it throws an error, it will work! This means you can utilize libraries such as [should.js](https://github.com/shouldjs/should.js), node's regular `assert` module, or others. The following is a list of known assertion libraries for node and/or the browser: -- [should.js](https://github.com/visionmedia/should.js) BDD style shown throughout these docs +- [should.js](https://github.com/shouldjs/should.js) BDD style shown throughout these docs - [expect.js](https://github.com/LearnBoost/expect.js) expect() style assertions - [chai](http://chaijs.com/) expect(), assert() and should style assertions - [better-assert](https://github.com/visionmedia/better-assert) c-style self-documenting assert() @@ -557,7 +557,7 @@ By default, Mocha will not check for global variables leaked while running tests ### `-r, --require ` -The `--require` option is useful for libraries such as [should.js](https://github.com/visionmedia/should.js), so you may simply `--require should` instead of manually invoking `require('should')` within each test file. Note that this works well for `should` as it augments `Object.prototype`, however if you wish to access a module's exports you will have to require them, for example `var should = require('should')`. Furthermore, it can be used with relative paths, e.g. `--require ./test/helper.js` +The `--require` option is useful for libraries such as [should.js](https://github.com/shouldjs/should.js), so you may simply `--require should` instead of manually invoking `require('should')` within each test file. Note that this works well for `should` as it augments `Object.prototype`, however if you wish to access a module's exports you will have to require them, for example `var should = require('should')`. Furthermore, it can be used with relative paths, e.g. `--require ./test/helper.js` ### `-u, --ui ` From 4a22abd26d1977a746da5106fae9c78fbef2584e Mon Sep 17 00:00:00 2001 From: Joshua Appelman Date: Sun, 5 Jul 2015 14:36:23 +0200 Subject: [PATCH 197/272] Uses cdn urls in example html. Closes #1738. --- index.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/index.md b/index.md index c09098639c..e39cda4b2d 100644 --- a/index.md +++ b/index.md @@ -887,13 +887,15 @@ A typical setup might look something like the following, where we call `mocha.se Mocha Tests - +
    - - - + + + + + From 495c2b619b7739f832661f6182e625eb906a7b47 Mon Sep 17 00:00:00 2001 From: Joshua Appelman Date: Sun, 5 Jul 2015 14:58:07 +0200 Subject: [PATCH 198/272] Fixes window.onload animation. --- _includes/header.html | 3 +++ 1 file changed, 3 insertions(+) diff --git a/_includes/header.html b/_includes/header.html index 71eb2f0287..d9aaec736b 100644 --- a/_includes/header.html +++ b/_includes/header.html @@ -1,3 +1,6 @@ +

    Mocha

    simple, flexible, fun

    From b325391d04b54c02fd65fa28b49f35db7a8374f3 Mon Sep 17 00:00:00 2001 From: Joshua Appelman Date: Sun, 5 Jul 2015 20:35:58 +0200 Subject: [PATCH 199/272] Revert "Adds maintainers to package.json and footer." This reverts commit b8689990f4f75aaa65ea675093b98cfce6ce142d. --- _includes/footer.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/footer.html b/_includes/footer.html index d4fbe54982..300314d5c6 100644 --- a/_includes/footer.html +++ b/_includes/footer.html @@ -1,3 +1,3 @@
    - © 2011-2015 TJ Holowaychuk, Travis Jeffery, Christopher Hiller & Joshua Boy Nicolai Appelman. All rights reserved. Licensed MIT + © 2011-2015 TJ Holowaychuk. All rights reserved. Licensed MIT
    From ee695d9b7ced2bb8a3ee7d66d69677ca0ef4144f Mon Sep 17 00:00:00 2001 From: Joshua Appelman Date: Sun, 5 Jul 2015 23:45:42 +0200 Subject: [PATCH 200/272] Completely reverts licence to original version. --- _includes/footer.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/footer.html b/_includes/footer.html index 300314d5c6..9d5c068ac4 100644 --- a/_includes/footer.html +++ b/_includes/footer.html @@ -1,3 +1,3 @@
    - © 2011-2015 TJ Holowaychuk. All rights reserved. Licensed MIT + © 2011 TJ Holowaychuk. All rights reserved. Licensed MIT
    From 31f3e80cdce09707f3b6035b9314ebe3e08b5179 Mon Sep 17 00:00:00 2001 From: "Rico Sta. Cruz" Date: Mon, 6 Jul 2015 17:51:11 +0800 Subject: [PATCH 201/272] Update example CDN URLs --- index.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/index.md b/index.md index e39cda4b2d..01a6339ffb 100644 --- a/index.md +++ b/index.md @@ -887,14 +887,14 @@ A typical setup might look something like the following, where we call `mocha.se Mocha Tests - +
    - - - + + + From 66df628bed1ce4bcfe4e3419f5320fa373cb68b7 Mon Sep 17 00:00:00 2001 From: Christopher Hiller Date: Fri, 10 Jul 2015 12:41:12 -0700 Subject: [PATCH 202/272] add google analytics; closes #2 --- _includes/ga.html | 10 ++++++++++ _layouts/default.html | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 _includes/ga.html diff --git a/_includes/ga.html b/_includes/ga.html new file mode 100644 index 0000000000..94bc6dc8f0 --- /dev/null +++ b/_includes/ga.html @@ -0,0 +1,10 @@ + diff --git a/_layouts/default.html b/_layouts/default.html index f71fd1faff..1e338b2e45 100644 --- a/_layouts/default.html +++ b/_layouts/default.html @@ -12,7 +12,7 @@ {% include footer.html %} - + {% include ga.html %} From f53300dd7100e481724c328b52fdc1a509e65225 Mon Sep 17 00:00:00 2001 From: Christopher Hiller Date: Sat, 11 Jul 2015 21:11:54 -0700 Subject: [PATCH 203/272] correct default reporter --- index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.md b/index.md index 01a6339ffb..bb8cdab4d9 100644 --- a/index.md +++ b/index.md @@ -565,7 +565,7 @@ The `--ui` option lets you specify the interface to use, defaulting to "bdd". ### `-R, --reporter ` -The `--reporter` option allows you to specify the reporter that will be used, defaulting to "dot". This flag may also be used to utilize third-party reporters. For example if you `npm install mocha-lcov-reporter` you may then do `--reporter mocha-lcov-reporter`. +The `--reporter` option allows you to specify the reporter that will be used, defaulting to "spec". This flag may also be used to utilize third-party reporters. For example if you `npm install mocha-lcov-reporter` you may then do `--reporter mocha-lcov-reporter`. ### `-t, --timeout ` From b2def32ac70b666bd095beae840a58a9e4ec18ea Mon Sep 17 00:00:00 2001 From: Nik Nyby Date: Mon, 13 Jul 2015 11:28:58 -0400 Subject: [PATCH 204/272] Fix broken link to mocha-opts anchor tag http://mochajs.org/#mochaopts doesn't work, but http://mochajs.org/#mocha-opts does. --- index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.md b/index.md index bb8cdab4d9..4acbba68a0 100644 --- a/index.md +++ b/index.md @@ -60,7 +60,7 @@ Mocha is a feature-rich JavaScript test framework running on [Node.js](http://no - [Interfaces](#interfaces) - [Reporters](#reporters) - [Running Mocha in the Browser](#running-mocha-in-the-browser) -- [`mocha.opts`](#mochaopts) +- [`mocha.opts`](#mocha-opts) - [The `test/` Directory](#the-test-directory) - [Editor Plugins](#editor-plugins) - [Examples](#examples) From 058d551570365060966b8eb9f4093695e601319c Mon Sep 17 00:00:00 2001 From: Artem Govorov Date: Thu, 16 Jul 2015 16:26:47 +1000 Subject: [PATCH 205/272] Added wallaby.js plugin to Editor Plugins section --- images/wallaby.png | Bin 0 -> 49021 bytes index.md | 6 ++++++ 2 files changed, 6 insertions(+) create mode 100644 images/wallaby.png diff --git a/images/wallaby.png b/images/wallaby.png new file mode 100644 index 0000000000000000000000000000000000000000..ac68bac80eb53587aa09ba4a89e909efd541462a GIT binary patch literal 49021 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%0D!{vC$M+6sJnbbL)Mwk$IVyZK6csPvDT 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 **Plugins**, assuming your license allows it. +### Wallaby.js + +[Wallaby.js](http://wallabyjs.com) is a continuous testing tool that enables real-time code coverage for Mocha with any assertion library in JetBrains IDEs (IntelliJ IDEA, WebStorm, etc.) and Visual Studio for both browser and node.js projects. + +![Wallaby.js in Action](images/wallaby.png) + ## Examples From 14adc4f4709147207784574d96b212b1be3bc2d2 Mon Sep 17 00:00:00 2001 From: Ryan Tablada Date: Mon, 3 Aug 2015 12:22:41 -0500 Subject: [PATCH 206/272] Fixes missing commas and file formats --- index.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/index.md b/index.md index 4acbba68a0..9f03cd79a6 100644 --- a/index.md +++ b/index.md @@ -89,7 +89,7 @@ $ $EDITOR test/test.js In your editor: ```js -var assert = require("assert") +var assert = require("assert"); describe('Array', function() { describe('#indexOf()', function () { it('should return -1 when the value is not present', function () { @@ -441,11 +441,11 @@ describe('a suite of tests', function() { it('should take less than 500ms', function(done){ setTimeout(done, 300); - }) + }); it('should take less than 500ms as well', function(done){ setTimeout(done, 200); - }) + }); }) ``` @@ -595,8 +595,8 @@ describe('app', function() { it('respond with an array of users', function() { // ... }); - }) -}) + }); +}); ``` ## Interfaces @@ -712,10 +712,10 @@ The `require` interface allows you to require the `describe` and friend words di *Note*: The `require` interface cannot be run via the `node` executable, and must be run via `mocha`. ```js -var testCase = require('mocha').describe -var pre = require('mocha').before -var assertions = require('mocha').it -var assert = require('assert') +var testCase = require('mocha').describe; +var pre = require('mocha').before; +var assertions = require('mocha').it; +var assert = require('assert'); testCase('Array', function() { pre(function() { @@ -816,7 +816,7 @@ The "doc" reporter outputs a hierarchical HTML body representation of your tests For example, suppose you have the following JavaScript: -``` +```js describe('Array', function() { describe('#indexOf()', function() { it('should return -1 when the value is not present', function() { @@ -1008,7 +1008,7 @@ $ make test-all Alter the reporter: -``` +```sh $ make test REPORTER=list ``` From 19ddfad7e1ea6b853b78669b355c4652340f453f Mon Sep 17 00:00:00 2001 From: Sune Simonsen Date: Wed, 5 Aug 2015 21:18:29 +0200 Subject: [PATCH 207/272] Added unexpected.js.org as an assertion library --- index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/index.md b/index.md index 4acbba68a0..70fe493661 100644 --- a/index.md +++ b/index.md @@ -118,6 +118,7 @@ Mocha allows you to use any assertion library you want, if it throws an error, i - [expect.js](https://github.com/LearnBoost/expect.js) expect() style assertions - [chai](http://chaijs.com/) expect(), assert() and should style assertions - [better-assert](https://github.com/visionmedia/better-assert) c-style self-documenting assert() +- [unexpected](http://unexpected.js.org) the extensible BDD assertion toolkit ## Synchronous Code From 19e90aa8ec41e027def9fd98f62a3b6aa435032e Mon Sep 17 00:00:00 2001 From: Hugo Giraudel Date: Wed, 14 Oct 2015 09:36:28 +0200 Subject: [PATCH 208/272] Changed some double quotes in single quotes to avoid mixing them both --- index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.md b/index.md index 5b995c9808..2684e32de8 100644 --- a/index.md +++ b/index.md @@ -89,7 +89,7 @@ $ $EDITOR test/test.js In your editor: ```js -var assert = require("assert"); +var assert = require('assert'); describe('Array', function() { describe('#indexOf()', function () { it('should return -1 when the value is not present', function () { From f35c3adc7e031fd63467438ed98219b5887d60cc Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Mon, 19 Oct 2015 14:08:57 -0700 Subject: [PATCH 209/272] remove recommendation for Node internal assert --- index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.md b/index.md index 2684e32de8..a16507438c 100644 --- a/index.md +++ b/index.md @@ -112,7 +112,7 @@ $ mocha ## Assertions -Mocha allows you to use any assertion library you want, if it throws an error, it will work! This means you can utilize libraries such as [should.js](https://github.com/shouldjs/should.js), node's regular `assert` module, or others. The following is a list of known assertion libraries for node and/or the browser: +Mocha allows you to use any assertion library you want, if it throws an error, it will work! This means you can utilize libraries such as: - [should.js](https://github.com/shouldjs/should.js) BDD style shown throughout these docs - [expect.js](https://github.com/LearnBoost/expect.js) expect() style assertions From 2ef3d1d648825d0243216a6c18a54e43c135da32 Mon Sep 17 00:00:00 2001 From: Matt Giles Date: Mon, 19 Oct 2015 15:06:36 -0700 Subject: [PATCH 210/272] Update --async-only docs --- index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.md b/index.md index 2684e32de8..b813dc78b8 100644 --- a/index.md +++ b/index.md @@ -480,7 +480,7 @@ Options: -h, --help output usage information -V, --version output the version number - -A, --async-only force all tests to take a callback (async) + -A, --async-only force all tests to take a callback (async) or return a promise -c, --colors force enabling of colors -C, --no-colors force disabling of colors -G, --growl enable growl notification support From 5892b69ecfca26b016cb48b4671a194899588c03 Mon Sep 17 00:00:00 2001 From: Fagner Brack Date: Mon, 14 Dec 2015 20:03:28 -0200 Subject: [PATCH 211/272] Document the default execution of "*.coffee" files See https://github.com/mochajs/mocha/blob/221a3c049ed3a943ce36fd0a4ffe0e23acbb7cab/bin/_mocha#L155 --- index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.md b/index.md index eb2a7b19d0..a6654bac5a 100644 --- a/index.md +++ b/index.md @@ -960,7 +960,7 @@ $ mocha --reporter list --growl ## The `test/` Directory -By default, `mocha` looks for the glob `./test/*.js`, so you may want to put your tests in `test/` folder. +By default, `mocha` looks for the glob `./test/*.js` and `./test/*.coffee`, so you may want to put your tests in `test/` folder. ## Editor Plugins From 2a91194f74ba09a4cf345b6accce2abac91b473a Mon Sep 17 00:00:00 2001 From: Michiel de Jong Date: Thu, 10 Sep 2015 08:22:30 +0200 Subject: [PATCH 212/272] Add section about ES6 arrow functions --- index.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/index.md b/index.md index eb2a7b19d0..4c96c69e03 100644 --- a/index.md +++ b/index.md @@ -49,6 +49,7 @@ Mocha is a feature-rich JavaScript test framework running on [Node.js](http://no - [Assertions](#assertions) - [Synchronous Code](#synchronous-code) - [Asynchronous Code](#asynchronous-code) +- [Arrow Functions](#arrow-functions) - [Hooks](#hooks) - [Pending Tests](#pending-tests) - [Exclusive Tests](#exclusive-tests) @@ -187,6 +188,10 @@ describe('#find()', function() { (The latter example uses [Chai as Promised](https://www.npmjs.com/package/chai-as-promised) for fluent promise assertions.) +## Arrow functions + +Passing [arrow functions](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions) to Mocha is discouraged. Their lexical binding of the `this` value makes them unable to access the Mocha context, and statements like `this.timeout(1000);` will not work inside an arrow function. + ## Hooks Mocha provides the hooks `before()`, `after()`, `beforeEach()`, and `afterEach()`, which can be used to set up preconditions and clean up after your tests. From 17078ba35a1b4f962da7a65645cdf04cbb8578cc Mon Sep 17 00:00:00 2001 From: Al Scott Date: Tue, 23 Feb 2016 22:21:33 -0500 Subject: [PATCH 213/272] Add information about emacs editor plugin. --- images/emacs.png | Bin 0 -> 605262 bytes index.md | 4 ++++ 2 files changed, 4 insertions(+) create mode 100644 images/emacs.png diff --git a/images/emacs.png b/images/emacs.png new file mode 100644 index 0000000000000000000000000000000000000000..ec3be76abef7b8efbb1d20259725819d23f64f4a GIT binary patch literal 605262 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∈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
    ) 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

    L-S3L^%1qUdXEqdVq#D|mgJe+!`*aCzF_ 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 literal 0 HcmV?d00001 diff --git a/index.md b/index.md index 4c96c69e03..29b5c42cb5 100644 --- a/index.md +++ b/index.md @@ -993,6 +993,10 @@ The plugin is titled **NodeJS**, and can be installed via **Preferences** > **Pl ![Wallaby.js in Action](images/wallaby.png) +### Emacs +[Emacs](https://www.gnu.org/software/emacs/) support for running Mocha tests is available via a 3rd party package [mocha.el](https://github.com/scottaj/mocha.el). The package is available on MELPA, and can be installed via `M-x package-install mocha`. + +![Emacs Mocha Runner in Action](images/emacs.png) ## Examples From 6bcf44b0876ae54bb14d4bbb4f9ed7b5fdfd049e Mon Sep 17 00:00:00 2001 From: sarehag Date: Thu, 17 Mar 2016 20:20:29 +0100 Subject: [PATCH 214/272] Add specify to documentation Change as per https://github.com/mochajs/mocha/issues/1997 --- index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/index.md b/index.md index 4c96c69e03..7a0ea805a5 100644 --- a/index.md +++ b/index.md @@ -611,9 +611,9 @@ Mocha's "interface" system allows developers to choose their style of DSL. Moch ### BDD -The **BDD** interface provides `describe()`, `context()`, `it()`, `before()`, `after()`, `beforeEach()`, and `afterEach()`. +The **BDD** interface provides `describe()`, `context()`, `it()`, `specify()`, `before()`, `after()`, `beforeEach()`, and `afterEach()`. -`context()` is just an alias for `describe()`, and behaves the same way; it just provides a way to keep tests easier to read and organized. +`context()` is just an alias for `describe()`, and behaves the same way; it just provides a way to keep tests easier to read and organized. Similarly, `specify()` is an alias for `it()`. > All of the previous examples were written using the **BDD** interface. From 2c82705c9f9a489df456ded5c6766b70f9477816 Mon Sep 17 00:00:00 2001 From: Alexander Shepelin Date: Sat, 19 Mar 2016 17:17:23 +0300 Subject: [PATCH 215/272] Fix typo in --harmony_shipping flag description --- index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.md b/index.md index 4c96c69e03..63dc79b636 100644 --- a/index.md +++ b/index.md @@ -518,7 +518,7 @@ Options: --harmony_arrow_functions enable "harmony arrow functions" (iojs) --harmony_classes enable "harmony classes" (iojs) --harmony_proxies enable "harmony proxies" (iojs) - --harmony_shipping enable all shipped harmony fetaures (iojs) + --harmony_shipping enable all shipped harmony features (iojs) --inline-diffs display actual/expected differences inline within each string --interfaces display available interfaces --no-deprecation silence deprecation warnings From 3760f0a317b42085fc28491fd0101acbbbb860c7 Mon Sep 17 00:00:00 2001 From: Erik Eng Date: Wed, 6 Apr 2016 20:54:18 +0200 Subject: [PATCH 216/272] Fix grammatical error in headline pitch --- index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.md b/index.md index 4c96c69e03..80f46a1f61 100644 --- a/index.md +++ b/index.md @@ -4,7 +4,7 @@ title: "Mocha - the fun, simple, flexible JavaScript test framework" --- -Mocha is a feature-rich JavaScript test framework running on [Node.js](http://nodejs.org) and the browser, making asynchronous testing simple and fun. Mocha tests run serially, allowing for flexible and accurate reporting, while mapping uncaught exceptions to the correct test cases. Hosted on [GitHub](https://github.com/mochajs/mocha). +Mocha is a feature-rich JavaScript test framework running on [Node.js](http://nodejs.org) and in the browser, making asynchronous testing simple and fun. Mocha tests run serially, allowing for flexible and accurate reporting, while mapping uncaught exceptions to the correct test cases. Hosted on [GitHub](https://github.com/mochajs/mocha). [![Gitter](//badges.gitter.im/Join%20Chat.svg)](https://gitter.im/mochajs/mocha) From 749667bba246620d6671be2d170bee72ecf71ce8 Mon Sep 17 00:00:00 2001 From: Christopher Hiller Date: Sat, 9 Apr 2016 21:31:10 -0700 Subject: [PATCH 217/272] use CC license --- _includes/footer.html | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/_includes/footer.html b/_includes/footer.html index 9d5c068ac4..61b4cbd296 100644 --- a/_includes/footer.html +++ b/_includes/footer.html @@ -1,3 +1,5 @@ -

    -

    Mocha

    -

    simple, flexible, fun

    -

    Mocha is a feature-rich JavaScript test framework running on node.js and the browser, making asynchronous testing simple and fun. Mocha tests run serially, allowing for flexible and accurate reporting, while mapping uncaught exceptions to the correct test cases. Hosted on GitHub.

    - -

    - -

    Features

    - -
      -
    • browser support
    • -
    • simple async support, including promises
    • -
    • test coverage reporting
    • -
    • string diff support
    • -
    • javascript API for running tests
    • -
    • proper exit status for CI support etc
    • -
    • auto-detects and disables coloring for non-ttys
    • -
    • maps uncaught exceptions to the correct test case
    • -
    • async test timeout support
    • -
    • test-specific timeouts
    • -
    • growl notification support
    • -
    • reports test durations
    • -
    • highlights slow tests
    • -
    • file watcher support
    • -
    • global variable leak detection
    • -
    • optionally run tests that match a regexp
    • -
    • auto-exit to prevent "hanging" with an active loop
    • -
    • easily meta-generate suites & test-cases
    • -
    • mocha.opts file support
    • -
    • clickable suite titles to filter test execution
    • -
    • node debugger support
    • -
    • detects multiple calls to done()
    • -
    • use any assertion library you want
    • -
    • extensible reporting, bundled with 9+ reporters
    • -
    • extensible test DSLs or "interfaces"
    • -
    • before, after, before each, after each hooks
    • -
    • arbitrary transpiler support (coffee-script etc)
    • -
    • TextMate bundle
    • -
    • and more!
    • -
    - -

    Table of contents

    - - - -

    Installation

    - -

    Install with npm:

    - -
    $ npm install -g mocha
    -
    - -

    1. 2. 3. Mocha!

    - -
    $ npm install -g mocha
    -$ mkdir test
    -$ $EDITOR test/test.js
    -
    -var assert = require("assert")
    -describe('Array', function(){
    -  describe('#indexOf()', function(){
    -    it('should return -1 when the value is not present', function(){
    -      assert.equal(-1, [1,2,3].indexOf(5));
    -      assert.equal(-1, [1,2,3].indexOf(0));
    -    })
    -  })
    -})
    -
    -$  mocha
    -
    -  .
    -
    -  ✔ 1 test complete (1ms)
    -
    - -

    Assertions

    - -

    Mocha allows you to use any assertion library you want, if it throws an error, it will work! This means you can utilize libraries such as should.js, node's regular assert module, or others. The following is a list of known assertion libraries for node and/or the browser:

    - -
      -
    • should.js BDD style shown throughout these docs
    • -
    • expect.js expect() style assertions
    • -
    • chai expect(), assert() and should style assertions
    • -
    • better-assert c-style self-documenting assert()
    • -
    - -

    Synchronous code

    - -

    When testing synchronous code, omit the callback and Mocha will automatically continue on to the next test.

    - -
    describe('Array', function(){
    -  describe('#indexOf()', function(){
    -    it('should return -1 when the value is not present', function(){
    -      [1,2,3].indexOf(5).should.equal(-1);
    -      [1,2,3].indexOf(0).should.equal(-1);
    -    })
    -  })
    -})
    -
    - -

    Asynchronous code

    - -

    Testing asynchronous code with Mocha could not be simpler! Simply invoke the callback when your test is complete. By adding a callback (usually named done) to it() Mocha will know that it should wait for completion.

    - -
    describe('User', function(){
    -  describe('#save()', function(){
    -    it('should save without error', function(done){
    -      var user = new User('Luna');
    -      user.save(function(err){
    -        if (err) throw err;
    -        done();
    -      });
    -    })
    -  })
    -})
    -
    - -

    To make things even easier, the done() callback accepts an error, so we may use this directly:

    - -
    describe('User', function(){
    -  describe('#save()', function(){
    -    it('should save without error', function(done){
    -      var user = new User('Luna');
    -      user.save(done);
    -    })
    -  })
    -})
    -
    - -

    All "hooks", that is before(), after(), beforeEach(), afterEach() may be sync or async as well, behaving much like a regular test-case. For example you may wish to populate database with dummy content before each test:

    - -
    describe('Connection', function(){
    -  var db = new Connection
    -    , tobi = new User('tobi')
    -    , loki = new User('loki')
    -    , jane = new User('jane');
    -
    -  beforeEach(function(done){
    -    db.clear(function(err){
    -      if (err) return done(err);
    -      db.save([tobi, loki, jane], done);
    -    });
    -  })
    -
    -  describe('#find()', function(){
    -    it('respond with matching records', function(done){
    -      db.find({ type: 'User' }, function(err, res){
    -        if (err) return done(err);
    -        res.should.have.length(3);
    -        done();
    -      })
    -    })
    -  })
    -})
    -
    - -

    Alternately, instead of using the done() callback, you can return a promise. This is useful if the APIs you are testing return promises instead of taking callbacks:

    - -
    beforeEach(function(){
    -  return db.clear().then(function() {
    -    return db.save([tobi, loki, jane]);
    -  });
    -})
    -
    -describe('#find()', function(){
    -  it('respond with matching records', function(){
    -    return db.find({ type: 'User' }).should.eventually.have.length(3);
    -  })
    -})
    -
    - -

    (The latter example uses Chai as Promised for fluent promise assertions.)

    - -

    Note that you may also pick any file and add "root" level hooks, for example add beforeEach() outside of describe()s then the callback will run before any test-case regardless of the file its in. This is because Mocha has a root Suite with no name.

    - -
    beforeEach(function(){
    -  console.log('before every test')
    -})
    -
    - -

    Hooks

    - -

    Mocha provides the hooks before(), after(), beforeEach(), afterEach(), - that can be used to set up preconditions and clean up your tests.

    - -
    describe('hooks', function() {
    -  before(function() {
    -    // runs before all tests in this block
    -  })
    -  after(function(){
    -    // runs after all tests in this block
    -  })
    -  beforeEach(function(){
    -    // runs before each test in this block
    -  })
    -  afterEach(function(){
    -    // runs after each test in this block
    -  })
    -  // test cases
    -})
    -
    - -

    All hooks can be invoked with an optional description, making it easier to pinpoint errors in your tests. - If hooks are given named functions those names will be used if no description is supplied.

    - -
    beforeEach(function(){
    -  // beforeEach hook
    -})
    -beforeEach(function namedFun() {
    -  // beforeEach:namedFun
    -})
    -beforeEach('some description', function(){
    -  // beforeEach:some description
    -})
    -
    - -

    Pending tests

    - -

    Pending test-cases are simply those without a callback:

    - -
    describe('Array', function(){
    -  describe('#indexOf()', function(){
    -    it('should return -1 when the value is not present')
    -  })
    -})
    -
    - -

    Exclusive tests

    - -

    The exclusivity feature allows you to run only the specified suite or test-case - by appending .only() to the call as shown here:

    - -
    describe('Array', function(){
    -  describe.only('#indexOf()', function(){
    -    ...
    -  })
    -})
    -
    - -

    Or a specific test-case:

    - -
    describe('Array', function(){
    -  describe('#indexOf()', function(){
    -    it.only('should return -1 unless present', function(){
    -
    -    })
    -
    -    it('should return the index when present', function(){
    -
    -    })
    -  })
    -})
    -
    - -

    Note that currently only one .only() call is respected, this - effectively turns into a --grep.

    - -

    Inclusive tests

    - -

    This feature is similar to .only(), however by appending .skip() - you may tell Mocha to simply ignore these suite(s) and test-case(s). This - puts them in a pending state, and is favoured over commenting out tests - which you may forget to uncomment.

    - -
    describe('Array', function(){
    -  describe.skip('#indexOf()', function(){
    -    ...
    -  })
    -})
    -
    - -

    Or a specific test-case:

    - -
    describe('Array', function(){
    -  describe('#indexOf()', function(){
    -    it.skip('should return -1 unless present', function(){
    -
    -    })
    -
    -    it('should return the index when present', function(){
    -
    -    })
    -  })
    -})
    -
    - -

    Meta-Generated tests

    - -

    Given mocha's use of call statements and function expressions to define - suites and specs, it's rather straightforward to generate your tests. No - special syntax is required - plain JavaScript can be used to achieve - similar functionality as parameterized tests in other test frameworks. - Take the following example:

    - -
    var assert = require('assert');
    -
    -function add() {
    -  return Array.prototype.slice.call(arguments).reduce(function(prev, curr) {
    -    return prev + curr;
    -  }, 0);
    -}
    -
    -describe('add()', function() {
    -  var tests = [
    -    {args: [1, 2],       expected: 3},
    -    {args: [1, 2, 3],    expected: 6},
    -    {args: [1, 2, 3, 4], expected: 10}
    -  ];
    -
    -  tests.forEach(function(test) {
    -    it('correctly adds ' + test.args.length + ' args', function() {
    -      var res = add.apply(null, test.args);
    -      assert.equal(res, test.expected);
    -    });
    -  });
    -});
    -
    - -

    The code above will output a suite with three specs:

    - -
    add()
    -  ✓ correctly adds 2 args
    -  ✓ correctly adds 3 args
    -  ✓ correctly adds 4 args
    -
    - -

    Test duration

    - -

    Most of the reporters support some form of displaying - test duration, as well as flagging tests that are slow, - as shown here with the "spec" reporter:

    - -

    test duration

    - -

    String diffs

    - -

    Mocha supports the err.expected, and err.actual properties - when available to present expectations to the developer. Currently - Mocha provides string diffs, however in the future object diffs and - others may be provided.

    - -

    string diffs

    - -

    mocha(1)

    - -
    Usage: mocha [debug] [options] [files]
    -
    -Commands:
    -
    -  init <path>
    -  initialize a client-side mocha setup at <path>
    -
    -Options:
    -
    - -h, --help                              output usage information
    - -V, --version                           output the version number
    - -A, --async-only                        force all tests to take a callback (async)
    - -c, --colors                            force enabling of colors
    - -C, --no-colors                         force disabling of colors
    - -G, --growl                             enable growl notification support
    - -O, --reporter-options <k=v,k2=v2,...>  reporter-specific options
    - -R, --reporter <name>                   specify the reporter to use
    - -S, --sort                              sort test files
    - -b, --bail                              bail after first test failure
    - -d, --debug                             enable node's debugger, synonym for node --debug
    - -g, --grep <pattern>                    only run tests matching <pattern>
    - -f, --fgrep <string>                    only run tests containing <string>
    - -gc, --expose-gc                        expose gc extension
    - -i, --invert                            inverts --grep and --fgrep matches
    - -r, --require <name>                    require the given module
    - -s, --slow <ms>                         "slow" test threshold in milliseconds [75]
    - -t, --timeout <ms>                      set test-case timeout in milliseconds [2000]
    - -u, --ui <name>                         specify user-interface (bdd|tdd|exports)
    - -w, --watch                             watch files for changes
    - --check-leaks                           check for global variable leaks
    - --compilers <ext>:<module>,...          use the given module(s) to compile files
    - --debug-brk                             enable node's debugger breaking on the first line
    - --globals <names>                       allow the given comma-delimited global [names]
    - --inline-diffs                          display actual/expected differences inline within each string
    - --interfaces                            display available interfaces
    - --no-deprecation                        silence deprecation warnings
    - --no-exit                               require a clean shutdown of the event loop: mocha will exit
    - --no-timeouts                           disables timeouts, given implicitly with --debug
    - --opts <path>                           specify opts path
    - --prof                                  log statistical profiling information
    - --recursive                             include sub directories
    - --reporters                             display available reporters
    - --throw-deprecation                     throw an exception anytime a deprecated function is used
    - --trace                                 trace function calls
    - --trace-deprecation                     show stack traces on deprecations
    - --watch-extensions <ext>,...            additional extensions to monitor with --watch
    - --delay                                 wait for async suite definition
    -
    - -

    -w, --watch

    - -

    Executes tests on changes to JavaScript in the CWD, and once initially.

    - -

    --compilers

    - -

    coffee-script is no longer supported out of the box. CS and similar transpilers - may be used by mapping the file extensions (for use with --watch) and the module - name. For example --compilers coffee:coffee-script with CoffeeScript 1.6- or - --compilers coffee:coffee-script/register with CoffeeScript 1.7+.

    - -

    -b, --bail

    - -

    Only interested in the first exception? use --bail !

    - -

    -d, --debug

    - -

    Enables node's debugger support, this executes your script(s) with node debug <file ...> allowing you to step through code and break with the debugger statement. Note the difference between mocha debug and mocha --debug: mocha debug will fire up node's built-in debug client, mocha --debug will allow you to use a different interface — such as the Blink Developer Tools.

    - -

    --globals <names>

    - -

    Accepts a comma-delimited list of accepted global variable names. For example, suppose your app deliberately exposes a global named app and YUI, you may want to add --globals app,YUI. It also accepts wildcards. You could do --globals '*bar' and it would match foobar, barbar, etc. You can also simply pass in '*' to ignore all globals.

    - -

    --check-leaks

    - -

    By default Mocha will not check for global variables leaked while running tests, to enable this pass --check-leaks, to specify globals that are acceptable use --globals, for example --globals jQuery,MyLib.

    - -

    -r, --require <name>

    - -

    The --require option is useful for libraries such as should.js, so you may simply --require should instead of manually invoking require('should') within each test file. Note that this works well for should as it augments Object.prototype, however if you wish to access a module's exports you will have to require them, for example var should = require('should'). Furthermore, it can be used with relative paths, e.g. --require ./test/helper.js

    - -

    -u, --ui <name>

    - -

    The --ui option lets you specify the interface to use, defaulting to "bdd".

    - -

    -R, --reporter <name>

    - -

    The --reporter option allows you to specify the reporter that will be used, defaulting to "dot". This flag may also be used to utilize third-party reporters. For example if you npm install mocha-lcov-reporter you may then do --reporter mocha-lcov-reporter.

    - -

    -t, --timeout <ms>

    - -

    Specifies the test-case timeout, defaulting to 2 seconds. To override you may pass the timeout in milliseconds, or a value with the s suffix, ex: --timeout 2s or --timeout 2000 would be equivalent.

    - -

    -s, --slow <ms>

    - -

    Specify the "slow" test threshold, defaulting to 75ms. Mocha uses this to highlight test-cases that are taking too long.

    - -

    -g, --grep <pattern>

    - -

    The --grep option when specified will trigger mocha to only run tests matching the given pattern which is internally compiled to a RegExp.

    - -

    Suppose for example you have "api" related tests, as well as "app" related tests, as shown in the following snippet; One could use --grep api or --grep app to run one or the other. The same goes for any other part of a suite or test-case title, --grep users would be valid as well, or even --grep GET.

    - -
    describe('api', function(){
    -  describe('GET /api/users', function(){
    -    it('respond with an array of users')
    -  })
    -})
    -
    -describe('app', function(){
    -  describe('GET /users', function(){
    -    it('respond with an array of users')
    -  })
    -})
    -
    - -

    Interfaces

    - -

    Mocha "interface" system allows developers to choose their style of DSL. Shipping with BDD, TDD, and exports flavoured interfaces.

    - -

    BDD

    - -

    The "BDD" interface provides describe(), context(), it(), before(), after(), beforeEach(), and afterEach():

    - -

    context() is just an alias for describe(), and behaves the same way; it just provides a way to keep tests easier to read and organized.

    - -
    describe('Array', function(){
    -  before(function(){
    -    // ...
    -  });
    -
    -  describe('#indexOf()', function(){
    -    context('when not present', function(){
    -      it('should not throw an error', function(){
    -        (function(){
    -          [1,2,3].indexOf(4);
    -        }).should.not.throw();
    -      });
    -      it('should return -1', function(){
    -        [1,2,3].indexOf(4).should.equal(-1);
    -      });
    -    });
    -    context('when present', function(){
    -      it('should return the index where the element first appears in the array', function(){
    -        [1,2,3].indexOf(3).should.equal(2);
    -      });
    -    });
    -  });
    -});
    -
    - -

    TDD

    - -

    The "TDD" interface provides suite(), test(), suiteSetup(), suiteTeardown(), setup(), and teardown().

    - -
    suite('Array', function(){
    -  setup(function(){
    -    // ...
    -  });
    -
    -  suite('#indexOf()', function(){
    -    test('should return -1 when not present', function(){
    -      assert.equal(-1, [1,2,3].indexOf(4));
    -    });
    -  });
    -});
    -
    - -

    Exports

    - -

    The "exports" interface is much like Mocha's predecessor expresso. The keys before, after, beforeEach, and afterEach are special-cased, object values - are suites, and function values are test-cases.

    - -
    module.exports = {
    -  before: function(){
    -    // ...
    -  },
    -
    -  'Array': {
    -    '#indexOf()': {
    -      'should return -1 when not present': function(){
    -        [1,2,3].indexOf(4).should.equal(-1);
    -      }
    -    }
    -  }
    -};
    -
    - -

    QUnit

    - -

    The qunit-inspired interface matches the "flat" look of QUnit where the test suite title is simply defined before the test-cases. Like TDD, it uses suite() and test(), but resembling BDD it also contains before(), after(), beforeEach(), and afterEach().

    - -
    function ok(expr, msg) {
    -  if (!expr) throw new Error(msg);
    -}
    -
    -suite('Array');
    -
    -test('#length', function(){
    -  var arr = [1,2,3];
    -  ok(arr.length == 3);
    -});
    -
    -test('#indexOf()', function(){
    -  var arr = [1,2,3];
    -  ok(arr.indexOf(1) == 0);
    -  ok(arr.indexOf(2) == 1);
    -  ok(arr.indexOf(3) == 2);
    -});
    -
    -suite('String');
    -
    -test('#length', function(){
    -  ok('foo'.length == 3);
    -});
    -
    - -

    Require

    - -

    The require interface allows you to require the describe and friend words - directly using require and call them whatever you want. This interface - is also useful if you want to avoid global variables in your tests.

    - -

    Note this works when you run your tests via the mocha executable only, and not when using the node executable directly. The reason is that - certain methods are exposed at runtime and when using the mocha executable only.

    - -
    var testCase = require('mocha').describe
    -var pre = require('mocha').before
    -var assertions = require('mocha').it
    -var assert = require('assert')
    -
    -testCase('Array', function(){
    -  pre(function(){
    -    // ...
    -  });
    -
    -  testCase('#indexOf()', function(){
    -    assertions('should return -1 when not present', function(){
    -      assert.equal([1,2,3].indexOf(4), -1);
    -    });
    -  });
    -});
    -
    - -

    Reporters

    - -

    Mocha reporters adjust to the terminal window, - and always disable ansi-escape colouring when - the stdio streams are not associated with a tty.

    - -

    Dot Matrix

    - -

    The "dot" matrix reporter is simply a series of dots - that represent test cases, failures highlight in red, - pending in blue, slow as yellow.

    - -

    dot matrix reporter

    - -

    Spec

    - -

    The "spec" reporter outputs a hierarchical view - nested just as the test cases are.

    - -

    spec reporter - spec reporter with failure

    - -

    Nyan

    - -

    The "nyan" reporter is exactly what you might expect:

    - -

    js nyan cat reporter

    - -

    TAP

    - -

    The TAP reporter emits lines for a Test-Anything-Protocol consumer.

    - -

    test anything protocol

    - -

    Landing Strip

    - -

    The Landing Strip reporter is a gimmicky test reporter simulating - a plane landing :) unicode ftw

    - -

    landing strip plane reporter - landing strip with failure

    - -

    List

    - -

    The "List" reporter outputs a simple specifications list as - test cases pass or fail, outputting the failure details at - the bottom of the output.

    - -

    list reporter

    - -

    Progress

    - -

    The progress reporter implements a simple progress-bar:

    - -

    progress bar

    - -

    JSON

    - -

    The JSON reporter outputs a single large JSON object when - the tests have completed (failures or not).

    - -

    json reporter

    - -

    JSON Stream

    - -

    The JSON Stream reporter outputs newline-delimited JSON "events" as they occur, beginning with a "start" event, followed by test passes or failures, and then the final "end" event.

    - -

    json stream reporter

    - -

    JSONCov

    - -

    The JSONCov reporter is similar to the JSON reporter, however when run against a library instrumented by node-jscoverage it will produce coverage output.

    - -

    HTMLCov

    - -

    The HTMLCov reporter extends the JSONCov reporter. The library being tested should first be instrumented by node-jscoverage, this allows Mocha to capture the coverage information necessary to produce a single-page HTML report.

    - -

    Click to view the current Express test coverage report. For an integration example view the mocha test coverage support commit for Express.

    - -

    code coverage reporting

    - -

    Min

    - -

    The "min" reporter displays the summary only, while still outputting errors - on failure. This reporter works great with --watch as it clears the terminal - in order to keep your test summary at the top.

    - -

    min reporter

    - -

    Doc

    - -

    The "doc" reporter outputs a hierarchical HTML body representation - of your tests, wrap it with a header, footer, some styling and you - have some fantastic documentation!

    - -

    doc reporter

    - -

    For example suppose you have the following JavaScript:

    - -
    describe('Array', function(){
    -  describe('#indexOf()', function(){
    -    it('should return -1 when the value is not present', function(){
    -      [1,2,3].indexOf(5).should.equal(-1);
    -      [1,2,3].indexOf(0).should.equal(-1);
    -    })
    -  })
    -})
    -
    - -

    The command mocha --reporter doc array would yield:

    - -
    <section class="suite">
    -  <h1>Array</h1>
    -  <dl>
    -    <section class="suite">
    -      <h1>#indexOf()</h1>
    -      <dl>
    -      <dt>should return -1 when the value is not present</dt>
    -      <dd><pre><code>[1,2,3].indexOf(5).should.equal(-1);
    -[1,2,3].indexOf(0).should.equal(-1);</code></pre></dd>
    -      </dl>
    -    </section>
    -  </dl>
    -</section>
    -
    - -

    The SuperAgent request library test documentation was generated with Mocha's doc reporter using this simple make target:

    - -
    test-docs:
    -    make test REPORTER=doc \
    -        | cat docs/head.html - docs/tail.html \
    -        > docs/test.html
    -
    - -

    View the entire Makefile for reference.

    - -

    XUnit

    - -

    Documentation needed.

    - -

    TeamCity

    - -

    Documentation needed.

    - -

    Markdown

    - -

    The "markdown" reporter generates a markdown TOC and body for your - test suite. This is great if you want to use the tests as documentation - within a Github wiki page, or a markdown file in the repository that - Github can render. For example here is the Connect test output.

    - -

    HTML

    - -

    The HTML reporter is currently the only browser reporter - supported by Mocha, and it looks like this:

    - -

    HTML test reporter

    - -

    Browser support

    - -

    Mocha runs in the browser. Every release of Mocha will have new builds of ./mocha.js and ./mocha.css for use in the browser. To setup Mocha for browser use all you have to do is include the script, stylesheet, tell Mocha which interface you wish to use, and then run the tests. A typical setup might look something like the following, where we call mocha.setup('bdd') to use the BDD interface before loading the test scripts, running them onload with mocha.run().

    - -
    <html>
    -<head>
    -  <meta charset="utf-8">
    -  <title>Mocha Tests</title>
    -  <link rel="stylesheet" href="mocha.css" />
    -</head>
    -<body>
    -  <div id="mocha"></div>
    -  <script src="jquery.js"></script>
    -  <script src="expect.js"></script>
    -  <script src="mocha.js"></script>
    -  <script>mocha.setup('bdd')</script>
    -  <script src="test.array.js"></script>
    -  <script src="test.object.js"></script>
    -  <script src="test.xhr.js"></script>
    -  <script>
    -    mocha.checkLeaks();
    -    mocha.globals(['jQuery']);
    -    mocha.run();
    -  </script>
    -</body>
    -</html>
    -
    - -

    grep

    - -

    The client-side may use --grep as well, however, you must append a query-string to your URL: ?grep=api.

    - -

    Mocha Setup in the Browser

    - -

    Mocha options can be set via mocha.setup(). Examples:

    - -
    // Use "tdd" interface.  This is a shortcut to setting the interface;
    -// any other options must be passed via an object.
    -mocha.setup('tdd');
    -
    -// This is equivalent to the above.
    -mocha.setup({
    -  ui: 'tdd'
    -});
    -
    -// Use "tdd" interface, ignore leaks, and force all tests to be asynchronous
    -mocha.setup({
    -  ui: 'tdd',
    -  ignoreLeaks: true,
    -  asyncOnly: true
    -});
    -
    - -

    Browser-specific option(s)

    - -

    The following option(s) only function in a browser context:

    - -

    noHighlighting : If set to true, do not attempt to use syntax highlighting on output test code.

    - -

    mocha.opts

    - -

    Mocha will attempt to load ./test/mocha.opts, these are concatenated with process.argv, though command-line args will take precedence. For example suppose you have the following mocha.opts file:

    - -
    --require should
    ---reporter dot
    ---ui bdd
    -
    - -

    This will default the reporter to dot, require the should library, - and use bdd as the interface. With this you may then invoke mocha(1) - with additional arguments, here enabling growl support and changing - the reporter to list:

    - -
    $ mocha --reporter list --growl
    -
    - -

    Suite specific timeouts

    - -

    Suite-level timeouts may be applied to entire test "suites", or disabled - via this.timeout(0). This will be inherited by all nested suites and test-cases - that do not override the value.

    - -
    describe('a suite of tests', function(){
    -  this.timeout(500);
    -
    -  it('should take less than 500ms', function(done){
    -    setTimeout(done, 300);
    -  })
    -
    -  it('should take less than 500ms as well', function(done){
    -    setTimeout(done, 200);
    -  })
    -})
    -
    - -

    Test specific timeouts

    - -

    Test-specific timeouts may also be applied, or the use of this.timeout(0) - to disable timeouts all together:

    - -
    it('should take less than 500ms', function(done){
    -  this.timeout(500);
    -  setTimeout(done, 300);
    -})
    -
    - -

    Best practices

    - -

    test/*

    - -

    By default mocha(1) will use the pattern ./test/*.js, so - it's usually a good place to put your tests.

    - -

    Makefiles

    - -

    Be kind and don't make developers hunt around in your docs to figure - out how to run the tests, add a make test target to your Makefile:

    - -
    test:
    -    ./node_modules/.bin/mocha --reporter list
    -
    -.PHONY: test
    -
    - -

    Editors

    - -

    The following editor-related packages are available:

    - -

    TextMate bundle

    - -

    The Mocha TextMate bundle includes snippets to - make writing tests quicker and more enjoyable. - To install the bundle run:

    - -
    $ make tm
    -
    - -

    JetBrains plugin

    - -

    JetBrains provides a NodeJS plugin for its suite of IDEs (IntelliJ IDEA, WebStorm, etc.), which contains a Mocha test runner, among other things.

    - -

    JetBrains Mocha Runner Plugin in Action

    - -

    The plugin is titled NodeJS, and can be installed via Preferences > Plugins, or via direct download.

    - -

    Example test suites

    - -

    The following test suites are from real projects putting Mocha to use, - so they serve as good examples:

    - - - -

    Running mocha's tests

    - -

    Run the tests:

    - -
    $ make test
    -
    - -

    Run all tests, including interfaces:

    - -
    $ make test-all
    -
    - -

    Alter the reporter:

    - -
    $ make test REPORTER=list
    -
    - -

    More information

    - -

    For additional information such as using spies, mocking, and shared behaviours be sure to check out the Mocha Wiki on GitHub. For discussions join the Google Group. For a running example of mocha view example/tests.html. For the JavaScript API view the source.

    -

    Mocha