{"_id":"testify","_rev":"437566","name":"testify","description":"simple asynchronous testing using assertions of your choice","dist-tags":{"latest":"0.3.0"},"maintainers":[{"name":"automatthew","email":"automatthew@gmail.com"}],"time":{"modified":"2021-08-05T06:21:38.000Z","created":"2012-10-23T16:11:40.174Z","0.3.0":"2015-01-21T16:10:46.349Z","0.2.11":"2014-11-10T20:38:11.887Z","0.2.10":"2014-09-10T21:10:08.927Z","0.2.9":"2014-01-20T18:10:42.518Z","0.2.8":"2013-09-24T17:34:53.802Z","0.2.7":"2013-08-28T16:57:52.424Z","0.2.6":"2013-08-23T21:44:03.958Z","0.2.5":"2013-08-13T21:47:16.659Z","0.2.4":"2013-05-19T22:24:02.517Z","0.2.2":"2013-04-04T23:44:24.342Z","0.2.1":"2013-03-16T21:35:07.236Z","0.2.0":"2013-03-05T19:24:18.068Z","0.2.0-beta.1":"2013-02-17T17:31:40.948Z","0.2.0-beta":"2013-02-15T02:24:38.468Z","0.1.3":"2013-01-08T22:16:53.561Z","0.1.2":"2013-01-08T21:53:01.752Z","0.1.1":"2013-01-08T18:06:20.805Z","0.1.0":"2012-10-23T16:11:40.174Z"},"users":{},"author":{"name":"Matthew King","email":"automatthew@gmail.com"},"repository":{"type":"git","url":"git@github.com:automatthew/testify.git"},"versions":{"0.3.0":{"name":"testify","version":"0.3.0","description":"simple asynchronous testing using assertions of your choice","main":"src/testify.coffee","bin":{"testify":"bin/testify"},"files":["src","bin/","README.md"],"dependencies":{"coffee-script":">=0.4.0","colors":"0.6.x"},"repository":{"type":"git","url":"git@github.com:automatthew/testify.git"},"author":{"name":"Matthew King","email":"automatthew@gmail.com"},"license":"MIT","gitHead":"edd1cecc0781987b2ce97d6170e7856dd21a8b3b","bugs":{"url":"https://github.com/automatthew/testify/issues"},"homepage":"https://github.com/automatthew/testify","_id":"testify@0.3.0","scripts":{},"_shasum":"4f277af512b58c5c57ab19fe66059650610620ea","_from":".","_npmVersion":"1.4.16","_npmUser":{"name":"automatthew","email":"automatthew@gmail.com"},"maintainers":[{"name":"automatthew","email":"automatthew@gmail.com"}],"dist":{"shasum":"4f277af512b58c5c57ab19fe66059650610620ea","size":5909,"noattachment":false,"key":"/testify/-/testify-0.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/testify/download/testify-0.3.0.tgz"},"directories":{},"publish_time":1421856646349,"_cnpm_publish_time":1421856646349,"_hasShrinkwrap":false},"0.2.11":{"name":"testify","version":"0.2.11","description":"simple asynchronous testing using assertions of your choice","main":"src/testify.coffee","bin":{"testify":"bin/testify"},"files":["src","bin/","README.md"],"dependencies":{"coffee-script":">=0.4.0","colors":"0.6.x"},"repository":{"type":"git","url":"git@github.com:automatthew/testify.git"},"author":{"name":"Matthew King","email":"automatthew@gmail.com"},"license":"MIT","gitHead":"7084f25115d18b14e83b64212dea683e5b446683","bugs":{"url":"https://github.com/automatthew/testify/issues"},"homepage":"https://github.com/automatthew/testify","_id":"testify@0.2.11","scripts":{},"_shasum":"413ed60824d14d72cd21866f678e4fb89ae344a3","_from":".","_npmVersion":"1.4.16","_npmUser":{"name":"automatthew","email":"automatthew@gmail.com"},"maintainers":[{"name":"automatthew","email":"automatthew@gmail.com"}],"dist":{"shasum":"413ed60824d14d72cd21866f678e4fb89ae344a3","size":5820,"noattachment":false,"key":"/testify/-/testify-0.2.11.tgz","tarball":"http://registry.cnpm.dingdandao.com/testify/download/testify-0.2.11.tgz"},"directories":{},"publish_time":1415651891887,"_cnpm_publish_time":1415651891887,"_hasShrinkwrap":false},"0.2.10":{"name":"testify","version":"0.2.10","description":"simple asynchronous testing using assertions of your choice","main":"src/testify.coffee","bin":{"testify":"bin/testify"},"files":["src","bin/","README.md"],"dependencies":{"coffee-script":">=0.4.0","colors":"0.6.x"},"repository":{"type":"git","url":"git@github.com:automatthew/testify.git"},"author":{"name":"Matthew King","email":"automatthew@gmail.com"},"license":"MIT","gitHead":"a8a2015b04806f3d68548f245d229c59fe6db7c1","bugs":{"url":"https://github.com/automatthew/testify/issues"},"homepage":"https://github.com/automatthew/testify","_id":"testify@0.2.10","scripts":{},"_shasum":"a45edc61a39df52375886cbd498a1197f3d14f12","_from":".","_npmVersion":"1.4.16","_npmUser":{"name":"automatthew","email":"automatthew@gmail.com"},"maintainers":[{"name":"automatthew","email":"automatthew@gmail.com"}],"dist":{"shasum":"a45edc61a39df52375886cbd498a1197f3d14f12","size":5807,"noattachment":false,"key":"/testify/-/testify-0.2.10.tgz","tarball":"http://registry.cnpm.dingdandao.com/testify/download/testify-0.2.10.tgz"},"directories":{},"publish_time":1410383408927,"_cnpm_publish_time":1410383408927,"_hasShrinkwrap":false},"0.2.9":{"name":"testify","version":"0.2.9","description":"simple asynchronous testing using assertions of your choice","main":"src/testify.coffee","bin":{"testify":"bin/testify"},"files":["src","bin/","README.md"],"dependencies":{"coffee-script":">=0.4.0","colors":"0.6.x"},"repository":{"type":"git","url":"git@github.com:automatthew/testify.git"},"author":{"name":"Matthew King","email":"automatthew@gmail.com"},"license":"MIT","readmeFilename":"README.md","bugs":{"url":"https://github.com/automatthew/testify/issues"},"_id":"testify@0.2.9","dist":{"shasum":"25c1ec6723c15526682ca1397029990636a2a72d","size":5778,"noattachment":false,"key":"/testify/-/testify-0.2.9.tgz","tarball":"http://registry.cnpm.dingdandao.com/testify/download/testify-0.2.9.tgz"},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"automatthew","email":"automatthew@gmail.com"},"maintainers":[{"name":"automatthew","email":"automatthew@gmail.com"}],"directories":{},"publish_time":1390241442518,"_cnpm_publish_time":1390241442518,"_hasShrinkwrap":false},"0.2.8":{"name":"testify","version":"0.2.8","description":"simple asynchronous testing using assertions of your choice","main":"src/testify.coffee","bin":{"testify":"bin/testify"},"files":["src","bin/","README.md"],"dependencies":{"coffee-script":">=0.4.0","colors":"0.6.x"},"repository":{"type":"git","url":"git@github.com:automatthew/testify.git"},"author":{"name":"Matthew King","email":"automatthew@gmail.com"},"license":"MIT","readmeFilename":"README.md","_id":"testify@0.2.8","dist":{"shasum":"ec51d2306bb19384bf6859aa1c78019a4a0b3ed3","size":5805,"noattachment":false,"key":"/testify/-/testify-0.2.8.tgz","tarball":"http://registry.cnpm.dingdandao.com/testify/download/testify-0.2.8.tgz"},"_from":".","_npmVersion":"1.2.14","_npmUser":{"name":"automatthew","email":"automatthew@gmail.com"},"maintainers":[{"name":"automatthew","email":"automatthew@gmail.com"}],"directories":{},"publish_time":1380044093802,"_cnpm_publish_time":1380044093802,"_hasShrinkwrap":false},"0.2.7":{"name":"testify","version":"0.2.7","description":"simple asynchronous testing using assertions of your choice","main":"src/testify.coffee","bin":{"testify":"bin/testify"},"files":["src","bin/","README.md"],"dependencies":{"coffee-script":">=0.4.0","colors":"0.6.x"},"repository":{"type":"git","url":"git@github.com:automatthew/testify.git"},"author":{"name":"Matthew King","email":"automatthew@gmail.com"},"license":"MIT","readmeFilename":"README.md","_id":"testify@0.2.7","dist":{"shasum":"4d9e4a9d0ddc90ca4786bc824a41b6ac25cafa6a","size":5645,"noattachment":false,"key":"/testify/-/testify-0.2.7.tgz","tarball":"http://registry.cnpm.dingdandao.com/testify/download/testify-0.2.7.tgz"},"_from":".","_npmVersion":"1.2.14","_npmUser":{"name":"automatthew","email":"automatthew@gmail.com"},"maintainers":[{"name":"automatthew","email":"automatthew@gmail.com"}],"directories":{},"publish_time":1377709072424,"_cnpm_publish_time":1377709072424,"_hasShrinkwrap":false},"0.2.6":{"name":"testify","version":"0.2.6","description":"simple asynchronous testing using assertions of your choice","main":"src/testify.coffee","bin":{"testify":"bin/testify"},"files":["src","bin/","README.md"],"dependencies":{"colors":"0.6.x"},"repository":{"type":"git","url":"git@github.com:automatthew/testify.git"},"author":{"name":"Matthew King","email":"automatthew@gmail.com"},"license":"MIT","readmeFilename":"README.md","_id":"testify@0.2.6","dist":{"shasum":"bb54fc44d07219c57684734205850629578de150","size":5352,"noattachment":false,"key":"/testify/-/testify-0.2.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/testify/download/testify-0.2.6.tgz"},"_from":".","_npmVersion":"1.2.14","_npmUser":{"name":"automatthew","email":"automatthew@gmail.com"},"maintainers":[{"name":"automatthew","email":"automatthew@gmail.com"}],"directories":{},"publish_time":1377294243958,"_cnpm_publish_time":1377294243958,"_hasShrinkwrap":false},"0.2.5":{"name":"testify","version":"0.2.5","description":"simple asynchronous testing using assertions of your choice","main":"src/testify.coffee","bin":{"testify":"bin/testify"},"files":["src","bin/","README.md"],"dependencies":{"optimist":"0.3.5","colors":"0.6.x"},"repository":{"type":"git","url":"git@github.com:automatthew/testify.git"},"author":{"name":"Matthew King","email":"automatthew@gmail.com"},"license":"MIT","readmeFilename":"README.md","_id":"testify@0.2.5","dist":{"shasum":"e1bfa6c7feb64591c7e04bdaf4684107cda75af5","size":5350,"noattachment":false,"key":"/testify/-/testify-0.2.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/testify/download/testify-0.2.5.tgz"},"_from":".","_npmVersion":"1.2.14","_npmUser":{"name":"automatthew","email":"automatthew@gmail.com"},"maintainers":[{"name":"automatthew","email":"automatthew@gmail.com"}],"directories":{},"publish_time":1376430436659,"_cnpm_publish_time":1376430436659,"_hasShrinkwrap":false},"0.2.4":{"name":"testify","version":"0.2.4","description":"simple asynchronous testing using assertions of your choice","main":"src/testify.coffee","bin":{"testify":"bin/testify"},"files":["src","bin/","README.md","statistics.js"],"dependencies":{"optimist":"0.3.5","microtime":"0.3.3","colors":"0.6.x"},"repository":{"type":"git","url":"git@github.com:automatthew/testify.git"},"author":{"name":"Matthew King","email":"automatthew@gmail.com"},"license":"MIT","readmeFilename":"README.md","_id":"testify@0.2.4","dist":{"shasum":"c0919a043cd009885ba1b222b5271492b263e813","size":7707,"noattachment":false,"key":"/testify/-/testify-0.2.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/testify/download/testify-0.2.4.tgz"},"_from":".","_npmVersion":"1.2.14","_npmUser":{"name":"automatthew","email":"automatthew@gmail.com"},"maintainers":[{"name":"automatthew","email":"automatthew@gmail.com"}],"directories":{},"publish_time":1369002242517,"_cnpm_publish_time":1369002242517,"_hasShrinkwrap":false},"0.2.2":{"name":"testify","version":"0.2.2","description":"simple asynchronous testing using assertions of your choice","main":"src/testify.coffee","bin":{"testify":"bin/testify"},"files":["src","bin/","README.md","statistics.js"],"dependencies":{"microtime":"0.3.3","colors":"0.6.x","minfinite":"0.1.x"},"repository":{"type":"git","url":"git@github.com:automatthew/testify.git"},"author":{"name":"Matthew King","email":"automatthew@gmail.com"},"license":"MIT","readmeFilename":"README.md","_id":"testify@0.2.2","dist":{"shasum":"c8160eb492c94dc8b7ab0a63b19ba19b26ef4a13","size":6161,"noattachment":false,"key":"/testify/-/testify-0.2.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/testify/download/testify-0.2.2.tgz"},"_from":".","_npmVersion":"1.2.14","_npmUser":{"name":"automatthew","email":"automatthew@gmail.com"},"maintainers":[{"name":"automatthew","email":"automatthew@gmail.com"}],"directories":{},"publish_time":1365119064342,"_cnpm_publish_time":1365119064342,"_hasShrinkwrap":false},"0.2.1":{"name":"testify","version":"0.2.1","description":"simple asynchronous testing using assertions of your choice","main":"src/testify.coffee","files":["src","README.md","statistics.js"],"dependencies":{"microtime":"0.3.3","colors":"0.6.x","minfinite":"0.1.x"},"repository":{"type":"git","url":"git@github.com:automatthew/testify.git"},"author":{"name":"Matthew King","email":"automatthew@gmail.com"},"license":"MIT","readmeFilename":"README.md","_id":"testify@0.2.1","dist":{"shasum":"474018e19965ef24c6761b73ab58ddf34a570fe6","size":5914,"noattachment":false,"key":"/testify/-/testify-0.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/testify/download/testify-0.2.1.tgz"},"_from":".","_npmVersion":"1.2.11","_npmUser":{"name":"automatthew","email":"automatthew@gmail.com"},"maintainers":[{"name":"automatthew","email":"automatthew@gmail.com"}],"directories":{},"publish_time":1363469707236,"_cnpm_publish_time":1363469707236,"_hasShrinkwrap":false},"0.2.0":{"name":"testify","version":"0.2.0","description":"simple asynchronous testing using assertions of your choice","main":"src/testify.coffee","files":["src","README.md","statistics.js"],"dependencies":{"microtime":"0.3.3","colors":"0.6.x","minfinite":"0.1.x"},"repository":{"type":"git","url":"git@github.com:automatthew/testify.git"},"author":{"name":"Matthew King","email":"automatthew@gmail.com"},"license":"MIT","readmeFilename":"README.md","_id":"testify@0.2.0","dist":{"shasum":"a6d48f967e7b2bdc798c399695257737012d1e31","size":5795,"noattachment":false,"key":"/testify/-/testify-0.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/testify/download/testify-0.2.0.tgz"},"_from":".","_npmVersion":"1.2.11","_npmUser":{"name":"automatthew","email":"automatthew@gmail.com"},"maintainers":[{"name":"automatthew","email":"automatthew@gmail.com"}],"directories":{},"publish_time":1362511458068,"_cnpm_publish_time":1362511458068,"_hasShrinkwrap":false},"0.2.0-beta.1":{"name":"testify","version":"0.2.0-beta.1","description":"simple asynchronous testing using assertions of your choice","main":"testify.coffee","files":["testify.coffee"],"dependencies":{"microtime":"0.3.3","colors":"0.6.x"},"repository":"","author":"","license":"MIT","_id":"testify@0.2.0-beta.1","dist":{"shasum":"8025854cff0e52def7ebf4ef6cea80dc85631a98","size":913,"noattachment":false,"key":"/testify/-/testify-0.2.0-beta.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/testify/download/testify-0.2.0-beta.1.tgz"},"_npmVersion":"1.1.62","_npmUser":{"name":"automatthew","email":"automatthew@gmail.com"},"maintainers":[{"name":"automatthew","email":"automatthew@gmail.com"}],"directories":{},"publish_time":1361122300948,"_cnpm_publish_time":1361122300948,"_hasShrinkwrap":false},"0.2.0-beta":{"name":"testify","version":"0.2.0-beta","description":"simple asynchronous testing using assertions of your choice","main":"testify.coffee","files":["testify.coffee"],"dependencies":{"microtime":"0.3.3","colors":"0.6.x"},"repository":"","author":"","license":"MIT","_id":"testify@0.2.0-beta","dist":{"shasum":"aa8fdc0b50567141e6c0b70b485f0f3bb1a546a3","size":852,"noattachment":false,"key":"/testify/-/testify-0.2.0-beta.tgz","tarball":"http://registry.cnpm.dingdandao.com/testify/download/testify-0.2.0-beta.tgz"},"_npmVersion":"1.1.62","_npmUser":{"name":"automatthew","email":"automatthew@gmail.com"},"maintainers":[{"name":"automatthew","email":"automatthew@gmail.com"}],"directories":{},"publish_time":1360895078468,"_cnpm_publish_time":1360895078468,"_hasShrinkwrap":false},"0.1.3":{"name":"testify","version":"0.1.3","description":"simple asynchronous testing using assertions of your choice","main":"testify.coffee","files":["testify.coffee"],"dependencies":{"colors":"0.6.x"},"repository":"","author":"","license":"MIT","_id":"testify@0.1.3","dist":{"shasum":"388a9f540ed01001a8194c58ddcaaa66c15cca20","size":1960,"noattachment":false,"key":"/testify/-/testify-0.1.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/testify/download/testify-0.1.3.tgz"},"_npmVersion":"1.1.62","_npmUser":{"name":"automatthew","email":"automatthew@gmail.com"},"maintainers":[{"name":"automatthew","email":"automatthew@gmail.com"}],"directories":{},"publish_time":1357683413561,"_cnpm_publish_time":1357683413561,"_hasShrinkwrap":false},"0.1.2":{"name":"testify","version":"0.1.2","description":"simple asynchronous testing using assertions of your choice","main":"testify.coffee","files":["testify.coffee"],"dependencies":{"colors":"0.6.x"},"repository":"","author":"","license":"MIT","_id":"testify@0.1.2","dist":{"shasum":"3431decdcb0801424464b26c81aaaacb6c9d3a7a","size":1879,"noattachment":false,"key":"/testify/-/testify-0.1.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/testify/download/testify-0.1.2.tgz"},"_npmVersion":"1.1.62","_npmUser":{"name":"automatthew","email":"automatthew@gmail.com"},"maintainers":[{"name":"automatthew","email":"automatthew@gmail.com"}],"directories":{},"publish_time":1357681981752,"_cnpm_publish_time":1357681981752,"_hasShrinkwrap":false},"0.1.1":{"name":"testify","version":"0.1.1","description":"simple asynchronous testing using assertions of your choice","main":"testify.coffee","files":["testify.coffee"],"dependencies":{"colors":"0.6.x"},"repository":"","author":"","license":"MIT","_id":"testify@0.1.1","dist":{"shasum":"80209ffbd92529581a0999e551b4488178de6c07","size":1795,"noattachment":false,"key":"/testify/-/testify-0.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/testify/download/testify-0.1.1.tgz"},"_npmVersion":"1.1.62","_npmUser":{"name":"automatthew","email":"automatthew@gmail.com"},"maintainers":[{"name":"automatthew","email":"automatthew@gmail.com"}],"directories":{},"publish_time":1357668380805,"_cnpm_publish_time":1357668380805,"_hasShrinkwrap":false},"0.1.0":{"name":"testify","version":"0.1.0","description":"simple asynchronous testing using assertions of your choice","main":"testify.coffee","files":["testify.coffee"],"dependencies":{"colors":"0.6.x"},"repository":"","author":"","license":"MIT","_id":"testify@0.1.0","dist":{"shasum":"4104eb42f1e021499d421852a8cd61f1487a0c41","size":1726,"noattachment":false,"key":"/testify/-/testify-0.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/testify/download/testify-0.1.0.tgz"},"_npmVersion":"1.1.62","_npmUser":{"name":"automatthew","email":"automatthew@gmail.com"},"maintainers":[{"name":"automatthew","email":"automatthew@gmail.com"}],"directories":{},"publish_time":1351008700174,"_cnpm_publish_time":1351008700174,"_hasShrinkwrap":false}},"readme":"# Testify\n\nSimple synchronous and asynchronous testing, using the assertions of your choice.\n\nWritten (and most easily used) in CoffeeScript.\n\n## Basic usage\n\n```.coffee\n\nTestify = require \"../src/testify\"\nassert = require \"assert\"\n\nTestify.test \"straightforward synchronous testing\", (context) ->\n\n  context.test \"arithmetic\", ->\n    assert.equal (2 + 2), 4\n\n  context.test \"strings\", ->\n    assert.equal \"foo\".toUpperCase(), \"FOO\"\n\n  context.test \"error handling\", ->\n    error = new Error \"I failed.\"\n    assert.ifError(error)\n\n```\n\nOutput:\n\n![basic usage output](https://raw.github.com/automatthew/testify/documentation/doc/basic_usage.png)\n\n\n## Asynchronous usage\n\n```.coffee\n\nsome_async_call = (callback) ->\n  process.nextTick ->\n    callback null, \"pie\"\n\nanother_async_call = (input, callback) ->\n  process.nextTick ->\n    callback null, [\"bacon\", \"cheese\", \"pie\"]\n\nTestify.test \"a suite of tests\", (context) ->\n\n  # When you need to test the results of an asynchronous function,\n  # give context.test() a function that takes an argument.  You can\n  # then use that argument as a new context for nesting tests.\n  context.test \"testing something asynchronous\", (context) ->\n\n    some_async_call (error, result1) ->\n\n      # If you give context.test() a function that takes no arguments,\n      # the test is required to be synchronous, and considered to have\n      # passed if the function runs without throwing an error.\n      context.test \"result makes me happy\", ->\n        assert.ifError(error)\n        assert.equal(result1, \"pie\")\n\n      context.test \"a nested asynchronous test\", (context) ->\n\n        another_async_call result1,  (error, result2) ->\n\n          context.test \"result makes me deeply happy\", ->\n            assert.ifError(error)\n            assert.deepEqual result2, [\"bacon\", \"cheese\", \"pie\"]\n\n      context.test \"shortcut for passing an async test\", (context) ->\n        process.nextTick ->\n          # you can call context.pass() instead of using a synchronous test\n          context.pass()\n\n      context.test \"shortcut for failing an async test\", (context) ->\n        process.nextTick ->\n          context.fail(\"I just couldn't go on\")\n\n```\n\nOutput:\n\n![async usage output](https://raw.github.com/automatthew/testify/documentation/doc/async_usage.png)\n\nRun your test files with the `coffee` executable, or by requiring them, or using `bin/testify [--color]`.\n\n    coffee path/to/test.coffee\n    bin/testify -c path/to/test.coffee\n\n## Examples\n\n[Tests for Shred, an HTTP client](https://github.com/automatthew/shred/blob/master/test/shred_test.coffee)\n\nYou can also use test nesting with entirely synchronous work, as a way to structure the\ntest results:\n\n[Shred's header processing test](https://github.com/automatthew/shred/blob/master/test/headers_test.coffee)\n\n\n\n\n","_attachments":{},"homepage":"https://github.com/automatthew/testify","bugs":{"url":"https://github.com/automatthew/testify/issues"},"license":"MIT"}