{
  "name": "grunt-mocha",
  "description": "Grunt task for running client-side Mocha specs in PhantomJS",
  "version": "0.4.1",
  "homepage": "https://github.com/kmiyashiro/grunt-mocha",
  "author": {
    "name": "Kelly Miyashiro",
    "email": "miyashiro.kelly@gmail.com",
    "url": "http://non-diligent.com"
  },
  "repository": {
    "type": "git",
    "url": "git://github.com/kmiyashiro/grunt-mocha.git"
  },
  "bugs": {
    "url": "https://github.com/kmiyashiro/grunt-mocha/issues"
  },
  "licenses": [
    {
      "type": "MIT",
      "url": "https://github.com/kmiyashiro/grunt-mocha/blob/master/LICENSE-MIT"
    }
  ],
  "main": "Gruntfile.js",
  "engines": {
    "node": "*"
  },
  "scripts": {
    "test": "./node_modules/.bin/grunt test"
  },
  "dependencies": {
    "grunt-lib-phantomjs": "~0.3",
    "mocha": "~1.12"
  },
  "peerDependencies": {
    "grunt": "~0.4"
  },
  "devDependencies": {
    "grunt": "~0.4",
    "grunt-contrib-connect": "~0.2",
    "grunt-contrib-jshint": "~0.3"
  },
  "keywords": [
    "gruntplugin",
    "mocha",
    "test",
    "phantomjs"
  ],
  "files": [
    "growl",
    "phantomjs",
    "support",
    "tasks"
  ],
  "readme": "Automatically run *client-side* mocha specs via grunt/mocha/PhantomJS\n\nFor a grunt task for server-side mocha tests, see [grunt-mocha-test](https://github.com/pghalliday/grunt-mocha-test) or [grunt-simple-mocha](https://github.com/yaymukund/grunt-simple-mocha)\n\n# Grunt Compatibility\n\n* Grunt 0.4 use grunt-mocha 0.2+\n* Grunt 0.3 use grunt-mocha 0.1\n\n**Grunt 0.4.0 migration details in [HISTORY.md](HISTORY.md#020)**\n\n# grunt-mocha\n\n(package/README format heavily borrowed from [grunt-jasmine-task](https://github.com/creynders/grunt-jasmine-task) and builtin QUnit task)\n\n[Grunt](https://github.com/cowboy/grunt) plugin for running Mocha browser specs in a headless browser (PhantomJS)\n\n## Getting Started\n\n### Task config\n\n```js\nmocha: {\n  // runs all html files (except test2.html) in the test dir\n  // In this example, there's only one, but you can add as many as\n  // you want. You can split them up into different groups here\n  // ex: admin: [ 'test/admin.html' ]\n  all: [ 'test/**/!(test2).html' ],\n\n  // Runs 'test/test2.html' with specified mocha options.\n  // This variant auto-includes 'bridge.js' so you do not have\n  // to include it in your HTML spec file. Instead, you must add an\n  // environment check before you run `mocha.run` in your HTML.\n  test2: {\n    // Test files\n    src: [ 'example/test/test2.html' ],\n    options: {\n      // Bail means if a test fails, grunt will abort. False by default.\n      bail: true,\n\n      // Pipe output console.log from your JS to grunt. False by default.\n      log: true,\n\n      // mocha options\n      mocha: {\n        ignoreLeaks: false,\n        grep: 'food'\n      },\n\n      // Select a Mocha reporter\n      // http://visionmedia.github.com/mocha/#reporters\n      reporter: 'Nyan',\n\n      // Indicates whether 'mocha.run()' should be executed in\n      // 'bridge.js'. If you include `mocha.run()` in your html spec,\n      // check if environment is PhantomJS. See example/test/test2.html\n      run: true,\n\n      // Override the timeout of the test (default is 5000)\n      timeout: 10000\n    }\n  },\n\n  // Runs the same as test2 but with URL's\n  test3: {\n    // Task options\n    options: {\n      // mocha options\n      mocha: {\n        ignoreLeaks: false,\n        grep: 'food'\n      },\n\n      // URLs passed through as options\n      urls: [ 'http://localhost:' + port + '/example/test/test2.html' ],\n\n      // Indicates whether 'mocha.run()' should be executed in 'bridge.js'\n      run: true\n    }\n  }\n}\n```\n\n### Vanilla JS\n\n#### Option 1 (recommended)\n\n- Write mocha task description in grunt config using and specify `run: true` option (see [this tasks Gruntfile.js](Gruntfile.js) for details);\n- Check for PhantomJS `userAgent` in a test html file and run tests only in a real browser (see [test2.html](example/test/test2.html) for details).\n\nIn this case you shouldn't include [bridge.js](phantomjs/bridge.js) (it will be included automatically) and tests will be run from [bridge.js](phantomjs/bridge.js).\n\n#### Option 2\n\nAlternatively, include `bridge.js` from `tasks/phantomjs` after you include `mocha.js` and run `mocha.setup` in your HTML file. The helper will override `mocha.setup` if it detects PhantomJS. See [test.html](example/test/test.html).\n\n### AMD\n\nMocha **must** be included via script tag in the header. There is no need to load Mocha via AMD. You may load other testing libs via AMD if that gives you a fuzzy feeling.\n\nExample setup with AMD (advanced): https://gist.github.com/2655876\n\n### Grunt and this plugin\n\nFirst, make sure you have grunt installed globally, `npm install grunt -g`\n\nInstall this grunt plugin next to your project's [Gruntfile.js](http://gruntjs.com/getting-started) with: `npm install grunt-mocha`\n\nThen add this line to your project's `Gruntfile.js` gruntfile at the bottom:\n\n```javascript\ngrunt.loadNpmTasks('grunt-mocha');\n```\n\nAlso add this to the `grunt.initConfig` object in the same file:\n\n```javascript\nmocha: {\n  index: ['specs/index.html']\n},\n```\n\nReplace `specs/index.html` with the location of your mocha spec running html file.\n\nNow you can run the mocha task with `grunt mocha`, but it won't work. That's because you need...\n\n### PhantomJS\n\nThis task is for running Mocha tests in a headless browser, PhantomJS, which is installed via [grunt-lib-phantomjs](https://github.com/gruntjs/grunt-lib-phantomjs) as a dependency of this task.\n\n### Mocha\n\nUse [Mocha](http://visionmedia.github.com/mocha/)\n\n### Hacks\n\nThe PhantomJS -> Grunt superdimensional conduit uses `alert`. If you have disabled or aliased alert in your app, this won't work. I have conveniently set a global `PHANTOMJS` on `window` so you can conditionally override alert in your app.\n\n## License\nCopyright (c) 2013 Kelly Miyashiro\nLicensed under the MIT license.\n",
  "readmeFilename": "README.md",
  "_id": "grunt-mocha@0.4.1",
  "dist": {
    "shasum": "371bc322c8cb225ba7a3c468fce3dfbd8763ab6f"
  },
  "_from": "grunt-mocha@~0.4.1",
  "_resolved": "https://registry.npmjs.org/grunt-mocha/-/grunt-mocha-0.4.1.tgz"
}
