{"_id":"barriertest","_rev":"36-8bdbcb37c655c419fe72860bf2e85918","name":"barriertest","description":"Promises featured test framework","dist-tags":{"latest":"0.4.1"},"versions":{"0.0.1":{"name":"barriertest","version":"0.0.1","description":"Promises featured test framework","main":"./index.js","bin":{"barrier":"./bin/barrier"},"scripts":{"test":"grunt barriercli"},"author":{"name":"Wilker Lucio","email":"wilkerlucio@gmail.com"},"license":"MIT","repository":{"type":"git","url":"git://github.com/wilkerlucio/barrier.git"},"dependencies":{"q":"~0.9.7","coffee-script":"~1.6.3","underscore":"~1.5.2","colors":"~0.6.2","commander":"~2.0.0"},"devDependencies":{"grunt":"~0.4.1","grunt-contrib-watch":"~0.5.3"},"files":["bin","lib","index.js"],"bugs":{"url":"https://github.com/wilkerlucio/barrier/issues"},"_id":"barriertest@0.0.1","dist":{"shasum":"f2a63ba077f08460e1e55b9bbf51b40dd0236615","tarball":"https://registry.npmjs.org/barriertest/-/barriertest-0.0.1.tgz","integrity":"sha512-othiz5WMVCpMKL4+hNItGTicS32DgVVsAfM/7cHgoNyMNSOgYTcBOfi6QF+7j2Rs7zN7W6MIvuwjsZbHq+8DlA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEA/6YPczES76GCr1/Rb4EO/3hYNlziFiuJ+STDKW2DwAiAdLlv/G1Uf7IkQ2D8QcgZGGH+YrARvDO6GWfjd8Ctpag=="}]},"_from":".","_npmVersion":"1.3.8","_npmUser":{"name":"wilkerlucio","email":"wilkerlucio@gmail.com"},"maintainers":[{"name":"wilkerlucio","email":"wilkerlucio@gmail.com"}],"directories":{}},"0.1.0":{"name":"barriertest","version":"0.1.0","description":"Promises featured test framework","main":"./index.js","bin":{"barrier":"./bin/barrier"},"scripts":{"test":"./bin/barrier test/**/*_test.coffee"},"author":{"name":"Wilker Lucio","email":"wilkerlucio@gmail.com"},"license":"MIT","repository":{"type":"git","url":"git://github.com/wilkerlucio/barrier.git"},"dependencies":{"q":"~0.9.7","coffee-script":"~1.6.3","underscore":"~1.5.2","colors":"~0.6.2","commander":"~2.0.0","chai":"~1.8.1"},"devDependencies":{"grunt":"~0.4.1","grunt-contrib-watch":"~0.5.3"},"files":["bin","lib","index.js"],"bugs":{"url":"https://github.com/wilkerlucio/barrier/issues"},"_id":"barriertest@0.1.0","dist":{"shasum":"f767c4da6b259f0248527feff1c490f7828a18ac","tarball":"https://registry.npmjs.org/barriertest/-/barriertest-0.1.0.tgz","integrity":"sha512-hau5hDZi8Fc3KRdpeKvJA/wME5h4pbUCz7qFjg+KXPAVgcVzFqnCEuopBCTr/IQBuKaNrJE4H7Ymd0FfK5cbzg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHzRg0tm8YtdP5Bf3KnGygdi/tDJP7h0CAWiarBJHk8cAiAAlqixP7/Z0WDJMvsTkYd/Z6rw3qpFI6u2I4+kZ4YAhw=="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"wilkerlucio","email":"wilkerlucio@gmail.com"},"maintainers":[{"name":"wilkerlucio","email":"wilkerlucio@gmail.com"}],"directories":{}},"0.1.1":{"name":"barriertest","version":"0.1.1","description":"Promises featured test framework","main":"./index.js","bin":{"barrier":"./bin/barrier"},"scripts":{"test":"./node_modules/grunt-cli/bin/grunt barriercli"},"author":{"name":"Wilker Lucio","email":"wilkerlucio@gmail.com"},"license":"MIT","repository":{"type":"git","url":"git://github.com/wilkerlucio/barrier.git"},"dependencies":{"q":"~0.9.7","coffee-script":"~1.6.3","underscore":"~1.5.2","colors":"~0.6.2","commander":"~2.0.0","chai":"~1.8.1"},"devDependencies":{"grunt":"~0.4.1","grunt-contrib-watch":"~0.5.3","grunt-cli":"~0.1.9"},"files":["bin","lib","index.js"],"bugs":{"url":"https://github.com/wilkerlucio/barrier/issues"},"_id":"barriertest@0.1.1","dist":{"shasum":"8524c2f0c7da562017f81e1da83fb94b9271add8","tarball":"https://registry.npmjs.org/barriertest/-/barriertest-0.1.1.tgz","integrity":"sha512-2wXSIeAY6yY3eySfb/xn9fvaPjrBgari5YT1yvMJtEVS5X/HET9ixypZHLW58WKx3raD63EfAh6xMi7280fd3w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCQMwnEBdFvYmmu4pVefdmF60JspYJvMjvelVMWDh/ZpQIhAL0xbtAm464FZf88MGySwI7YfmWEkSxHQZvLP8t/ZxI+"}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"wilkerlucio","email":"wilkerlucio@gmail.com"},"maintainers":[{"name":"wilkerlucio","email":"wilkerlucio@gmail.com"}],"directories":{}},"0.2.0":{"name":"barriertest","version":"0.2.0","description":"Promises featured test framework","main":"./index.js","bin":{"barrier":"./bin/barrier"},"scripts":{"test":"./node_modules/grunt-cli/bin/grunt barriercli"},"author":{"name":"Wilker Lucio","email":"wilkerlucio@gmail.com"},"license":"MIT","repository":{"type":"git","url":"git://github.com/wilkerlucio/barrier.git"},"dependencies":{"q":"~0.9.7","coffee-script":"~1.6.3","underscore":"~1.5.2","colors":"~0.6.2","commander":"~2.0.0","chai":"~1.8.1","mocha":"~1.13.0","better-stack-traces":"~1.0.0","sinon":"~1.7.3"},"devDependencies":{"grunt":"~0.4.1","grunt-contrib-watch":"~0.5.3","grunt-cli":"~0.1.9"},"files":["bin","lib","index.js"],"bugs":{"url":"https://github.com/wilkerlucio/barrier/issues"},"_id":"barriertest@0.2.0","dist":{"shasum":"3c6742cbce4d27b1fb247d11567aade4d3688f21","tarball":"https://registry.npmjs.org/barriertest/-/barriertest-0.2.0.tgz","integrity":"sha512-aLlHM56xt4C4jCgxLX4sxInsKKwiN8NpI5WGVUoheUkPFI2Hirh3TJXYET5wQSD2t5s/7djynVW5EgPGNAmPxw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCSL9x83ICBQbj+U3uI8KE2oy4UWVQxbobYgsmizLntrwIgJ/v37EGGSKlrOX9AJTJHCzsCaCxqGufd8uVkaWw+8MI="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"wilkerlucio","email":"wilkerlucio@gmail.com"},"maintainers":[{"name":"wilkerlucio","email":"wilkerlucio@gmail.com"}],"directories":{}},"0.2.1":{"name":"barriertest","version":"0.2.1","description":"Promises featured test framework","main":"./index.js","bin":{"barrier":"./bin/barrier"},"scripts":{"test":"./node_modules/grunt-cli/bin/grunt barriercli"},"author":{"name":"Wilker Lucio","email":"wilkerlucio@gmail.com"},"license":"MIT","repository":{"type":"git","url":"git://github.com/wilkerlucio/barrier.git"},"dependencies":{"q":"~0.9.7","coffee-script":"~1.6.3","underscore":"~1.5.2","colors":"~0.6.2","commander":"~2.0.0","chai":"~1.8.1","mocha":"~1.13.0","better-stack-traces":"~1.0.0","sinon":"~1.7.3"},"devDependencies":{"grunt":"~0.4.1","grunt-contrib-watch":"~0.5.3","grunt-cli":"~0.1.9"},"files":["bin","lib","index.js"],"bugs":{"url":"https://github.com/wilkerlucio/barrier/issues"},"_id":"barriertest@0.2.1","dist":{"shasum":"51b8ebfb50dc7be3e4bc3cf2d3a6d1b26e1d57a2","tarball":"https://registry.npmjs.org/barriertest/-/barriertest-0.2.1.tgz","integrity":"sha512-F4ZL4uNT70J9cj1jyxAKcz0YZLg01TFEzZ4jcHQMlY/2vlxsG5iglvLc7mhyGARArcosWzRt/VNQW6JNV4rLcg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE3J3luNMbW/AMSNOkhvA/aNgzOxCwSodrIa9oeUTL5EAiEA/diM7S+gudWbuHPIUYHR4waNO6xqKO3hqw1uUjMsXx4="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"wilkerlucio","email":"wilkerlucio@gmail.com"},"maintainers":[{"name":"wilkerlucio","email":"wilkerlucio@gmail.com"}],"directories":{}},"0.2.2":{"name":"barriertest","version":"0.2.2","description":"Promises featured test framework","main":"./index.js","bin":{"barrier":"./bin/barrier"},"scripts":{"test":"./node_modules/grunt-cli/bin/grunt barriercli"},"author":{"name":"Wilker Lucio","email":"wilkerlucio@gmail.com"},"license":"MIT","repository":{"type":"git","url":"git://github.com/wilkerlucio/barrier.git"},"dependencies":{"q":"~0.9.7","coffee-script":"~1.6.3","underscore":"~1.5.2","colors":"~0.6.2","commander":"~2.0.0","chai":"~1.8.1","mocha":"~1.13.0","better-stack-traces":"~1.0.0","sinon":"~1.7.3"},"devDependencies":{"grunt":"~0.4.1","grunt-contrib-watch":"~0.5.3","grunt-cli":"~0.1.9"},"files":["bin","lib","index.js"],"bugs":{"url":"https://github.com/wilkerlucio/barrier/issues"},"_id":"barriertest@0.2.2","dist":{"shasum":"362aecee4395463fe46bffe0bf8030347f4d1d73","tarball":"https://registry.npmjs.org/barriertest/-/barriertest-0.2.2.tgz","integrity":"sha512-uIS1RERvKpugL/BVrzBSxkjOhuW8EczWqoGH1AI8TF/rlLx7tRwMssz3ntfUPW4S3HGyW/6ue8ns6muOnMoxCA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAoUs/d2wUk/eCN341tYvvH9BsYMsMG6thPdOp2Z3+LuAiBms514UIQ1CR4OsKaG2UJ7o1GlXxY9bUtVgFUKLRKDjg=="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"wilkerlucio","email":"wilkerlucio@gmail.com"},"maintainers":[{"name":"wilkerlucio","email":"wilkerlucio@gmail.com"}],"directories":{}},"0.2.3":{"name":"barriertest","version":"0.2.3","description":"Promises featured test framework","main":"./index.js","bin":{"barrier":"./bin/barrier"},"scripts":{"test":"./node_modules/grunt-cli/bin/grunt barriercli"},"author":{"name":"Wilker Lucio","email":"wilkerlucio@gmail.com"},"license":"MIT","repository":{"type":"git","url":"git://github.com/wilkerlucio/barrier.git"},"dependencies":{"q":"~0.9.7","coffee-script":"~1.6.3","underscore":"~1.5.2","colors":"~0.6.2","commander":"~2.0.0","chai":"~1.8.1","mocha":"~1.13.0","better-stack-traces":"~1.0.0","sinon":"~1.7.3"},"devDependencies":{"grunt":"~0.4.1","grunt-contrib-watch":"~0.5.3","grunt-cli":"~0.1.9"},"files":["bin","lib","index.js"],"bugs":{"url":"https://github.com/wilkerlucio/barrier/issues"},"_id":"barriertest@0.2.3","dist":{"shasum":"32ce1ee9c00a18dbad400c5fb05969caddf3e446","tarball":"https://registry.npmjs.org/barriertest/-/barriertest-0.2.3.tgz","integrity":"sha512-U5Pz1csRyHAn9C8Nib22Ajk+T3/B52M6N4sG4OUi7zpM5uvH+sUbgolc3Z8+XHrXe4hYUqL+bhsCY2Bs2wXNtQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID57Iw+6dz0/7EQAAXElkXyj5RSStdvoyHdkZktlF1dxAiAfwMRGeFoGy1RxOAYiCO/Srpxp7noWkIC+OSjHwsmVMg=="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"wilkerlucio","email":"wilkerlucio@gmail.com"},"maintainers":[{"name":"wilkerlucio","email":"wilkerlucio@gmail.com"}],"directories":{}},"0.2.4":{"name":"barriertest","version":"0.2.4","description":"Promises featured test framework","main":"./index.js","bin":{"barrier":"./bin/barrier"},"scripts":{"test":"./node_modules/grunt-cli/bin/grunt barriercli"},"author":{"name":"Wilker Lucio","email":"wilkerlucio@gmail.com"},"license":"MIT","repository":{"type":"git","url":"git://github.com/wilkerlucio/barrier.git"},"dependencies":{"q":"~0.9.7","coffee-script":"~1.6.3","underscore":"~1.5.2","colors":"~0.6.2","commander":"~2.0.0","chai":"~1.8.1","mocha":"~1.13.0","better-stack-traces":"~1.0.0","sinon":"~1.7.3"},"devDependencies":{"grunt":"~0.4.1","grunt-contrib-watch":"~0.5.3","grunt-cli":"~0.1.9"},"files":["bin","lib","index.js"],"bugs":{"url":"https://github.com/wilkerlucio/barrier/issues"},"_id":"barriertest@0.2.4","dist":{"shasum":"9a3c2eafa750d879b8aa99b63d9a568664aa6d6e","tarball":"https://registry.npmjs.org/barriertest/-/barriertest-0.2.4.tgz","integrity":"sha512-D9xf9GDpil8ZtnSk0RTg183JQBBakVLBwMxMmRTNDXuQ8e7rFTguViHV8YFQ+aHLqWp8x0UoZ1Qmi86aCQ/Z/w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB3jIuOueGjAS60dj5MsilvQSRRfoDmYsYxo5KtdF5W5AiBSVnDLfMjZGPLy80hJ3eW1gUkQavRIYXtAsgRL8W+K3g=="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"wilkerlucio","email":"wilkerlucio@gmail.com"},"maintainers":[{"name":"wilkerlucio","email":"wilkerlucio@gmail.com"}],"directories":{}},"0.2.5":{"name":"barriertest","version":"0.2.5","description":"Promises featured test framework","main":"./index.js","bin":{"barrier":"./bin/barrier"},"scripts":{"test":"./node_modules/grunt-cli/bin/grunt barriercli"},"author":{"name":"Wilker Lucio","email":"wilkerlucio@gmail.com"},"license":"MIT","repository":{"type":"git","url":"git://github.com/wilkerlucio/barrier.git"},"dependencies":{"q":"~0.9.7","coffee-script":"~1.6.3","underscore":"~1.5.2","colors":"~0.6.2","commander":"~2.0.0","chai":"~1.8.1","mocha":"~1.13.0","better-stack-traces":"~1.0.0","sinon":"~1.7.3"},"devDependencies":{"grunt":"~0.4.1","grunt-contrib-watch":"~0.5.3","grunt-cli":"~0.1.9"},"files":["bin","lib","index.js"],"bugs":{"url":"https://github.com/wilkerlucio/barrier/issues"},"_id":"barriertest@0.2.5","dist":{"shasum":"11ee87646e62196f38d36145acbb6b90c0c841f7","tarball":"https://registry.npmjs.org/barriertest/-/barriertest-0.2.5.tgz","integrity":"sha512-kZlfWf/sxRZ0uH1flRnsI5v4HbhXtQBj2lIn+Z7i+CnVvhIHj4bCs4+IIdLUb57zv5n22hIe6AB9DUJGAENYMg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCPSCF8OY3VmUoi6xAUWJKI7oY6OHi4u50z7yRtSUYAawIhAP28Vq1lVCq8D/gqQ8iorIaE74Ep2opICe2vW7ml88Md"}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"wilkerlucio","email":"wilkerlucio@gmail.com"},"maintainers":[{"name":"wilkerlucio","email":"wilkerlucio@gmail.com"}],"directories":{}},"0.2.6":{"name":"barriertest","version":"0.2.6","description":"Promises featured test framework","main":"./index.js","bin":{"barrier":"./bin/barrier"},"scripts":{"test":"./node_modules/grunt-cli/bin/grunt barrier:ci"},"author":{"name":"Wilker Lucio","email":"wilkerlucio@gmail.com"},"license":"MIT","repository":{"type":"git","url":"git://github.com/wilkerlucio/barrier.git"},"dependencies":{"coffee-script":"~1.6.3","colors":"~0.6.2","commander":"~2.0.0","chai":"~1.8.1","mocha":"~1.13.0","sinon":"~1.7.3","when":"~2.6.0","lodash":"~2.3.0"},"devDependencies":{"grunt":"~0.4.1","grunt-contrib-watch":"~0.5.3","grunt-cli":"~0.1.9","coffeeify":"~0.5.2","better-stack-traces":"~1.0.0","grunt-shell":"~0.6.0","browserify":"~2.35.4","grunt-barrier":"~0.1.1"},"files":["bin","lib","index.js"],"bugs":{"url":"https://github.com/wilkerlucio/barrier/issues"},"_id":"barriertest@0.2.6","dist":{"shasum":"11586a8a6b65ff1cf211f98bcb1415e98162bde7","tarball":"https://registry.npmjs.org/barriertest/-/barriertest-0.2.6.tgz","integrity":"sha512-HvgAN7gu2qrz4BXLLGWyHZ2rC09WjkHFKTScvH9j1In0AMQ5VOxBiqUrx4ebw083310QhDLMnrF3FGSMeu4tRw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDwp4fzwUSYEUNUbJut4MTk2iJPBER7J8JLeXVvdSPjVgIgCffluILV6eq/ja+sjXcoPnTPySP3OIw9oCOeUzndJGA="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"wilkerlucio","email":"wilkerlucio@gmail.com"},"maintainers":[{"name":"wilkerlucio","email":"wilkerlucio@gmail.com"}],"directories":{}},"0.3.1":{"name":"barriertest","version":"0.3.1","description":"Promises featured test framework","main":"./index.js","bin":{"barrier":"./bin/barrier"},"scripts":{"test":"./node_modules/grunt-cli/bin/grunt barrier:ci"},"author":{"name":"Wilker Lucio","email":"wilkerlucio@gmail.com"},"license":"MIT","repository":{"type":"git","url":"git://github.com/wilkerlucio/barrier.git"},"dependencies":{"coffee-script":"~1.6.3","colors":"~0.6.2","commander":"~2.0.0","chai":"~1.8.1","mocha":"~1.13.0","sinon":"~1.7.3","when":"~2.6.0","lodash":"~2.3.0"},"devDependencies":{"grunt":"~0.4.1","grunt-contrib-watch":"~0.5.3","grunt-cli":"~0.1.9","coffeeify":"~0.5.2","better-stack-traces":"~1.0.0","grunt-shell":"~0.6.0","browserify":"~2.35.4","grunt-barrier":"~0.1.1"},"files":["bin","lib","index.js"],"bugs":{"url":"https://github.com/wilkerlucio/barrier/issues"},"_id":"barriertest@0.3.1","dist":{"shasum":"0097c992eb2f6801ef2dd5172428f6951d0cea37","tarball":"https://registry.npmjs.org/barriertest/-/barriertest-0.3.1.tgz","integrity":"sha512-LhzoSs9Jk+vl/nZXmcQZH8FVnBvjZOGkYRdkcPuyuoUQLiMHzSBngSH+yTnhB/K15Yt612CuDz3SHx+7SzvSPQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDtMevXYtZSZrE2IW96QGwS72HhOc0isU7d3zSwQs2MsAiEAwMHWaZ7HitxZci2QE2zEr2hKqSUo7bXXYbEHE3v8vnc="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"wilkerlucio","email":"wilkerlucio@gmail.com"},"maintainers":[{"name":"wilkerlucio","email":"wilkerlucio@gmail.com"}]},"0.4.0":{"name":"barriertest","version":"0.4.0","description":"Promises featured test framework","main":"./index.js","bin":{"barrier":"./bin/barrier"},"scripts":{"test":"./node_modules/grunt-cli/bin/grunt barrier:ci"},"author":{"name":"Wilker Lucio","email":"wilkerlucio@gmail.com"},"license":"MIT","repository":{"type":"git","url":"git://github.com/wilkerlucio/barrier.git"},"dependencies":{"coffee-script":"~1.6.3","colors":"~0.6.2","commander":"~2.0.0","chai":"~1.8.1","mocha":"~1.13.0","sinon":"~1.7.3","when":"~2.6.0","lodash":"~2.3.0"},"devDependencies":{"grunt":"~0.4.1","grunt-contrib-watch":"~0.5.3","grunt-cli":"~0.1.9","coffeeify":"~0.5.2","better-stack-traces":"~1.0.0","grunt-shell":"~0.6.0","browserify":"~2.35.4","grunt-barrier":"~0.1.1"},"files":["bin","lib","index.js"],"bugs":{"url":"https://github.com/wilkerlucio/barrier/issues"},"_id":"barriertest@0.4.0","dist":{"shasum":"8fe74841929cdb4e0931c5a761f923d6978b0318","tarball":"https://registry.npmjs.org/barriertest/-/barriertest-0.4.0.tgz","integrity":"sha512-KcATZN2d0IUacVv1wIk3xpiZ+0NwTanlk8w12AxCtwc9u7kIkltuwUtzx7vIdykMCDhqGmod6GSHyD2UBfRDCQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCWcbYGNar1ynhZOv01H4+QG0/PmwhU4KIQciBf17egmwIhAOAz5gMnhBE/VIqCdUTwMPzrhRs8ZmuvgYmfZSucPlZF"}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"wilkerlucio","email":"wilkerlucio@gmail.com"},"maintainers":[{"name":"wilkerlucio","email":"wilkerlucio@gmail.com"}]},"0.4.1":{"name":"barriertest","version":"0.4.1","description":"Promises featured test framework","main":"./index.js","bin":{"barrier":"./bin/barrier"},"scripts":{"test":"./node_modules/grunt-cli/bin/grunt barrier:ci"},"author":{"name":"Wilker Lucio","email":"wilkerlucio@gmail.com"},"license":"MIT","repository":{"type":"git","url":"git://github.com/wilkerlucio/barrier.git"},"dependencies":{"coffee-script":"~1.7.1","colors":"~0.6.2","commander":"~2.0.0","chai":"~1.8.1","mocha":"~1.13.0","sinon":"~1.7.3","when":"~2.6.0","lodash":"~2.3.0"},"devDependencies":{"grunt":"~0.4.1","grunt-contrib-watch":"~0.5.3","grunt-cli":"~0.1.9","coffeeify":"~0.5.2","better-stack-traces":"~1.0.0","grunt-shell":"~0.6.0","browserify":"~2.35.4","grunt-barrier":"~0.1.1"},"files":["bin","lib","index.js"],"bugs":{"url":"https://github.com/wilkerlucio/barrier/issues"},"_id":"barriertest@0.4.1","dist":{"shasum":"bd8bbed6b859f53f37cab98152a9450186ef29fd","tarball":"https://registry.npmjs.org/barriertest/-/barriertest-0.4.1.tgz","integrity":"sha512-mqAfhxHjHCbBFWGz0/khpu36biQUjuRjFLyQdPXs3vHwGQdWQXiTnNiysEUTTMYf8eDzKoF3bXDIIsvnqk5qog==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICSpAObR24JR06aLiTqcgG3x7J38lit58Y7+jYsAmy5nAiEA+GKrKMUqKns5GqZBcx4Xr0EuvCeivH8WS+G4E+MeCcE="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"wilkerlucio","email":"wilkerlucio@gmail.com"},"maintainers":[{"name":"wilkerlucio","email":"wilkerlucio@gmail.com"}]}},"readme":"Barrier\n=======\n\n[![Build Status](https://travis-ci.org/wilkerlucio/barrier.png?branch=master)](https://travis-ci.org/wilkerlucio/barrier)\n\nA test framework that embraces promises for real\n\nInstallation\n------------\n\n```\nnpm install barriertest\n```\n\nBasic Testing\n-------------\n\nThis part describes the regular sync tests.\n\nBarrier uses RSpec-like syntax to describe tests, and it bundles Chai as the\nassertion framework, as so:\n\n```javascript\n// Javascript\n\ndescribe(\"MyObject\", function() {\n  it(\"sums two numbers\", function() {\n    expect(sum(2, 3)).to.eq(5);\n  });\n});\n```\n\n```coffee\n# Coffeescript\n\ndescribe \"MyObject\", ->\n  it \"sums two numbers\", ->\n    expect(sum(2, 3)).to.eq(5)\n```\n\nYou can nest describe blocks as you like:\n\n```javascript\n// Javascript\n\ndescribe(\"MyObject\", function() {\n  describe(\"some internal\", function() {\n    it(\"do something\", function() {\n      expect(something()).to.eq(true);\n    });\n  });\n});\n```\n\n```coffee\n# Coffeescript\n\ndescribe \"MyObject\", ->\n  describe \"some internal\", ->\n    it \"do something\", ->\n      expect(something()).to.eq(true)\n```\n\nWe support `before`, `beforeEach`, `after` and `afterEach` clauses:\n\n```javascript\n// Javascript\n\ndescribe(\"MyObject\", function() {\n  var someVar = null;\n\n  before(function() { someVar = \"hello\"; });\n\n  it(\"must set someVar\", function() {\n    expect(someVar).to.eq(\"hello\");\n  });\n});\n```\n\n```coffee\n# Coffeescript\n\ndescribe \"MyObject\", ->\n  someVar = null\n\n  before -> someVar = \"hello\"\n\n  it \"must set someVar\", ->\n    expect(someVar).to.eq(\"hello\")\n```\n\nAlso, we support lazy blocks for dependency injection:\n\n```javascript\n// Javascript\n\ndescribe(\"MyObject\", function() {\n  lazy(\"value\", function() { return 50; });\n\n  it(\"loads the value\", function(value) {\n    expect(value).to.eq(50);\n  });\n});\n```\n\n```coffee\n# Coffeescript\n\ndescribe \"MyObject\", ->\n  lazy \"value\", -> 50\n\n  it \"loads the value\", (value) ->\n    expect(value).to.eq(50)\n```\n\nNote that the we do a reflection on the function to extract the variable name, them we lookup and build it for each test.\n\nAnd you can inject dependencies on each other:\n\n```javascript\n// Javascript\n\ndescribe(\"MyObject\", function() {\n  lazy(\"value\", function() { return 50; });\n  lazy(\"value2\", function(value) { return value + 10; });\n\n  it(\"loads the values\", function(value2) {\n    expect(value2).to.eq(60);\n  });\n});\n```\n\n```coffee\n# Coffeescript\n\ndescribe \"MyObject\", ->\n  lazy \"value\", -> 50\n  lazy \"value2\", (value) -> value + 10\n\n  it \"loads the values\", (value2) ->\n    expect(value2).to.eq(60)\n```\n\nAsync Testing\n-------------\n\nFor basic async testing, you can call `async` into the current object to make the test wait:\n\n```javascript\n// Javascript\n\ndescribe(\"Awesome\", function() {\n  return it(\"supports async testing\", function() {\n    var done = this.async();\n\n    setTimeout(function() {\n      expect(true).to.be[\"true\"]();\n      done();\n    }, 50);\n  });\n});\n```\n\n```coffee\n# Coffeescript\n\ndescribe \"Awesome\", ->\n  it \"supports async testing\", ->\n    done = @async()\n\n    setTimeout ->\n      expect(true).to.be.true()\n      done()\n    , 50\n```\n\nDespites the support on simple async testing, we really recommend you to use promises instead, as described on the next section.\n\nPromises Testing\n----------------\n\nWe recognize that there is a lot of async code into Node, and also, we recognize that promises have a great value in helping to write better async code.\n\nThat's why Barrier supports and recommends promises usage over the entire testing process.\n\nBut actually there is not much to say about the usage, because it's just transparent! You can just use promises as values and we handle the rest!\n\nCheck some examples:\n\n```javascript\n// Javascript\n\ndescribe(\"Using Promises\", function() {\n  it(\"can use promises as values on expectations\", function() {\n    expect(loadUser(30)).to.haveProperty(\"age\", fetchRemoteAge());\n  });\n});\n```\n\n```coffee\n# Coffeescript\n\ndescribe \"Using Promises\", ->\n  it \"can use promises as values on expectations\", ->\n    # imagine that loadUser and fetchRemoteAge are functions that returns\n    # promises that will eventually handle de values\n    expect(loadUser(30)).to.haveProperty(\"age\", fetchRemoteAge())\n```\n\nAlso, if your test returns a promise, the runner will wait for it:\n\n```javascript\n// Javascript\n\ndescribe(\"Delaying the runner\", function() {\n  it(\"will wait for my promise\", function() {\n    return Q(\"value\").delay(30).then(function(v) {\n      expect(v).to.eq(\"value\");\n    });\n  });\n});\n```\n\n```coffee\n# Coffeescript\n\ndescribe \"Delaying the runner\", ->\n  it \"will wait for my promise\", ->\n    Q(\"value\").delay(30).then (v) ->\n      expect(v).to.eq(\"value\") # and that's it, Barrier will do the async handling magic\n```\n\nBefore and after blocks does the same, if you return promises on they, the runner will wait before going on:\n\n```javascript\n// Javascript\n\ndescribe(\"Before promise me...\", function() {\n  var user, userDecorated;\n\n  before(function() {\n    // it's important that you return the promise here so Barrier will know\n    // that it needs to wait for it. In Coffeescript it's more transparent\n    // since Coffeescript always return the last statement\n    return loadUser().then(function(u) {\n      user = u;\n    });\n  });\n  // note that before blocks run in series, so, it's safe to expect that previous\n  // before blocks are done\n  before(function() { userDecorated = decorateUser(user); });\n\n  it(\"is awesome\", function() {\n    expect(userDecorated).to.not.be[\"null\"];\n  });\n});\n```\n\n```coffee\n# Coffeescript\n\ndescribe \"Before promise me...\", ->\n  user = null\n  userDecorated = null\n\n  before -> loadUser().then (u) -> user = u\n  # note that before blocks run in series, so, it's safe to expect that previous\n  # before blocks are done\n  before -> userDecorated = decorateUser(user)\n\n  it \"is awesome\", -> expect(userDecorated).to.not.be.null\n```\n\nBut remember about Lazy Attributes? They can be promises too!\n\n```javascript\n// Javascript\n\ndescribe(\"Lazy Promises\", function() {\n  lazy(\"user\", function() { return findUserOnDB(); });\n\n  it(\"will load the promise and inject it!\", function(user) {\n    expect(user.name).to.eq(\"sir\");\n  });\n});\n```\n\n```coffee\n# Coffeescript\n\ndescribe \"Lazy Promises\", ->\n  lazy \"user\", -> findUserOnDB()\n\n  it \"will load the promise and inject it!\", (user) ->\n    expect(user.name).to.eq(\"sir\")\n```\n\nAnd even better, you can do it while injecting lazy dependencies!\n\n```javascript\n// Javascript\n\ndescribe(\"Lazy Promises Dependencies!\", function() {\n  lazy(\"store\", function() { return createStoreOnDb(); });\n  lazy(\"user\", function(store) {\n    return createUser({store: store.id});\n  });\n\n  it(\"will load gracefully\", function(user) {\n    expect(user.store).not.null;\n  });\n});\n```\n\n```coffee\n# Coffeescript\n\ndescribe \"Lazy Promises Dependencies!\", ->\n  lazy \"store\", -> createStoreOnDb()\n  lazy \"user\", (store) -> createUser(store: store.id)\n\n  it \"will load gracefully\", (user) ->\n    expect(user.store).not.null\n```\n\nGet much more examples [here](https://github.com/wilkerlucio/barrier/blob/master/test/examples)\n\nTODO (PR's would be welcome):\n----------------------------\n\n* Separate Interface code from Suite\n* Verbose mode logging each step block\n* Isolated tests flag (for parallel testing)\n* TDD Interface\n","maintainers":[{"name":"wilkerlucio","email":"wilkerlucio@gmail.com"}],"time":{"modified":"2022-06-13T04:16:20.885Z","created":"2013-10-22T16:40:20.535Z","0.0.1":"2013-10-22T16:40:23.232Z","0.1.0":"2013-10-26T09:32:41.232Z","0.1.1":"2013-11-01T22:09:55.076Z","0.2.0":"2013-11-11T05:52:20.019Z","0.2.1":"2013-11-11T05:56:13.203Z","0.2.2":"2013-11-11T05:59:46.521Z","0.2.3":"2013-11-11T06:09:35.348Z","0.2.4":"2013-11-11T06:19:36.103Z","0.2.5":"2013-11-11T06:43:23.112Z","0.2.6":"2013-11-25T10:28:36.168Z","0.3.1":"2013-12-25T09:35:49.377Z","0.4.0":"2014-02-13T03:02:12.574Z","0.4.1":"2014-04-18T20:05:37.725Z"},"author":{"name":"Wilker Lucio","email":"wilkerlucio@gmail.com"},"repository":{"type":"git","url":"git://github.com/wilkerlucio/barrier.git"},"readmeFilename":"README.md","bugs":{"url":"https://github.com/wilkerlucio/barrier/issues"},"license":"MIT"}