{"_id":"jasminum","_rev":"50082","name":"jasminum","description":"A light, modular, promissory, isomorphic Jasmine test scaffold clone","dist-tags":{"future":"2.0.7","latest":"0.0.6"},"maintainers":[{"name":"hthetiot","email":"hthetiot@gmail.com"},{"name":"kriskowal","email":""}],"time":{"modified":"2021-06-03T10:15:20.000Z","created":"2014-02-15T01:42:48.374Z","0.0.6":"2018-03-06T21:43:16.835Z","0.0.5":"2018-03-06T21:18:07.546Z","2.0.7":"2015-04-04T03:54:06.094Z","2.0.6":"2015-01-31T08:46:45.129Z","2.0.5":"2014-05-19T19:38:05.416Z","2.0.4":"2014-05-19T03:37:20.855Z","2.0.3":"2014-05-16T19:54:16.997Z","2.0.2":"2014-05-16T18:55:59.746Z","0.0.4":"2014-03-27T20:21:11.359Z","2.0.1":"2014-03-20T19:55:48.929Z","2.0.0":"2014-03-20T01:08:41.798Z","0.0.3":"2014-03-19T23:03:30.111Z","0.0.2":"2014-03-18T04:56:06.752Z","0.0.1":"2014-03-11T18:54:32.907Z","0.0.0":"2014-02-15T01:42:48.374Z"},"users":{"hthetiot":true},"repository":{"type":"git","url":"git+https://github.com/montagejs/jasminum.git"},"versions":{"0.0.6":{"name":"jasminum","version":"0.0.6","description":"A light, modular, promissory, isomorphic Jasmine test scaffold clone","keywords":["jasmine","test","testing","bdd","promise","isomorphic"],"license":"BSD-3-Clause","main":"jasminum.js","bin":{"jasminum":"runner.js","jasminum-phantom":"phantom/runner.js"},"browser":{"./platform-reporter.js":"browser/reporter.js"},"repository":{"type":"git","url":"git+https://github.com/montagejs/jasminum.git"},"dependencies":{"collections":"5.1.2","colors":">=0.6.2 <0.7.0","glob":"^7.1.2","joey":">=1.5.3 <2.0.0","knox":">=0.8.9 <0.9.0","mr":">=17.0.11 <18.0.0","optimist":">=0.6.1 <0.7.0","q":">=1.5.1 <2.0.0","q-io":">=1.13.5 <2.0.0","qs":"^6.5.1","saucelabs":">=0.1.1 <0.2.0","url":">=0.11","util":">=0.10.3 <0.11.0","wd":"^1.6.0"},"devDependencies":{"browserify":">=3.38.1 <4.0.0"},"scripts":{"test":"node runner.js test","test:sauce":". activate.sh; node test/sauce.js","deploy":". activate.sh; node test/deploy.js"},"sauce":{"configurations":[{"browserName":"iphone","platform":"OS X 10.9","version":"7.1","device-orientation":"portrait"},{"browserName":"android","platform":"Linux","version":"4.3","device-orientation":"portrait"},{"browserName":"android","platform":"Linux","version":"4.3","device-orientation":"portrait","device-type":"tablet"},{"browserName":"internet explorer","version":10,"platform":"Windows 8"},{"browserName":"internet explorer","version":11,"platform":"Windows 8.1"},{"browserName":"firefox","version":"28","platform":"OS X 10.9"},{"browserName":"firefox","version":"28","platform":"Linux"},{"browserName":"firefox","version":28,"platform":"Windows XP"},{"browserName":"safari","version":"6","platform":"OS X 10.8"},{"browserName":"safari","version":"7","platform":"OS X 10.9"},{"browserName":"opera","version":12,"platform":"Linux"},{"browserName":"chrome","version":"30","platform":"Linux"},{"browserName":"chrome","version":"33","platform":"OS X 10.8"},{"browserName":"chrome","version":"33","platform":"OS X 10.9"}]},"gitHead":"834eda45f0315fa194d572026d6d8f446d19d7f9","bugs":{"url":"https://github.com/montagejs/jasminum/issues"},"homepage":"https://github.com/montagejs/jasminum#readme","_id":"jasminum@0.0.6","_shasum":"e581687e3d272b9f52f3a06201bac3af72bb58be","_from":".","_npmVersion":"2.15.11","_nodeVersion":"4.8.0","_npmUser":{"name":"hthetiot","email":"hthetiot@gmail.com"},"dist":{"shasum":"e581687e3d272b9f52f3a06201bac3af72bb58be","size":28524,"noattachment":false,"key":"/jasminum/-/jasminum-0.0.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/jasminum/download/jasminum-0.0.6.tgz"},"maintainers":[{"name":"hthetiot","email":"hthetiot@gmail.com"},{"name":"kriskowal","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/jasminum_0.0.6_1520372596392_0.42838455017680355"},"_hasShrinkwrap":false,"publish_time":1520372596835,"_cnpm_publish_time":1520372596835},"0.0.5":{"name":"jasminum","version":"0.0.5","description":"A light, modular, promissory, isomorphic Jasmine test scaffold clone","keywords":["jasmine","test","testing","bdd","promise","isomorphic"],"license":"BSD-3-Clause","main":"jasminum.js","bin":{"jasminum":"runner.js","jasminum-phantom":"phantom/runner.js"},"browser":{"./platform-reporter.js":"browser/reporter.js"},"repository":{"type":"git","url":"git+https://github.com/montagejs/jasminum.git"},"dependencies":{"collections":"5.1.2","colors":">=0.6.2 <0.7.0","glob":">=3.2.8 <4.0.0","joey":">=1.5.3 <2.0.0","knox":">=0.8.9 <0.9.0","mr":">=17.0.11 <18.0.0","optimist":">=0.6.1 <0.7.0","q":">=1.5.1 <2.0.0","q-io":">=1.13.5 <2.0.0","qs":"^6.5.1","saucelabs":">=0.1.1 <0.2.0","url":">=0.11","util":">=0.10.3 <0.11.0","wd":"^1.6.0"},"devDependencies":{"browserify":">=3.38.1 <4.0.0"},"scripts":{"test":"node runner.js test","test:sauce":". activate.sh; node test/sauce.js","deploy":". activate.sh; node test/deploy.js"},"sauce":{"configurations":[{"browserName":"iphone","platform":"OS X 10.9","version":"7.1","device-orientation":"portrait"},{"browserName":"android","platform":"Linux","version":"4.3","device-orientation":"portrait"},{"browserName":"android","platform":"Linux","version":"4.3","device-orientation":"portrait","device-type":"tablet"},{"browserName":"internet explorer","version":10,"platform":"Windows 8"},{"browserName":"internet explorer","version":11,"platform":"Windows 8.1"},{"browserName":"firefox","version":"28","platform":"OS X 10.9"},{"browserName":"firefox","version":"28","platform":"Linux"},{"browserName":"firefox","version":28,"platform":"Windows XP"},{"browserName":"safari","version":"6","platform":"OS X 10.8"},{"browserName":"safari","version":"7","platform":"OS X 10.9"},{"browserName":"opera","version":12,"platform":"Linux"},{"browserName":"chrome","version":"30","platform":"Linux"},{"browserName":"chrome","version":"33","platform":"OS X 10.8"},{"browserName":"chrome","version":"33","platform":"OS X 10.9"}]},"gitHead":"e3cf8852043293647cf8c959d83dc6f1ba4af90f","bugs":{"url":"https://github.com/montagejs/jasminum/issues"},"homepage":"https://github.com/montagejs/jasminum#readme","_id":"jasminum@0.0.5","_shasum":"4e8ec75eb35997554cedac42c702aca87126a6af","_from":".","_npmVersion":"2.15.11","_nodeVersion":"4.8.0","_npmUser":{"name":"hthetiot","email":"hthetiot@gmail.com"},"dist":{"shasum":"4e8ec75eb35997554cedac42c702aca87126a6af","size":28528,"noattachment":false,"key":"/jasminum/-/jasminum-0.0.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/jasminum/download/jasminum-0.0.5.tgz"},"maintainers":[{"name":"hthetiot","email":"hthetiot@gmail.com"},{"name":"kriskowal","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/jasminum_0.0.5_1520371087364_0.7899776671396648"},"_hasShrinkwrap":false,"publish_time":1520371087546,"_cnpm_publish_time":1520371087546},"2.0.7":{"name":"jasminum","version":"2.0.7","publishConfig":{"tag":"future"},"description":"A light, modular, promissory, isomorphic Jasmine test scaffold clone","keywords":["jasmine","test","testing","bdd","promise","isomorphic"],"main":"jasminum.js","bin":{"jasminum":"runner.js","jasminum-phantom":"phantom/runner.js"},"browser":{"platform-reporter":"browser/reporter"},"dependencies":{"colors":"^0.6.2","glob":"^3.2.8","joey":"^2.0.1","knox":">=0.8.9 <0.9.0","mr":"^2.0.3","optimist":"^0.6.1","pop-compare":"^1.0.0","pop-equals":"^1.0.0","pop-has":"^1.0.0","q":"^2.0.3","q-io":"^2.0.2","qs":"^0.6.6","regexp-escape":"0.0.1","saucelabs":">=0.1.1 <0.2.0","url":"^0.7.9","util":"^0.10.3","wd":">=0.2.15 <0.3.0"},"scripts":{"test":"npm run test:node && npm run test:phantom && npm run lint","test:node":"node runner.js test","test:phantom":"node phantom/runner.js test","deploy":"node scripts/deploy.js","saucelabs":"node scripts/saucelabs.js","lint":""},"directories":{"test":"test"},"devDependencies":{},"repository":{"type":"git","url":"https://github.com/montagejs/jasminum.git"},"author":{"name":"Kris Kowal","email":"kris@cixar.com"},"license":"BSD 3-Clause","bugs":{"url":"https://github.com/montagejs/jasminum/issues"},"homepage":"https://github.com/montagejs/jasminum","gitHead":"ba0b5dd04b95f0e508210c41c6d4ac16954f7f67","_id":"jasminum@2.0.7","_shasum":"71d2aecdbaefecc1ca6829be018b433b64230eff","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"kriskowal","email":"kris.kowal@cixar.com"},"maintainers":[{"name":"hthetiot","email":"hthetiot@gmail.com"},{"name":"kriskowal","email":""}],"dist":{"shasum":"71d2aecdbaefecc1ca6829be018b433b64230eff","size":29855,"noattachment":false,"key":"/jasminum/-/jasminum-2.0.7.tgz","tarball":"http://registry.cnpm.dingdandao.com/jasminum/download/jasminum-2.0.7.tgz"},"publish_time":1428119646094,"_hasShrinkwrap":false,"_cnpm_publish_time":1428119646094},"2.0.6":{"name":"jasminum","version":"2.0.6","publishConfig":{"tag":"future"},"description":"A light, modular, promissory, isomorphic Jasmine test scaffold clone","keywords":["jasmine","test","testing","bdd","promise","isomorphic"],"main":"jasminum.js","bin":{"jasminum":"runner.js","jasminum-phantom":"phantom/runner.js"},"browser":{"platform-reporter":"browser/reporter"},"dependencies":{"colors":"^0.6.2","glob":"^3.2.8","joey":"^2.0.1","knox":">=0.8.9 <0.9.0","mr":"^2.0.3","optimist":"^0.6.1","pop-compare":"^1.0.0","pop-equals":"^1.0.0","pop-has":"^1.0.0","q":"^2.0.3","q-io":"^2.0.2","qs":"^0.6.6","regexp-escape":"0.0.1","saucelabs":">=0.1.1 <0.2.0","url":"^0.7.9","util":"^0.10.3","wd":">=0.2.15 <0.3.0"},"scripts":{"test":"npm run test:node && npm run test:phantom && npm run lint","test:node":"node runner.js test","test:phantom":"node phantom/runner.js test","deploy":"node scripts/deploy.js","saucelabs":"node scripts/saucelabs.js","lint":""},"directories":{"test":"test"},"devDependencies":{},"repository":{"type":"git","url":"https://github.com/montagejs/jasminum.git"},"author":{"name":"Kris Kowal","email":"kris@cixar.com"},"license":"BSD 3-Clause","bugs":{"url":"https://github.com/montagejs/jasminum/issues"},"homepage":"https://github.com/montagejs/jasminum","gitHead":"adcc1adf8c67f8f94e2c4dd4f0d694d3cbacd167","_id":"jasminum@2.0.6","_shasum":"235d72f5e840cd67e00d662ad4c4b5a032e592c3","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"kriskowal","email":"kris.kowal@cixar.com"},"maintainers":[{"name":"hthetiot","email":"hthetiot@gmail.com"},{"name":"kriskowal","email":""}],"dist":{"shasum":"235d72f5e840cd67e00d662ad4c4b5a032e592c3","size":29827,"noattachment":false,"key":"/jasminum/-/jasminum-2.0.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/jasminum/download/jasminum-2.0.6.tgz"},"publish_time":1422694005129,"_hasShrinkwrap":false,"_cnpm_publish_time":1422694005129},"2.0.5":{"name":"jasminum","version":"2.0.5","publishConfig":{"tag":"future"},"description":"A light, modular, promissory, isomorphic Jasmine test scaffold clone","keywords":["jasmine","test","testing","bdd","promise","isomorphic"],"main":"jasminum.js","bin":{"jasminum":"runner.js","jasminum-phantom":"phantom/runner.js"},"browser":{"platform-reporter":"browser/reporter"},"dependencies":{"q":"^2.0.1","q-io":"^2.0.2","collections":"^2.0.1","mr":"^2.0.3","joey":"^2.0.1","glob":"^3.2.8","colors":"^0.6.2","optimist":"^0.6.1","qs":"^0.6.6","url":"^0.7.9","util":"^0.10.3","knox":">=0.8.9 <0.9.0","wd":">=0.2.15 <0.3.0","saucelabs":">=0.1.1 <0.2.0"},"scripts":{"test":"npm run test:node && npm run test:phantom && npm run lint","test:node":"node runner.js test","test:phantom":"node phantom/runner.js test","deploy":"node scripts/deploy.js","saucelabs":"node scripts/saucelabs.js","lint":""},"_id":"jasminum@2.0.5","dist":{"shasum":"c358c393c01962ab50294c7d280e8db090f54c17","size":29367,"noattachment":false,"key":"/jasminum/-/jasminum-2.0.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/jasminum/download/jasminum-2.0.5.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"kriskowal","email":"kris.kowal@cixar.com"},"maintainers":[{"name":"hthetiot","email":"hthetiot@gmail.com"},{"name":"kriskowal","email":""}],"directories":{},"publish_time":1400528285416,"_cnpm_publish_time":1400528285416,"_hasShrinkwrap":false},"2.0.4":{"name":"jasminum","version":"2.0.4","publishConfig":{"tag":"future"},"description":"A light, modular, promissory, isomorphic Jasmine test scaffold clone","keywords":["jasmine","test","testing","bdd","promise","isomorphic"],"main":"jasminum.js","bin":{"jasminum":"runner.js","jasminum-phantom":"phantom/runner.js"},"browser":{"platform-reporter":"browser/reporter"},"dependencies":{"q":"^2.0.1","q-io":"^2.0.2","collections":"^2.0.1","mr":"^2.0.1","joey":"^2.0.1","glob":"^3.2.8","colors":"^0.6.2","optimist":"^0.6.1","qs":"^0.6.6","url":"^0.7.9","util":"^0.10.3"},"scripts":{"test":"node runner.js test && node phantom/runner.js test"},"_id":"jasminum@2.0.4","dist":{"shasum":"cc40cfa9363dfe6c1ca15e8b6dfa620f47fc8dc8","size":22601,"noattachment":false,"key":"/jasminum/-/jasminum-2.0.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/jasminum/download/jasminum-2.0.4.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"kriskowal","email":"kris.kowal@cixar.com"},"maintainers":[{"name":"hthetiot","email":"hthetiot@gmail.com"},{"name":"kriskowal","email":""}],"directories":{},"publish_time":1400470640855,"_cnpm_publish_time":1400470640855,"_hasShrinkwrap":false},"2.0.3":{"name":"jasminum","version":"2.0.3","publishConfig":{"tag":"future"},"description":"A light, modular, promissory, isomorphic Jasmine test scaffold clone","keywords":["jasmine","test","testing","bdd","promise","isomorphic"],"main":"jasminum.js","bin":{"jasminum":"runner.js","jasminum-phantom":"phantom/runner.js"},"browser":{"platform-reporter":"browser/reporter"},"dependencies":{"q":"^2.0.1","q-io":"^2.0.2","collections":"^2.0.1","mr":"^2.0.1","joey":"^2.0.1","glob":"^3.2.8","colors":"^0.6.2","optimist":"^0.6.1","qs":"^0.6.6","url":"^0.7.9","util":"^0.10.3"},"scripts":{"test":"node runner.js test && node phantom/runner.js test"},"_id":"jasminum@2.0.3","dist":{"shasum":"7beb086385e2b0fd34a36d770fc406fb35b5934b","size":22834,"noattachment":false,"key":"/jasminum/-/jasminum-2.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/jasminum/download/jasminum-2.0.3.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"kriskowal","email":"kris.kowal@cixar.com"},"maintainers":[{"name":"hthetiot","email":"hthetiot@gmail.com"},{"name":"kriskowal","email":""}],"directories":{},"publish_time":1400270056997,"_cnpm_publish_time":1400270056997,"_hasShrinkwrap":false},"2.0.2":{"name":"jasminum","version":"2.0.2","publishConfig":{"tag":"future"},"description":"A light, modular, promissory, isomorphic Jasmine test scaffold clone","keywords":["jasmine","test","testing","bdd","promise","isomorphic"],"main":"jasminum.js","bin":{"jasminum":"runner.js","jasminum-phantom":"phantom/runner.js"},"browser":{"platform-reporter":"browser/reporter"},"dependencies":{"q":"^2.0.1","q-io":"^2.0.2","collections":"^2.0.1","mr":"^2.0.1","joey":"^2.0.1","glob":"^3.2.8","colors":"^0.6.2","optimist":"^0.6.1","qs":"^0.6.6","url":"^0.7.9","util":"^0.10.3"},"scripts":{"test":"node runner.js test && node phantom/runner.js test"},"_id":"jasminum@2.0.2","dist":{"shasum":"721ac6efb1f0fc04a4e9f805788a6acf27bead4a","size":22677,"noattachment":false,"key":"/jasminum/-/jasminum-2.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/jasminum/download/jasminum-2.0.2.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"kriskowal","email":"kris.kowal@cixar.com"},"maintainers":[{"name":"hthetiot","email":"hthetiot@gmail.com"},{"name":"kriskowal","email":""}],"directories":{},"publish_time":1400266559746,"_cnpm_publish_time":1400266559746,"_hasShrinkwrap":false},"0.0.4":{"name":"jasminum","version":"0.0.4","description":"A light, modular, promissory, isomorphic Jasmine test scaffold clone","keywords":["jasmine","test","testing","bdd","promise","isomorphic"],"main":"jasminum.js","bin":{"jasminum":"runner.js","jasminum-phantom":"phantom/runner.js"},"browser":{"platform-reporter":"browser/reporter"},"dependencies":{"q":"^1.0.0","q-io":"^1.11.0","collections":"^1.0.2","glob":"^3.2.8","colors":"^0.6.2","optimist":"^0.6.1","qs":"^0.6.6","mr":"^0.15.4","joey":"^1.5.1","url":"^0.7.9","util":"^0.10.3"},"scripts":{"test":"node runner.js test"},"_id":"jasminum@0.0.4","dist":{"shasum":"4d69399d19c6ea385440ac24b28897abedeb6dea","size":21423,"noattachment":false,"key":"/jasminum/-/jasminum-0.0.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/jasminum/download/jasminum-0.0.4.tgz"},"_from":".","_npmVersion":"1.4.4","_npmUser":{"name":"kriskowal","email":"kris.kowal@cixar.com"},"maintainers":[{"name":"hthetiot","email":"hthetiot@gmail.com"},{"name":"kriskowal","email":""}],"directories":{},"publish_time":1395951671359,"_hasShrinkwrap":false,"_cnpm_publish_time":1395951671359},"2.0.1":{"name":"jasminum","version":"2.0.1","description":"A light, modular, promissory, isomorphic Jasmine test scaffold clone","keywords":["jasmine","test","testing","bdd","promise","isomorphic"],"main":"jasminum.js","bin":{"jasminum":"runner.js","jasminum-phantom":"phantom/runner.js"},"browser":{"platform-reporter":"browser/reporter"},"dependencies":{"q":"^2.0.1","collections":"^2.0.1","mr":"^2.0.1","joey":"^2.0.1","glob":"^3.2.8","colors":"^0.6.2","optimist":"^0.6.1","qs":"^0.6.6","url":"^0.7.9","util":"^0.10.3"},"scripts":{"test":"node runner.js test && node phantom/runner.js test"},"_id":"jasminum@2.0.1","dist":{"shasum":"4be7290e4ceb3e17f2f2a61b8cd48723ea42a3d3","size":21436,"noattachment":false,"key":"/jasminum/-/jasminum-2.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/jasminum/download/jasminum-2.0.1.tgz"},"_from":".","_npmVersion":"1.4.4","_npmUser":{"name":"kriskowal","email":"kris.kowal@cixar.com"},"maintainers":[{"name":"hthetiot","email":"hthetiot@gmail.com"},{"name":"kriskowal","email":""}],"directories":{},"publish_time":1395345348929,"_hasShrinkwrap":false,"_cnpm_publish_time":1395345348929},"2.0.0":{"name":"jasminum","version":"2.0.0","description":"A light, modular, promissory, isomorphic Jasmine test scaffold clone","keywords":["jasmine","test","testing","bdd","promise","isomorphic"],"main":"jasminum.js","bin":{"jasminum":"runner.js","jasminum-phantom":"phantom/runner.js"},"browser":{"platform-reporter":"browser/reporter"},"dependencies":{"q":"^2.0.0","collections":"^2.0.0","mr":"^2.0.0","joey":"^2.0.0","glob":"^3.2.8","colors":"^0.6.2","optimist":"^0.6.1","qs":"^0.6.6","url":"^0.7.9","util":"^0.10.3"},"scripts":{"test":"node runner.js test && node phantom/runner.js test"},"_id":"jasminum@2.0.0","dist":{"shasum":"16f47c4012a3dd1fcc050eb7ef788323e62e5e79","size":20908,"noattachment":false,"key":"/jasminum/-/jasminum-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/jasminum/download/jasminum-2.0.0.tgz"},"_from":".","_npmVersion":"1.4.4","_npmUser":{"name":"kriskowal","email":"kris.kowal@cixar.com"},"maintainers":[{"name":"hthetiot","email":"hthetiot@gmail.com"},{"name":"kriskowal","email":""}],"directories":{},"publish_time":1395277721798,"_hasShrinkwrap":false,"_cnpm_publish_time":1395277721798},"0.0.3":{"name":"jasminum","version":"0.0.3","description":"A light, modular, promissory, isomorphic Jasmine test scaffold clone","keywords":["jasmine","test","testing","bdd","promise","isomorphic"],"main":"jasminum.js","bin":{"jasminum":"runner.js","jasminum-phantom":"phantom/runner.js"},"browser":{"platform-reporter":"browser/reporter"},"dependencies":{"q":"^1.0.0","q-io":"^1.11.0","collections":"^1.0.2","glob":"^3.2.8","colors":"^0.6.2","optimist":"^0.6.1","qs":"^0.6.6","mr":"^0.15.4","joey":"^1.5.1","url":"^0.7.9","util":"^0.10.3"},"scripts":{"test":"node runner.js test && node phantom/runner.js test"},"_id":"jasminum@0.0.3","dist":{"shasum":"cb77de24dabbc323b4983162e16fee447c1bb87c","size":20797,"noattachment":false,"key":"/jasminum/-/jasminum-0.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/jasminum/download/jasminum-0.0.3.tgz"},"_from":".","_npmVersion":"1.4.4","_npmUser":{"name":"kriskowal","email":"kris.kowal@cixar.com"},"maintainers":[{"name":"hthetiot","email":"hthetiot@gmail.com"},{"name":"kriskowal","email":""}],"directories":{},"publish_time":1395270210111,"_hasShrinkwrap":false,"_cnpm_publish_time":1395270210111},"0.0.2":{"name":"jasminum","version":"0.0.2","description":"A light, modular, promissory, isomorphic Jasmine test scaffold clone","keywords":["jasmine","test","testing","bdd","promise","isomorphic"],"main":"jasminum.js","bin":{"jasminum":"runner.js","jasminum-phantom":"phantom/runner.js"},"browser":{"platform-reporter":"browser/reporter"},"dependencies":{"q":"^1.0.0","collections":"^1.0.1","glob":"^3.2.8","colors":"^0.6.2","optimist":"^0.6.1","qs":"^0.6.6","mr":"^0.15.4","joey":"^1.5.1","url":"^0.7.9","util":"^0.10.3"},"scripts":{"test":"node runner.js test && node phantom/runner.js test"},"_id":"jasminum@0.0.2","dist":{"shasum":"377fb706588dd114a37d939bfeeeb9f42139c2af","size":18499,"noattachment":false,"key":"/jasminum/-/jasminum-0.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/jasminum/download/jasminum-0.0.2.tgz"},"_from":".","_npmVersion":"1.4.4","_npmUser":{"name":"kriskowal","email":"kris.kowal@cixar.com"},"maintainers":[{"name":"hthetiot","email":"hthetiot@gmail.com"},{"name":"kriskowal","email":""}],"directories":{},"publish_time":1395118566752,"_hasShrinkwrap":false,"_cnpm_publish_time":1395118566752},"0.0.1":{"name":"jasminum","version":"0.0.1","description":"A light, modular, promissory, isomorphic Jasmine test scaffold clone","keywords":["jasmine","test","testing","bdd","promise","isomorphic"],"main":"jasminum.js","bin":{"jasminum":"runner.js","jasminum-phantom":"phantom/runner.js"},"browser":{"reporter":"browser/reporter"},"dependencies":{"q":"~1.0.0","collections":"~1.0.1","glob":"~3.2.8","colors":"~0.6.2","optimist":"~0.6.1","qs":"~0.6.6","mr":"~0.15.4","joey":"~1.5.1","url":"~0.7.9"},"scripts":{"test":"node runner.js test/jasmine-test.js","test:phantom":"node phantom/runner.js test/jasmine-test.js"},"_id":"jasminum@0.0.1","dist":{"shasum":"da09b01e7d0987c600f8aa432049c0d84d8e0187","size":17241,"noattachment":false,"key":"/jasminum/-/jasminum-0.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/jasminum/download/jasminum-0.0.1.tgz"},"_from":".","_npmVersion":"1.4.4","_npmUser":{"name":"kriskowal","email":"kris.kowal@cixar.com"},"maintainers":[{"name":"hthetiot","email":"hthetiot@gmail.com"},{"name":"kriskowal","email":""}],"directories":{},"publish_time":1394564072907,"_hasShrinkwrap":false,"_cnpm_publish_time":1394564072907},"0.0.0":{"name":"jasminum","version":"0.0.0","description":"A light, modular, promissory, isomorphic Jasmine test scaffold clone","keywords":["jasmine","test","testing","bdd","promise","isomorphic"],"main":"jasminum.js","bin":{"jasminum":"./node-runner"},"browser":{"reporter":"browser-reporter"},"dependencies":{"q":"~2.0","collections":"~2.0","glob":"~3.2.8","colors":"~0.6.2","optimist":"~0.6.1"},"scripts":{"test":"node test/index.js"},"devDependencies":{"mr":"~2.0"},"_id":"jasminum@0.0.0","dist":{"shasum":"c6f0c1be87449e6e0adf897890812f4debfb2e89","size":15200,"noattachment":false,"key":"/jasminum/-/jasminum-0.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/jasminum/download/jasminum-0.0.0.tgz"},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"kriskowal","email":"kris.kowal@cixar.com"},"maintainers":[{"name":"hthetiot","email":"hthetiot@gmail.com"},{"name":"kriskowal","email":""}],"directories":{},"publish_time":1392428568374,"_hasShrinkwrap":false,"_cnpm_publish_time":1392428568374}},"readme":"# Jasminum\n\n[![npm version](https://img.shields.io/npm/v/jasminum.svg?style=flat)](https://www.npmjs.com/package/jasminum)\n\n[![Build Status](https://travis-ci.org/montagejs/jasminum.svg?branch=master)](http://travis-ci.org/montagejs/jasminum)\n\n\n> *“Jasmine (taxonomic name Jasminum /ˈdʒæzmɨnəm/) is a genus of shrubs and\n> vines in the olive family (Oleaceae)”*\n> &mdash;&nbsp;[Wikipedia](http://en.wikipedia.org/wiki/Jasmine)\n\nJasminum is a JavaScript testing scaffold. Jasminum is designed to accept\n[Jasmine 1.3][] “specs” with very little modification. However, it has a minimal\nbut modular and extensible core, supports and uses promises for asynchronous\ntests, and has an “isomorphic” API, meaning Jasminum tests can be run without\nmodification between Node.js and browsers using CommonJS module loaders\nincluding [Browserify][], [Mr][], or [Mop][].\n\n[Jasmine 1.3]: https://jasmine.github.io/\n[Browserify]: https://github.com/substack/node-browserify \n[Mr]: https://github.com/montagejs/mr\n[Mop]: https://github.com/montagejs/mop\n\nJasminum is built for debugging and isolation, not merely a regression\ntrip-wire. Instead of trying to patch the universe so that all context gets\nfunneled into pretty reports, Jasminum reports to the console. You do not need\nto isolate which test was running when that message got dumped to the console.\nJasminum includes reporters for Node.js, PhantomJS, and browser based tests. The\nreporter only highlights lines of interest. It highlights the spec in stack\ntraces. The test summary only shows green if all tests pass. The test summary\nonly shows red if any tests fail. The test summary only highlights skipped tests\nif there were any.\n\nFirst, write a test.\n\n```js\n// test/my-test.js\ndescribe(\"my library\", function () {\n    it(\"should work\", function () {\n        expect(10).toBeLessThan(20);\n    });\n});\n```\n\nYou can install the `jasminum` command using `npm`. I recommend installing\nJasminum in your project so the version gets saved in your `package.json` and so\nyou can use different versions in your various projects.\n\n```\n❯ npm install jasminum --save-dev\n```\n\nOr, if necessary, install globally.\n\n```\n❯ [sudo] npm install jasminum -g\n```\n\nUse `jasminum` to run your test. `jasminum` will run all test files specified,\nor all `*-test.js` and `*-spec.js` files within each specified directory.\n\n```\n❯ jasminum test\n1 tests passed\n1 assertions passed\n0 tests failed\n0 assertions failed\n0 errors\n0 tests skipped\n```\n\nThe results will be colored to draw your attention either to passed, failed, or\nskipped tests depending on the situation. You can use `iit` and `ddescribe` to\nfocus on certain tests, skipping all others. You can use `xit` and `xdescribe`\nto skip certain tests.\n\nYou can use the `-f` command line flag to only show information about failed\ntests. Because the test runner does not know whether to show the name of the\ntest until it fails, test names, and all of their parent suite names, will be\nlogged *after* the test fails instead of before. Arrows draw your attention to\nthis nuance.\n\nWith [PhantomJS] installed, Jasminum can run the same tests in the PhantomJS\nheadless browser. The interface and reports are identical.\n\n```\n❯ jasminum-phantom test\n1 tests passed\n1 assertions passed\n0 tests failed\n0 assertions failed\n0 errors\n0 tests skipped\n```\n\n[PhantomJS]: http://phantomjs.org/\n\nYou can create an “isomorphic” test runner that you can use to run tests in\nNode.js directly, or using a browser module loader, or to measure test coverage.\n\n```js\n// test/index.js\nvar Suite = require(\"jasminum\");\nnew Suite(\"my tests\").describe(function () {\n    require(\"./my-test\");\n}).runAndReport().done();\n```\n\nCreate a test script in your `package.json`:\n\n```json\n{\n    \"scripts\": {\n        \"test\": \"node test/index.js\"\n    }\n}\n```\n\nNow, `npm test` will run your tests.\n\nTo run the same tests in a web browser, use `npm install mr@~0.13.3 --save-dev`\nand use the following HTML test scaffold.\n\n```html\n<!-- test/index.html -->\n<!DOCTYPE html>\n<html>\n    <head>\n        <meta charset=\"utf-8\">\n        <link rel=\"stylesheet\" type=\"text/css\"\n            href=\"../node_modules/jasminum/jasminum.css\">\n        <script\n            src=\"../node_modules/mr/bootstrap.js\" data-package=\"..\"\n            data-module=\"test/index\"></script>\n    </head>\n    <body>\n    </body>\n</html>\n```\n\nThe page under test will be blank. You can use this space as a stage for your\ntests. The test runner reports directly to your web inspector console. It will\nchange the background color to grey while tests are running, red when the first\ntest fails, or green if all tests complete without any failures.\n\nTo get test coverage measurements, use `npm install istanbul@~0.2.4 --save-dev`\nand `npm install opener --save-dev` and add a script to your `package.json`.\nThis will cause `npm run cover` to run coverage and display the results.\n\n```json\n{\n    \"devDependencies\": {\n        \"jasminum\": \"~1.0\",\n        \"mr\": \"~0.13.3\",\n        \"istanbul\": \"~0.2.4\",\n        \"opener\": \"*\"\n    },\n    \"scripts\": {\n        \"test\": \"jasminum test\",\n        \"test:phantom\": \"jasminum-phantom test\",\n        \"cover\": \"istanbul cover test/index.js && istanbul report html && opener coverage/index.html\"\n    }\n}\n```\n\n## Promissory\n\nJasminum supports asynchronous tests that either use a `done` callback or\n*return* a promise.\n\n```js\ndescribe(\"an asynchronous task\", function () {\n    it(\"waits for one second using done\", function (done) {\n        setTimeout(done, 1000);\n    });\n    it(\"waits for one second using a promise\", function () {\n        return Q().delay(1000);\n    });\n});\n```\n\nIf a test returns a promise, it is expected to be fulfilled with `undefined`.\n\nJasminum does not support `runs` or `waitsFor`.\n\n## Modular\n\nAt time of writing, Jasminum weighs less than a KLOC. This is largely because \nit delegates large responsibilities to [Montage Collections][] and the [Q][]\npromise library.\n\n[Montage Collections]: https://github.com/montagejs/collections\n[Q]: https://github.com/kriskowal/q\n\nJasminum is loosely coupled to Q. You can substitute any promise library that\nsupports a `Promise` constructor and a `Promise.resolve` method, per\nECMAScript 6. Create a constructor that inherits from Jasminum’s `Suite` and\noverride its `Promise` property, or just pass `Promise` as an option to\n`suite.runAndReport(options)`.\n\nThe Collections library establishes foundations that Jasminum employs for\ncomparing values, particularly polymorphic `Object.equals`, `Object.compare`,\nand `Object.has` operators, as well as the non-polymorphic `Object.is` operator.\nThese do not behave exactly the same way as Jasmine, but are designed with\nextensibility in mind both within and beyond testing. Partcularly, “any” objects\nsimply override their “equals” method to recognize any object of the same type\nas equivalent.\n\n## “Isomorphic”\n\n> *“The scare quotes will come off when I say they come off.”*\n> &mdash;&nbsp;[Math](http://en.wikipedia.org/wiki/Isomorphism)\n\nJasminum supports an “isomorphic” test runner. The following test can be run in\nNode.js with `node test/index.js`\n\n```js\n// test/index.js\nvar Suite = require(\"jasminum\");\nvar suite = new Suite(\"Q\").describe(function () {\n    require(\"./q\");\n    require(\"./eta\");\n    require(\"./traces\");\n    require(\"./never-again\");\n    require(\"./node\");\n    require(\"./queue\");\n});\nsuite.runAndReport().done();\n```\n\nIt can also be run with [Mr][] with no modification.\n\n```html\n<!-- test/index.html -->\n<!DOCTYPE html>\n<html>\n    <head>\n        <meta charset=\"utf-8\">\n        <link rel=\"stylesheet\" type=\"text/css\"\n            href=\"../node_modules/jasminum/jasminum.css\">\n        <script\n            src=\"../node_modules/mr/boot.js\" data-package=\"..\"\n            data-module=\"test/index\"></script>\n    </head>\n    <body>\n    </body>\n</html>\n```\n\n## Debuggable\n\nThe default test reporter for Node.js and for browsers are designed with\ndebugging in mind. Either way, all results are reported to the console as they\nare executed. The scaffold logs messages between tests to assist in isolating\nproblems. Jasminum does not use clever techniques to capture or interfere with\nstandard output and console messages. In the browser, the inspected window is\nleft as a stage for the application under test and the test runner will only\nfiddle with the `testing`, `pass`, and `fail` classes of the `body` element.\n\nIn addition to `describe` and `it`, Jasmine and Jasminum both support `xdescribe`\nand `xit` to quickly or temporarily disable a test. In addition, Jasminum\n[supports][iidd] `ddescribe` and `iit` that will cause the test runner to focus\non the annotated suites or tests.\n\n[iidd]: https://github.com/jasmine/jasmine/pull/181\n\n## Light\n\nJasminum only runs in CommonJS module loaders.\n\nJasminum will not include a mock clock. Please seek refuge in `npm`.\n\nJasminum does not attempt to capture errors in the “domain” of a test. Promises\nwill usually funnel exceptions into the test scaffold, but if you throw an error\nfrom a timeout event, or any other kind of event, Jasminum will stop exactly\nwhere the problem occurred.\n\nJasminum does not redirect standard IO or console messages to the test reporter.\nJasminum instead elects to direct its reports to the console and standard IO so\nthat it interleaves the chronology of your program.\n\nJasminum only provides reporters for Node.js and console browsing.\n\nJasminum does not automatically run tests whenever tests or their dependencies\nchange, but such a contraption is easy to imagine based on the dependency graph\nthat [Mr][] can produce.\n\nJasminum provides Jasmine 1.3 spies to ease migration. However, please migrate\nto an external spy package like [Sinon][] for spies. Jasmine spies will be\nremoved in a future release.\n\n[Sinon]: http://sinonjs.org/\n\n## Extensible\n\nJasminum compensates for its minimalism with extensibility.\n\nBy way of background, the DSL provides a few extra methods. `getCurrentSuite`\nreturns the suite instance for the containing `describe` block, both at\ndeclaration time and at test time. `getCurrentTest` returns the current test\ninstances at test time, and `getCurrentReport` returns the current report at\ntest time. There is no current test or report at declaration time.\n\nJasminum also supports corresponding `set` methods, but these are intended only\nfor the use of the test runner.\n\n### Expectations\n\nJasminum expectations can be extended in a variety of ways.\n\nThe current suite will always have an `Expectation` property, that the suite\nwill use to construct expectation instances when the test calls `expect`. Each\nnested suite, in a `describe` block, will have a prototypically inherited child\nof the parent `Expectation` constructor to isolate any extensions to the\nexpectation.\n\nThe simplest is to provide overrides for existing expectation methods. Any\nobject can implement `equals` or `compare`, which will affect the behavior of\n`toEqual`, `toBeLessThan`, `toBeGreaterThan`, `toBeNear` and `toBeCloseTo`.\nLook into [Montage Collections][] for details about these generic methods.\n\nYou can create custom expectation constructors. The Jasminum `Expecatation`\nconstructor provides an `assert` method that makes most expectations\nimplementable with a single call to this utility method. It handles the case\nwhere the expectation has been negated and gives the reporter great flexibility\nin rendering the involved objects and negating the messages.\n\n```js\nfunction FunnyExpectation(value, report, test) {\n    Expectation.call(this, value, report, test);\n    // Also sets up the .not.isNot = true, .not.not = this stuff\n};\n\nFunnyExpectation.prototype = Object.create(Expectation.prototype);\nFunnyExpectation.prototype.constructor = FunnyExpectation;\n\nFunnyExpectation.prototype.toBeFunny = function () {\n    var isFunny = this.value.isFunny();\n    this.assert(isFunny, [\"expected\", \"[not] to be funny\"], [this.value]);\n};\n```\n\nAny value can implement `expect(report)` and return a custom expectation for\nthat object. `expect(value)` will delegate to `value.expect(getCurrentReport())`\nand return your custom expectation object. This is best illustrated by the `spy`\nand `spy-expectation` modules which use this facility to provide special methods\nfor spies.\n\n```js\nfunction Clown(funny, scary) {\n    this.funny = funny;\n    this.scary = scary;\n}\n\nClown.prototype.expect = function (report) {\n    return new FunnyExpectation(this, report);\n};\n```\n\nAlso, every suite has a specialized copy of the `Expectation` type from its\nparent suite. Methods can be added to the `Expectation.prototype` or the\n`Expectation` constructor can be replaced outright and the change will only\napply in the current scope.\n\n```js\nvar Expectation = require(\"jasminum/expectation\");\ndescribe(\"funny objects\", function () {\n\n    getCurrentSuite().Expectation = FunnyExpecation;\n\n    it(\"are funny\", function () {\n        expect(new ClownShoes()).toBeFunny();\n        expect(new Clown()).not.toBeFunny();\n    });\n\n});\n```\n\n### Reporter\n\nJasminum provides a console reporter that is suitable for tests run by Node.js,\nor tests run through PhantomJS and forwarded to the Node.js console. It also\nprovides a reporter suitable for running tests in an arbitrary browser,\nreporting results to the browser console.\n\nHowever, tests can be run with an arbitrary reporter. The Suite `runAndReport`\nand `runAndReportSync` methods both accept an `options` object which may include\neither a `report` or `Reporter` constructor. If neither are provided, it falls\nback to calling the `Reporter` on its prototype chain, so Suites can be extended\nto have an alternate default reporter. The Suite shares the run-and-report\n`options` with the reporter constructor.\n\nThe Reporter must implement:\n\n-   `start(test) -> reporter`: returns a nested reporter instance for the given\n    test.\n-   `end(test)`: concludes a test. This is a good point to check whether any\n    assertions have failed and to calculate and propagate the test’s statistics.\n-   `skip(test)`: notes that the test has been skipped. `end` will still be\n    called.\n-   `error(error, test)`: notes that an error was thrown while running the test,\n    albeit in a promise handler. `end` will still be called.\n-   `assert(guard, isNot, messages, objects)`: reports on an assertion.\n\nThe guard may be a truthy or falsy value, but will be either exactly `true` or\n`false`. `isNot` indicates that the assertion is negative, so the `guard` has\nthe opposite meaning, and if any of the `messages` contain the phrase `\"\n[not]\"`, these must be replaced with `\" not\"`. Otherwise, these phrases must be\nreplaced with an empty string. The objects are intended to be interleaved after\nthe corresponding message and there may be more messages than objects, or more\nobjects than messages.\n\nThe Reporter *may* implement:\n\n-   `enter()`\n-   `exit(exiting)`\n\nThe suite runner will call `enter` once before running tests, and `exit` once\nafter running all tests. If the tests are exiting prematurely, the `exiting`\nflag will be true, in which case, it would be innapropriate to call\n`process.exit` because doing so would prevent Node.js from printing an uncaught\nexception to the console.\n\n### Suite, Test\n\nThe `Suite` constructor can be extended. The `Suite` is not hard-coded to use\nthe basic `Test`, `Expectation`, and `Reporter` constructors. Specialized\nexpectations and tests can be overridden on the `Suite.prototype`.\n\nJasminum provides a `reporter` module with an alternate `browser-reporter`\nimplementation that will be used in place of `reporter` automatically if it is\nloaded by Browserify, Mr, or Mop.\n\n","_attachments":{},"homepage":"https://github.com/montagejs/jasminum#readme","bugs":{"url":"https://github.com/montagejs/jasminum/issues"},"license":"BSD-3-Clause"}