{"_id":"chai-jq","_rev":"108-5abadcfd4fe8ec2cb70460c68f72f164","name":"chai-jq","dist-tags":{"latest":"0.0.9"},"versions":{"0.0.1":{"name":"chai-jq","version":"0.0.1","keywords":["test","assertion","assert","chai","jquery"],"author":{"name":"Ryan Roemer","email":"ryan.roemer@formidablelabs.com"},"license":"MIT","_id":"chai-jq@0.0.1","maintainers":[{"name":"ryan.roemer","email":"ryan@loose-bits.com"}],"bugs":{"url":"https://github.com/FormidableLabs/chai-jq/issues"},"dist":{"shasum":"86ba753116aa5ec684ce0af0b553b0a7b15ea252","tarball":"https://registry.npmjs.org/chai-jq/-/chai-jq-0.0.1.tgz","integrity":"sha512-5GHtP5Sq3fCNDhxH0SJ9xROPEelxPVA1ddV6/vtCcObwKGZkYV0vl+GirhcAVxpeNvyfkNsjhGQQcf+Py2g1ww==","signatures":[{"sig":"MEYCIQDhn9XI/tWkzaDKE5Uwjc/1na9zF9exWwYdlXJNGr2sIQIhAPOhCvMoQPiJirZGvGJe5Yoay7OTsVAnhERQsIx0nId0","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"chai-jq.js","_from":".","scripts":{"test":"./node_modules/.bin/grunt check","postinstall":"./node_modules/.bin/bower install"},"_npmUser":{"name":"ryan.roemer","email":"ryan@loose-bits.com"},"repository":{"url":"https://github.com/FormidableLabs/chai-jq","type":"git"},"_npmVersion":"1.3.2","description":"An alternate jQuery assertion library for Chai.","directories":{},"dependencies":{},"devDependencies":{"dox":"~0.4.4","bower":"~1.2.7","grunt":"~0.4.1","marked":"~0.2.10","testem":"~0.5.8","grunt-cli":"~0.1.9","phantomjs":"~1.9.2-2","grunt-testem":"~0.4.0","grunt-contrib-copy":"~0.4.1","grunt-contrib-jade":"~0.8.0","grunt-contrib-watch":"~0.5.3","grunt-contrib-jshint":"~0.7.0","grunt-mocha-phantomjs":"~0.3.0"}},"0.0.2":{"name":"chai-jq","version":"0.0.2","keywords":["test","assertion","assert","chai","jquery"],"author":{"name":"Ryan Roemer","email":"ryan.roemer@formidablelabs.com"},"license":"MIT","_id":"chai-jq@0.0.2","maintainers":[{"name":"ryan.roemer","email":"ryan@loose-bits.com"}],"homepage":"https://github.com/FormidableLabs/chai-jq","bugs":{"url":"https://github.com/FormidableLabs/chai-jq/issues"},"dist":{"shasum":"faad4d0695a003ae842b949071b0b190e491bdb7","tarball":"https://registry.npmjs.org/chai-jq/-/chai-jq-0.0.2.tgz","integrity":"sha512-Ya586KZ+QzPatGdoLKxJ5UgLyp98xplKmPajeFci3y4eAFqu0il1JBR6sB67aByAZ2UxnE5hJk7/p7322hhdKw==","signatures":[{"sig":"MEQCIFagHsdplVt+TgMq7dXHn2QTT7jmlk19zweT/Z3QNnGrAiBPEXkDe97yKqVI5O2KVitDxSCv0J3O+lwpVNHtd0E4ZA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"chai-jq.js","_from":".","scripts":{"test":"./node_modules/.bin/grunt check","postinstall":"./node_modules/.bin/bower install"},"_npmUser":{"name":"ryan.roemer","email":"ryan@loose-bits.com"},"repository":{"url":"https://github.com/FormidableLabs/chai-jq","type":"git"},"_npmVersion":"1.3.14","description":"An alternate jQuery assertion library for Chai.","directories":{},"dependencies":{},"devDependencies":{"dox":"~0.4.4","bower":"~1.2.7","grunt":"~0.4.1","marked":"~0.2.10","testem":"~0.5.8","grunt-cli":"~0.1.9","phantomjs":"~1.9.2-2","grunt-testem":"~0.4.0","grunt-contrib-copy":"~0.4.1","grunt-contrib-jade":"~0.8.0","grunt-contrib-watch":"~0.5.3","grunt-contrib-jshint":"~0.7.0","grunt-mocha-phantomjs":"~0.3.0"}},"0.0.3":{"name":"chai-jq","version":"0.0.3","keywords":["test","assertion","assert","chai","jquery"],"author":{"name":"Ryan Roemer","email":"ryan.roemer@formidablelabs.com"},"license":"MIT","_id":"chai-jq@0.0.3","maintainers":[{"name":"ryan.roemer","email":"ryan@loose-bits.com"}],"homepage":"https://github.com/FormidableLabs/chai-jq","bugs":{"url":"https://github.com/FormidableLabs/chai-jq/issues"},"dist":{"shasum":"088a3ffb67821554668fd47932853ee5290ab4fb","tarball":"https://registry.npmjs.org/chai-jq/-/chai-jq-0.0.3.tgz","integrity":"sha512-5m1lCpktkRkuRIwPXjg898dHJJ+cr6PbS9bJDgR+XL6KiOSFm2cwZO5XRMUebLHoYgvo7w0PUtlsJ9A8Zz0P0g==","signatures":[{"sig":"MEUCIQC8dqxp1HMYa4gyE7fi0EVWnRZtpfYC4SiQ2MN58y78FgIgOSyTHf3caVPB2xHAVPkwEYla49nZJGaNRJSuEwmS9+w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"chai-jq.js","_from":".","scripts":{"test":"./node_modules/.bin/grunt check","postinstall":"./node_modules/.bin/bower install"},"_npmUser":{"name":"ryan.roemer","email":"ryan@loose-bits.com"},"repository":{"url":"https://github.com/FormidableLabs/chai-jq","type":"git"},"_npmVersion":"1.3.14","description":"An alternate jQuery assertion library for Chai.","directories":{},"dependencies":{},"devDependencies":{"dox":"~0.4.4","chai":"~1.8.1","bower":"~1.2.7","grunt":"~0.4.1","jsdom":"~0.8.8","mocha":"~1.14.0","jquery":"~1.8.3","marked":"~0.2.10","testem":"~0.5.8","grunt-cli":"~0.1.9","phantomjs":"~1.9.2-2","grunt-testem":"~0.4.0","grunt-mocha-test":"~0.7.0","grunt-contrib-copy":"~0.4.1","grunt-contrib-jade":"~0.8.0","grunt-contrib-watch":"~0.5.3","grunt-contrib-jshint":"~0.7.0","grunt-mocha-phantomjs":"~0.3.0"}},"0.0.4":{"name":"chai-jq","version":"0.0.4","keywords":["test","assertion","assert","chai","jquery"],"author":{"name":"Ryan Roemer","email":"ryan.roemer@formidablelabs.com"},"license":"MIT","_id":"chai-jq@0.0.4","maintainers":[{"name":"ryan.roemer","email":"ryan@loose-bits.com"}],"bugs":{"url":"https://github.com/FormidableLabs/chai-jq/issues"},"dist":{"shasum":"9b2b03c0d01d2a1f059352c78e0c0aebcabe8020","tarball":"https://registry.npmjs.org/chai-jq/-/chai-jq-0.0.4.tgz","integrity":"sha512-SYgGQ17ZtDMNwtFcYP7TxkohcYZPPkTJWTrtZUia6+CgxOP0qA+mXDJCTZkcw6zFkEhuZHLeVHSCYwjWVSRVOg==","signatures":[{"sig":"MEUCIQDW2J44xlJ18ZL4/tN9W/HcToRImYDxx6g9sUw6DeC7+gIgItrhAv8bXtfNRq0XDsY4pdlHhf72h0wqMCAXSt9ba+o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"chai-jq.js","_from":".","scripts":{"test":"./node_modules/.bin/grunt check"},"_npmUser":{"name":"ryan.roemer","email":"ryan@loose-bits.com"},"repository":{"url":"https://github.com/FormidableLabs/chai-jq","type":"git"},"_npmVersion":"1.3.11","description":"An alternate jQuery assertion library for Chai.","directories":{},"dependencies":{},"devDependencies":{"dox":"~0.4.4","chai":"~1.8.1","bower":"~1.2.7","grunt":"~0.4.1","jsdom":"~0.8.8","mocha":"~1.14.0","jquery":"~1.8.3","marked":"~0.2.10","testem":"~0.5.8","grunt-cli":"~0.1.9","phantomjs":"~1.9.2-2","grunt-testem":"~0.4.0","grunt-mocha-test":"~0.7.0","grunt-contrib-copy":"~0.4.1","grunt-contrib-jade":"~0.8.0","grunt-contrib-watch":"~0.5.3","grunt-contrib-jshint":"~0.7.0","grunt-mocha-phantomjs":"~0.3.0"}},"0.0.5":{"name":"chai-jq","version":"0.0.5","keywords":["test","assertion","assert","chai","jquery"],"author":{"name":"Ryan Roemer","email":"ryan.roemer@formidablelabs.com"},"license":"MIT","_id":"chai-jq@0.0.5","maintainers":[{"name":"ryan.roemer","email":"ryan@loose-bits.com"}],"homepage":"https://github.com/FormidableLabs/chai-jq","bugs":{"url":"https://github.com/FormidableLabs/chai-jq/issues"},"dist":{"shasum":"10565be70d323cd8d69045c423c5ce5520a07746","tarball":"https://registry.npmjs.org/chai-jq/-/chai-jq-0.0.5.tgz","integrity":"sha512-HmK+T+Jz5FTKiuvfoUzLAFL85xtbMWdKtvd1mkHjrZL8xOD4Bsj/+B+vDR8q2nO+MgAZsYjZkjD1wW2XvfmACQ==","signatures":[{"sig":"MEUCIQCuX1JXkoGE2khW+2K1EaRBBcLCXuucBbSu6w9kmoVj1wIgdjQG3ZTrbXcKdmoKL2oTvouY7W0m2c3dq6A4heGT1yc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"chai-jq.js","_from":".","scripts":{"test":"./node_modules/.bin/grunt check"},"_npmUser":{"name":"ryan.roemer","email":"ryan@loose-bits.com"},"repository":{"url":"https://github.com/FormidableLabs/chai-jq","type":"git"},"_npmVersion":"1.3.14","description":"An alternate jQuery assertion library for Chai.","directories":{},"dependencies":{},"devDependencies":{"dox":"~0.4.4","chai":"~1.8.1","bower":"~1.2.7","grunt":"~0.4.1","jsdom":"~0.8.8","mocha":"~1.14.0","jquery":"~1.8.3","marked":"~0.2.10","testem":"~0.5.8","grunt-cli":"~0.1.9","phantomjs":"~1.9.2-2","grunt-testem":"~0.4.0","grunt-mocha-test":"~0.7.0","grunt-contrib-copy":"~0.4.1","grunt-contrib-jade":"~0.8.0","grunt-contrib-watch":"~0.5.3","grunt-contrib-jshint":"~0.7.0","grunt-mocha-phantomjs":"~0.3.0"}},"0.0.6":{"name":"chai-jq","version":"0.0.6","keywords":["test","assertion","assert","chai","jquery"],"author":{"name":"Ryan Roemer","email":"ryan.roemer@formidablelabs.com"},"license":"MIT","_id":"chai-jq@0.0.6","maintainers":[{"name":"ryan.roemer","email":"ryan@loose-bits.com"}],"homepage":"https://github.com/FormidableLabs/chai-jq","bugs":{"url":"https://github.com/FormidableLabs/chai-jq/issues"},"dist":{"shasum":"cb30d94d509454285653f1e77fd1805d5fb48570","tarball":"https://registry.npmjs.org/chai-jq/-/chai-jq-0.0.6.tgz","integrity":"sha512-rrb3QVZ89e1kIbAZ8dNfKsk7rTyqw/9NJE6ieGzcw8n7TdrwE/cjRl1fL/mvMRJ/EPF0CK2Vs4PJ+WWFPe917A==","signatures":[{"sig":"MEUCIQCaJZotME4tVirF8SATU/0cEHu4fAAu78qycyXZGn9eqAIgBXk2UkKuh12tqEUgKTAtmOtBVHv22gHvjrCzXe59yOw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"chai-jq.js","_from":".","scripts":{"test":"gulp check"},"_npmUser":{"name":"ryan.roemer","email":"ryan@loose-bits.com"},"repository":{"url":"https://github.com/FormidableLabs/chai-jq","type":"git"},"_npmVersion":"1.4.3","description":"An alternate jQuery assertion library for Chai.","directories":{},"dependencies":{},"devDependencies":{"dox":"0.4.4","chai":"1.8.1","gulp":"3.5.2","bower":"1.2.7","jsdom":"0.8.8","karma":"0.11.14","mocha":"1.14.0","jquery":"1.8.3","lodash":"2.4.1","marked":"0.2.10","gulp-jade":"0.4.2","gulp-util":"2.2.14","phantomjs":"1.9.7-1","gulp-karma":"https://github.com/FormidableLabs/gulp-karma/tarball/9535488a28fdef909e7cc221e2d02a3cdf684c9d","gulp-mocha":"0.4.1","gulp-jshint":"1.4.0","gulp-rename":"1.2.0","karma-mocha":"0.1.1","event-stream":"3.1.0","karma-mocha-reporter":"0.2.2","karma-chrome-launcher":"0.1.2","karma-safari-launcher":"0.1.1","karma-firefox-launcher":"0.1.3","karma-phantomjs-launcher":"0.1.2"}},"0.0.7":{"name":"chai-jq","version":"0.0.7","keywords":["test","assertion","assert","chai","jquery"],"author":{"name":"Ryan Roemer","email":"ryan.roemer@formidablelabs.com"},"license":"MIT","_id":"chai-jq@0.0.7","maintainers":[{"name":"ryan.roemer","email":"ryan@loose-bits.com"}],"homepage":"https://github.com/FormidableLabs/chai-jq","bugs":{"url":"https://github.com/FormidableLabs/chai-jq/issues"},"dist":{"shasum":"683af94d3d3b7304e156277dc6d9544b36887526","tarball":"https://registry.npmjs.org/chai-jq/-/chai-jq-0.0.7.tgz","integrity":"sha512-RcfZ2cDXf+h4w7vIsbOUJY1I4NuwsXbCKbg2kSSp8cQTu+uUvGoBvVNdtlrgHPpbBzE80NRvPyemE+bqocJlZQ==","signatures":[{"sig":"MEUCIQDpdCCq4xnu2r7YUB3jQpb415fDaSPWHgBpyVK474jOyQIgGZQ3GSwFnA0kUyHsPqmetXFfsbGrI1xPbEJAQ27zi3Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"chai-jq.js","_from":".","scripts":{"test":"gulp check"},"_npmUser":{"name":"ryan.roemer","email":"ryan@loose-bits.com"},"repository":{"url":"https://github.com/FormidableLabs/chai-jq","type":"git"},"_npmVersion":"1.4.3","description":"An alternate jQuery assertion library for Chai.","directories":{},"dependencies":{},"devDependencies":{"dox":"0.4.4","chai":"1.8.1","gulp":"3.5.2","bower":"1.2.7","jsdom":"0.8.8","karma":"0.11.14","mocha":"1.14.0","jquery":"1.8.3","lodash":"2.4.1","marked":"0.2.10","gulp-jade":"0.4.2","gulp-util":"2.2.14","phantomjs":"1.9.7-1","gulp-karma":"https://github.com/FormidableLabs/gulp-karma/tarball/9535488a28fdef909e7cc221e2d02a3cdf684c9d","gulp-mocha":"0.4.1","gulp-jshint":"1.4.0","gulp-rename":"1.2.0","karma-mocha":"0.1.1","event-stream":"3.1.0","karma-mocha-reporter":"0.2.2","karma-chrome-launcher":"0.1.2","karma-safari-launcher":"0.1.1","karma-firefox-launcher":"0.1.3","karma-phantomjs-launcher":"0.1.2"}},"0.0.8":{"name":"chai-jq","version":"0.0.8","keywords":["test","assertion","assert","chai","jquery"],"author":{"name":"Ryan Roemer","email":"ryan.roemer@formidablelabs.com"},"license":"MIT","_id":"chai-jq@0.0.8","maintainers":[{"name":"ryan.roemer","email":"ryan@loose-bits.com"}],"homepage":"https://github.com/FormidableLabs/chai-jq","bugs":{"url":"https://github.com/FormidableLabs/chai-jq/issues"},"dist":{"shasum":"fea868195c7a31dfc9f7fe41b1f600ea33683496","tarball":"https://registry.npmjs.org/chai-jq/-/chai-jq-0.0.8.tgz","integrity":"sha512-IFTkNQSGh3T8e/YPvLoa8L9ImrabmBKP2xar0A6YLgVGjX68CcQpS9ZEoBTkwo0JqnZVhaNydpi32iLa2tseTg==","signatures":[{"sig":"MEQCIHscLVzQ/3Xn1sYDRW1a1sTr7ajoJYkh5NUy/snyowCHAiAIHVbORp7wkHD6QMcaGsvOwfxoN12qwumYISdgSDgFDg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"chai-jq.js","_from":".","_shasum":"fea868195c7a31dfc9f7fe41b1f600ea33683496","gitHead":"b62223ca8f6c2657c9243ce311817192def21179","scripts":{"test":"gulp check","check":"npm run-script test && npm run-script coverage","coverage":"./node_modules/karma-coverage/node_modules/.bin/istanbul check-coverage --statements 100 --branches 100 --lines 100 --functions 100 'coverage/**/coverage.json'","sauce-local":"gulp test:frontend:sauce"},"_npmUser":{"name":"ryan.roemer","email":"ryan@loose-bits.com"},"repository":{"url":"https://github.com/FormidableLabs/chai-jq","type":"git"},"_npmVersion":"1.4.21","description":"An alternate jQuery assertion library for Chai.","directories":{},"dependencies":{},"devDependencies":{"chai":"1.8.1","gulp":"3.5.2","bower":"1.2.7","jsdom":"0.8.8","karma":"0.11.14","mocha":"1.14.0","jquery":"1.8.3","lodash":"2.4.1","marked":"0.2.10","gulp-jade":"0.4.2","gulp-mdox":"0.0.2","phantomjs":"1.9.7-1","gulp-karma":"https://github.com/FormidableLabs/gulp-karma/tarball/9535488a28fdef909e7cc221e2d02a3cdf684c9d","gulp-mocha":"0.4.1","gulp-jshint":"1.4.0","gulp-rename":"1.2.0","gulp-rimraf":"0.1.1","karma-mocha":"0.1.1","karma-coverage":"0.2.6","karma-coveralls":"0.1.4","karma-mocha-reporter":"0.2.2","karma-sauce-launcher":"0.2.10","karma-chrome-launcher":"0.1.2","karma-safari-launcher":"0.1.1","karma-firefox-launcher":"0.1.3","karma-phantomjs-launcher":"0.1.2"}},"0.0.9":{"name":"chai-jq","version":"0.0.9","keywords":["test","assertion","assert","chai","chai-plugin","jquery","browser","vendor","dom"],"author":{"name":"Ryan Roemer","email":"ryan.roemer@formidablelabs.com"},"license":"MIT","_id":"chai-jq@0.0.9","maintainers":[{"name":"ryan.roemer","email":"ryan@loose-bits.com"}],"homepage":"https://github.com/FormidableLabs/chai-jq#readme","bugs":{"url":"https://github.com/FormidableLabs/chai-jq/issues"},"dist":{"shasum":"6df6af3a940cfabafb1ed5184ec7a734d8252882","tarball":"https://registry.npmjs.org/chai-jq/-/chai-jq-0.0.9.tgz","integrity":"sha512-mnCudnp5Qu0vmfOZ1I8Pk72wZzZi2Sqij4K5BNamuEnKjeZ7Kexl5Fwd10zi9Pv27NtT8mYlX9pNtsfIcVctkw==","signatures":[{"sig":"MEUCIQDEVl99Rp1iotMgDl0CY3lY7hbSYD9ps37sKsI9Ghc66gIgYkOdHXm/UWTilBjTRMWCpoRooxyFnxMYCApMhiQBDa8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"chai-jq.js","_from":".","_shasum":"6df6af3a940cfabafb1ed5184ec7a734d8252882","gitHead":"451a211d5447cedc7c2ff429cb6c0aced448d116","scripts":{"test":"gulp check","check":"npm run-script test && npm run-script coverage","coverage":"node_modules/karma-coverage/node_modules/.bin/istanbul check-coverage --statements 100 --branches 100 --lines 100 --functions 100 'coverage/**/coverage.json'","sauce-local":"gulp test:frontend:sauce"},"_npmUser":{"name":"ryan.roemer","email":"ryan@loose-bits.com"},"repository":{"url":"git+https://github.com/FormidableLabs/chai-jq.git","type":"git"},"_npmVersion":"2.13.5","description":"An alternate jQuery assertion library for Chai.","directories":{},"_nodeVersion":"0.10.40","dependencies":{},"devDependencies":{"chai":"1.8.1","gulp":"3.5.2","bower":"1.2.7","jsdom":"0.8.8","karma":"0.11.14","mocha":"1.14.0","jquery":"1.8.3","lodash":"2.4.1","marked":"0.2.10","gulp-jade":"0.4.2","gulp-mdox":"0.0.2","phantomjs":"1.9.7-1","gulp-karma":"https://github.com/FormidableLabs/gulp-karma/tarball/9535488a28fdef909e7cc221e2d02a3cdf684c9d","gulp-mocha":"0.4.1","gulp-jshint":"1.4.0","gulp-rename":"1.2.0","gulp-rimraf":"0.1.1","karma-mocha":"0.1.1","karma-coverage":"0.2.6","karma-coveralls":"0.1.4","karma-mocha-reporter":"0.2.2","karma-sauce-launcher":"0.2.10","karma-chrome-launcher":"0.1.2","karma-safari-launcher":"0.1.1","karma-firefox-launcher":"0.1.3","karma-phantomjs-launcher":"0.1.2"}}},"time":{"created":"2013-11-22T17:26:55.986Z","modified":"2026-07-20T21:09:05.474Z","0.0.1":"2013-11-22T17:26:58.182Z","0.0.2":"2013-11-25T19:01:00.455Z","0.0.3":"2013-11-27T01:11:57.606Z","0.0.4":"2013-12-04T20:49:51.552Z","0.0.5":"2014-01-01T15:47:26.220Z","0.0.6":"2014-03-12T15:38:46.946Z","0.0.7":"2014-04-25T23:18:37.122Z","0.0.8":"2014-10-19T12:43:20.434Z","0.0.9":"2015-11-12T17:25:12.350Z"},"bugs":{"url":"https://github.com/FormidableLabs/chai-jq/issues"},"author":{"name":"Ryan Roemer","email":"ryan.roemer@formidablelabs.com"},"license":"MIT","homepage":"https://github.com/FormidableLabs/chai-jq#readme","keywords":["test","assertion","assert","chai","chai-plugin","jquery","browser","vendor","dom"],"repository":{"url":"git+https://github.com/FormidableLabs/chai-jq.git","type":"git"},"description":"An alternate jQuery assertion library for Chai.","maintainers":[{"email":"sarahmichelleegan@gmail.com","name":"sarmeyer"},{"email":"mariano.martinez@formidable.com","name":"mariano-formidable"},{"email":"ryan@loose-bits.com","name":"ryan.roemer"},{"email":"admin@formidablelabs.com","name":"formidable-owner"},{"email":"npm@formidablelabs.com","name":"formidablelabs"},{"email":"sarah.wright@formidable.com","name":"sarahformidable"},{"email":"senesealessandro@gmail.com","name":"ceceppa"}],"readme":"Chai-jQ\n=======\n\n`chai-jq` is an alternate plugin for the [Chai](http://chaijs.com/) assertion\nlibrary to provide jQuery-specific assertions.\n\n## Usage\n\nYou can install `chai-jq` with the following package managers:\n\n* [NPM](https://npmjs.org/package/chai-jq): `npm install chai-jq`\n* [Bower](http://bower.io/): `bower install chai-jq`\n\nThe [integration notes](#integration) discuss how to properly patch Chai with\nthe plugin in different environments (browser, AMD, Node.js). The\n[API documentation](#plugin-api) is a good starting point to learn how to use\n`chai-jq` assertions in your tests.\nThe site's own test suites also provide a decent introduction to the API:\n\n* [Basic Tests](./test/test.html)\n* [AMD Tests](./test/test-amd.html)\n\n## Assertions\n\n### Integration\n\n`chai-jq` works in your browser, with AMD/RequireJS, and in Node.js with\nJsDom.\n\n**Standard Browser**: To use in a standard HTML page, include `chai-jq.js`\nafter Chai.\n\n```html\n<script src=\"chai.js\"></script>\n<script src=\"chai-jq.js\"></script>\n```\n\n**AMD Browser**: To use in a RequireJS/AMD page, require in `chai-jq` and\ninject it into Chai before your test imports / runners begin:\n\n```js\nrequire([\"chai\", \"chai-jq\"], function (chai, plugin) {\n  // Inject plugin.\n  chai.use(plugin);\n\n  // Rest of your test code here...\n});\n```\n\n**Node.js / JsDom**: To use in Node.js/JsDom, require in `chai-jq` and\ninject it into Chai before your test imports / runners begin:\n\n```js\nvar chai    = require(\"chai\");\nvar plugin  = require(\"chai-jq\");\n\n// Inject plugin.\nchai.use(plugin);\n\n// Rest of test code here...\n```\n\n### Object Context Changes\n\nOne slight difference from how assertions in `chai-jq` work from Chai and other\nplugins is the switching of object context for certain assertions, currently:\n\n* `$attr`\n* `$prop`\n\nIn general usage, the object under test (e.g., the thing wrapped in an\n`expect()`) remains the current context, so you can do something like:\n\n```js\nvar $elem = $(\"<div id=\\\"hi\\\" foo=\\\"bar time\\\" />\");\n\nexpect($elem)\n  // Assertion object is `$elem`\n  .to.have.$attr(\"id\", \"hi\").and\n  // Assertion object is still `$elem`\n  .to.contain.$attr(\"foo\", \"bar\");\n```\n\nIn the above example, the jQuery object `$elem` remains the object under\nassertion for both `$attr` calls. However, in the special case for one of the\nenumerated assertions above where:\n\n* There is no **expected** assertion value given; **and**,\n* There are no negations (e.g., `not`) used in a chain.\n\nThen, the object under assertion switches to the **value** of the effective\nmethod called. So, taking our example again, and calling `$attr()` without\nan expected value, we would have:\n\n```js\nvar $elem = $(\"<div id=\\\"hi\\\" foo=\\\"bar time\\\" />\");\n\nexpect($elem)\n  // Assertion object is `$elem`\n  .to.have.$attr(\"foo\").and\n    // Assertion object now changed to `$attr()` value: `\"bar time\"`\n    .to.equal(\"bar time\").and\n    .to.match(/^b/).and\n    .to.not.have.length(2);\n```\n\nIn the above example here, the object under assertion becomes the string\n`\"bar time\"` immediately after the call to `$attr(\"foo\")` with no expected\nvalue.\n\n\n## Plugin API\n\n* [`$visible`](#-visible)\n* [`$hidden`](#-hidden)\n* [`$val(expected, [message])`](#-val-expected-message-)\n* [`$class(expected, [message])`](#-class-expected-message-)\n* [`$attr(name, [expected], [message])`](#-attr-name-expected-message-)\n* [`$data(name, [expected], [message])`](#-data-name-expected-message-)\n* [`$prop(name, [expected], [message])`](#-prop-name-expected-message-)\n* [`$html(expected, [message])`](#-html-expected-message-)\n* [`$text(expected, [message])`](#-text-expected-message-)\n* [`$css(expected, [message])`](#-css-expected-message-)\n\n### `$visible`\n\nAsserts that the element is visible.\n\n*Node.js/JsDom Note*: JsDom does not currently infer zero-sized or\nhidden parent elements as hidden / visible appropriately.\n\n```js\nexpect($(\"<div>&nbsp;</div>\"))\n  .to.be.$visible;\n```\n\nSee: [http://api.jquery.com/visible-selector/](http://api.jquery.com/visible-selector/)\n\n### `$hidden`\n\nAsserts that the element is hidden.\n\n*Node.js/JsDom Note*: JsDom does not currently infer zero-sized or\nhidden parent elements as hidden / visible appropriately.\n\n```js\nexpect($(\"<div style=\\\"display: none\\\" />\"))\n  .to.be.$hidden;\n```\n\nSee: [http://api.jquery.com/hidden-selector/](http://api.jquery.com/hidden-selector/)\n\n### `$val(expected, [message])`\n* **expected** (`String|RegExp`) value\n* **message** (`String`) failure message (_optional_)\n\nAsserts that the element value matches a string or regular expression.\n\n```js\nexpect($(\"<input value='foo' />\"))\n  .to.have.$val(\"foo\").and\n  .to.have.$val(/^foo/);\n```\n\nSee: [http://api.jquery.com/val/](http://api.jquery.com/val/)\n\n### `$class(expected, [message])`\n* **expected** (`String`) class name\n* **message** (`String`) failure message (_optional_)\n\nAsserts that the element has a class match.\n\n```js\nexpect($(\"<div class='foo bar' />\"))\n  .to.have.$class(\"foo\").and\n  .to.have.$class(\"bar\");\n```\n\nSee: [http://api.jquery.com/hasClass/](http://api.jquery.com/hasClass/)\n\n### `$attr(name, [expected], [message])`\n* **name** (`String`) attribute name\n* **expected** (`String`) attribute content (_optional_)\n* **message** (`String`) failure message (_optional_)\n* **_returns_** current object or attribute string value\n\nAsserts that the target has exactly the given named attribute, or\nasserts the target contains a subset of the attribute when using the\n`include` or `contain` modifiers.\n\n```js\nexpect($(\"<div id=\\\"hi\\\" foo=\\\"bar time\\\" />\"))\n  .to.have.$attr(\"id\", \"hi\").and\n  .to.contain.$attr(\"foo\", \"bar\");\n```\n\nChanges context to attribute string *value* when no expected value is\nprovided:\n\n```js\nexpect($(\"<div id=\\\"hi\\\" foo=\\\"bar time\\\" />\"))\n  .to.have.$attr(\"foo\").and\n    .to.equal(\"bar time\").and\n    .to.match(/^b/);\n```\n\nSee: [http://api.jquery.com/attr/](http://api.jquery.com/attr/)\n\n### `$data(name, [expected], [message])`\n* **name** (`String`) data-attribute name\n* **expected** (`String`) data-attribute content (_optional_)\n* **message** (`String`) failure message (_optional_)\n* **_returns_** current object or attribute string value\n\nAsserts that the target has exactly the given named\ndata-attribute, or asserts the target contains a subset\nof the data-attribute when using the\n`include` or `contain` modifiers.\n\n```js\nexpect($(\"<div data-id=\\\"hi\\\" data-foo=\\\"bar time\\\" />\"))\n  .to.have.$data(\"id\", \"hi\").and\n  .to.contain.$data(\"foo\", \"bar\");\n```\n\nChanges context to data-attribute string *value* when no\nexpected value is provided:\n\n```js\nexpect($(\"<div data-id=\\\"hi\\\" data-foo=\\\"bar time\\\" />\"))\n  .to.have.$data(\"foo\").and\n    .to.equal(\"bar time\").and\n    .to.match(/^b/);\n```\n\nSee: [http://api.jquery.com/data/](http://api.jquery.com/data/)\n\n### `$prop(name, [expected], [message])`\n* **name** (`String`) property name\n* **expected** (`Object`) property value (_optional_)\n* **message** (`String`) failure message (_optional_)\n* **_returns_** current object or property string value\n\nAsserts that the target has exactly the given named property.\n\n```js\nexpect($(\"<input type=\\\"checkbox\\\" checked=\\\"checked\\\" />\"))\n  .to.have.$prop(\"checked\", true).and\n  .to.have.$prop(\"type\", \"checkbox\");\n```\n\nChanges context to property string *value* when no expected value is\nprovided:\n\n```js\nexpect($(\"<input type=\\\"checkbox\\\" checked=\\\"checked\\\" />\"))\n  .to.have.$prop(\"type\").and\n    .to.equal(\"checkbox\").and\n    .to.match(/^c.*x$/);\n```\n\nSee: [http://api.jquery.com/prop/](http://api.jquery.com/prop/)\n\n### `$html(expected, [message])`\n* **expected** (`String`) HTML content\n* **message** (`String`) failure message (_optional_)\n\nAsserts that the target has exactly the given HTML, or\nasserts the target contains a subset of the HTML when using the\n`include` or `contain` modifiers.\n\n```js\nexpect($(\"<div><span>foo</span></div>\"))\n  .to.have.$html(\"<span>foo</span>\").and\n  .to.contain.$html(\"foo\");\n```\n\nSee: [http://api.jquery.com/html/](http://api.jquery.com/html/)\n\n### `$text(expected, [message])`\n* **expected** (`String`) text content\n* **message** (`String`) failure message (_optional_)\n\nAsserts that the target has exactly the given text, or\nasserts the target contains a subset of the text when using the\n`include` or `contain` modifiers.\n\n```js\nexpect($(\"<div><span>foo</span> bar</div>\"))\n  .to.have.$text(\"foo bar\").and\n  .to.contain.$text(\"foo\");\n```\n\nSee: [http://api.jquery.com/text/](http://api.jquery.com/text/)\n\n### `$css(expected, [message])`\n* **expected** (`String`) CSS property content\n* **message** (`String`) failure message (_optional_)\n\nAsserts that the target has exactly the given CSS property, or\nasserts the target contains a subset of the CSS when using the\n`include` or `contain` modifiers.\n\n*Node.js/JsDom Note*: Computed CSS properties are not correctly\ninferred as of JsDom v0.8.8. Explicit ones should get matched exactly.\n\n*Browser Note*: Explicit CSS properties are sometimes not matched\n(in contrast to Node.js), so the plugin performs an extra check against\nexplicit `style` properties for a match. May still have other wonky\ncorner cases.\n\n*PhantomJS Note*: PhantomJS also is fairly wonky and unpredictable with\nrespect to CSS / styles, especially those that come from CSS classes\nand not explicity `style` attributes.\n\n```js\nexpect($(\"<div style=\\\"width: 50px; border: 1px dotted black;\\\" />\"))\n  .to.have.$css(\"width\", \"50px\").and\n  .to.have.$css(\"border-top-style\", \"dotted\");\n```\n\nSee: [http://api.jquery.com/css/](http://api.jquery.com/css/)\n\n\n## Contributions\n\nPlease see the [Contributions Guide](./CONTRIBUTING.md) for how to help out\nwith the plugin.\n\nWe test all changes with [Travis CI][trav], report internal test coverage\nwith [Coveralls][cov] and check complexity / static analysis with\n[Code Climate][cc]. Here is the status for our\n[build][trav_site], [coverage][cov_site], and [complexity][cc_site]:\n\n[![Build Status][trav_img]][trav_site]\n[![Coverage Status][cov_img]][cov_site]\n[![Code Climate][cc_img]][cc_site]\n\nWe also do multi-browser testing of the frontend code using [Sauce Labs][sauce].\nHere's our [build matrix][sauce_site]:\n\n[![Sauce Test Status][sauce_img]][sauce_site]\n\n[trav]: https://travis-ci.org/\n[trav_img]: https://api.travis-ci.org/FormidableLabs/chai-jq.svg\n[trav_site]: https://travis-ci.org/FormidableLabs/chai-jq\n[cov]: https://coveralls.io\n[cov_img]: https://img.shields.io/coveralls/FormidableLabs/chai-jq.svg\n[cov_site]: https://coveralls.io/r/FormidableLabs/chai-jq\n[cc]: https://codeclimate.com\n[cc_img]: https://codeclimate.com/github/FormidableLabs/chai-jq/badges/gpa.svg\n[cc_site]: https://codeclimate.com/github/FormidableLabs/chai-jq\n[sauce]: https://saucelabs.com\n[sauce_img]: https://saucelabs.com/browser-matrix/chai-jq.svg\n[sauce_site]: https://saucelabs.com/u/chai-jq\n\n## Licenses\nAll code not otherwise specified is Copyright 2013 Ryan Roemer.\nReleased under the [MIT](./LICENSE.txt) License.\n\nThis repository contains various libraries from other folks, and are licensed\nas follows:\n\n* [jQuery][jquery] is Copyright jQuery Foundation and licensed under the\n  [MIT](https://github.com/jquery/jquery/blob/master/MIT-LICENSE.txt) license.\n\n* [Mocha][mocha] is Copyright TJ Holowaychuk and licensed under the\n  [MIT](https://github.com/visionmedia/mocha/blob/master/LICENSE) license.\n\n* [Chai][chai] is Copyright Jake Luer and licensed under the\n  [BSD](https://github.com/cjohansen/Sinon.JS/blob/master/LICENSE) license.\n\n* [Sinon.JS][sinon] is Copyright Christian Johansen and licensed under the\n  [BSD](https://github.com/cjohansen/Sinon.JS/blob/master/LICENSE) license.\n\n* [Mocha-PhantomJS][mocha-phantom] is Copyright Ken Collins and licensed under the\n  [MIT](https://github.com/metaskills/mocha-phantomjs/blob/master/MIT-LICENSE)\n  license.\n\n* [Pure][pure] is Copyright Yahoo! and licensed under the\n  [MIT](https://github.com/yui/pure/blob/master/LICENSE.md)\n  license.\n\n[jquery]: https://github.com/jquery/jquery\n[mocha]: https://github.com/visionmedia/mocha\n[mocha-phantom]: https://github.com/metaskills/mocha-phantomjs\n[phantom]: http://phantomjs.org/\n[phantom-install]: http://phantomjs.org/download.html\n[chai]: https://github.com/chaijs/chai\n[sinon]: https://github.com/cjohansen/Sinon.JS\n[pure]: https://github.com/yui/pure/\n","readmeFilename":"README.md","users":{"anaumidis":true,"beth_rogers465":true}}