{"_id":"mocket","_rev":"43-0222eab0b7700389afc4fc81fc56608a","name":"mocket","description":"Mocking library for node.js, in the spirit of Mockito","dist-tags":{"latest":"0.1.13"},"versions":{"0.0.1":{"author":{"name":"David Harvey","email":"david@teamsandtechnology.com","url":"http://www.teamsandtechnology.com"},"name":"mocket","description":"Mocking library for node.js, in the spirit of Mockito","version":"0.0.1","homepage":"https://github.com/davethehat/mocket","repository":{"url":"git@github.com:davethehat/Mocket.gits"},"main":"mocket.js","scripts":{"test":"expresso test/test.js"},"engine":{"node":">=v0.4.8"},"_npmJsonOpts":{"file":"/home/user/.npm/mocket/0.0.1/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"mocket@0.0.1","dependencies":{},"devDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.25","_nodeVersion":"v0.4.8","_defaultsLoaded":true,"dist":{"shasum":"61857205e579595c5e853537c52b70b254cc2985","tarball":"https://registry.npmjs.org/mocket/-/mocket-0.0.1.tgz","integrity":"sha512-rgggq5Jo11YDJB/cz7TSzrCafjH9qStWTqZnCnePL7P+TjrGBhjloI0WTbqZ9Rp1Yh7KRioJ75fHXAqlPC/2+A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC490y+uRV7S2iUzAiq3WgHNol3qLu+PlxSuL0bu7CMOwIhAKOLBvWJr43s8RP+ysIDWYui0q81zjaXUsmlHTLCwbFI"}]},"maintainers":[{"name":"davethehat","email":"david@teamsandtchnology.com"}]},"0.0.2":{"author":{"name":"David Harvey","email":"david@teamsandtechnology.com","url":"http://www.teamsandtechnology.com"},"name":"mocket","description":"Mocking library for node.js, in the spirit of Mockito","version":"0.0.2","homepage":"https://github.com/davethehat/mocket","repository":{"url":"git@github.com:davethehat/Mocket.gits"},"main":"mocket.js","scripts":{"test":"expresso test/test.js"},"engine":{"node":">=v0.4.8"},"_npmJsonOpts":{"file":"/home/user/.npm/mocket/0.0.2/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"mocket@0.0.2","dependencies":{},"devDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.25","_nodeVersion":"v0.4.8","_defaultsLoaded":true,"dist":{"shasum":"809ef9c93634e61a35f74c52f3c7947822bd796c","tarball":"https://registry.npmjs.org/mocket/-/mocket-0.0.2.tgz","integrity":"sha512-QJWxbaMiQRc1BjyleLxq2lxg0olB6TBmRUpODL/ib1P2dLDbA+HB4/Sze9oY2XsyU0C7e/YFEWKRahyejc5qiA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCsUk5GEC5GhgZL9uN+3VvQKDErr5Homvcvv1GeDlpBSwIhAOcABPmxQoqeQcgoPIsaO1CdUui7QhXtfXydWUlMOQzr"}]},"maintainers":[{"name":"davethehat","email":"david@teamsandtchnology.com"}]},"0.0.3":{"author":{"name":"David Harvey","email":"david@teamsandtechnology.com","url":"http://www.teamsandtechnology.com"},"name":"mocket","description":"Mocking library for node.js, in the spirit of Mockito","version":"0.0.3","homepage":"https://github.com/davethehat/mocket","repository":{"url":"git@github.com:davethehat/Mocket.git"},"main":"mocket.js","scripts":{"test":"expresso test/test.js"},"engine":{"node":">=v0.4.8"},"_npmJsonOpts":{"file":"/home/user/.npm/mocket/0.0.3/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"mocket@0.0.3","dependencies":{},"devDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.25","_nodeVersion":"v0.4.8","_defaultsLoaded":true,"dist":{"shasum":"92e8899aeb8d3e65bc7b248d1383183c280e362e","tarball":"https://registry.npmjs.org/mocket/-/mocket-0.0.3.tgz","integrity":"sha512-S19aDeJKJz2FKmT41l11d9+mdqgu+TYO7gMGdUywOVlRbIcFUIDL76KgLqx4eD6ZbngLGoZ0JrSWDU6tMcE1QQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDzRA8Dw0MAe6YevcYnwSuk2vLLAeWdCIaQbRXVJnszxwIgRv44z4fehEGDnMyelleenCAoF+0pAVhgHbEvhGznjW4="}]},"maintainers":[{"name":"davethehat","email":"david@teamsandtchnology.com"}]},"0.0.4":{"author":{"name":"David Harvey","email":"david@teamsandtechnology.com","url":"http://www.teamsandtechnology.com"},"name":"mocket","description":"Mocking library for node.js, in the spirit of Mockito","version":"0.0.4","homepage":"https://github.com/davethehat/mocket","repository":{"url":"git@github.com:davethehat/Mocket.git"},"main":"mocket.js","scripts":{"test":"expresso test/test.js"},"engine":{"node":">=v0.4.8"},"_npmJsonOpts":{"file":"/home/user/.npm/mocket/0.0.4/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"mocket@0.0.4","dependencies":{},"devDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.25","_nodeVersion":"v0.4.8","_defaultsLoaded":true,"dist":{"shasum":"2a5172994e40ece919ab09232800fbe1529d72c8","tarball":"https://registry.npmjs.org/mocket/-/mocket-0.0.4.tgz","integrity":"sha512-PIntfl+KEitjS6D5hWG9lL2QvSaCSClDvUdDLNRT5ZWpJYAuT5czaY/mqnSekSFzTV/yPlyzNhZnh3pnxziHrw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFxroe7u+fiNpntjYvL+WV6NIeJPISkT/JsR4hwmDOt8AiBpPH+6GYXDg9s1/lUWDhR5rqyphallSC8YDArVcYQhJw=="}]},"maintainers":[{"name":"davethehat","email":"david@teamsandtchnology.com"}]},"0.0.5":{"author":{"name":"David Harvey","email":"david@teamsandtechnology.com","url":"http://www.teamsandtechnology.com"},"name":"mocket","description":"Mocking library for node.js, in the spirit of Mockito","version":"0.0.5","homepage":"https://github.com/davethehat/mocket","repository":{"url":"git@github.com:davethehat/Mocket.git"},"main":"mocket.js","scripts":{"test":"expresso test/test.js"},"engine":{"node":">=v0.4.8"},"_npmJsonOpts":{"file":"/home/user/.npm/mocket/0.0.5/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"mocket@0.0.5","dependencies":{},"devDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.25","_nodeVersion":"v0.4.8","_defaultsLoaded":true,"dist":{"shasum":"379dfad00f0a48da34bbaa9a77463b40156b4d05","tarball":"https://registry.npmjs.org/mocket/-/mocket-0.0.5.tgz","integrity":"sha512-WlMZyIyvZg3ptoFwtGvHJRf6qM/8L8UCA6kTnI45PM3wxY15S6T0tsjgbfDDKAtXL59+bcs5sJtN7rHUEmm9Gw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGPHNjet88yeZ8+rFYhG1I9KPM2qMR/wFmuYDE3vPKNXAiBsTXWhCjy3CbUhrIwnqTjYlWcYU12FuvkdToecd535kg=="}]},"maintainers":[{"name":"davethehat","email":"david@teamsandtchnology.com"}]},"0.1.0":{"author":{"name":"David Harvey","email":"david@teamsandtechnology.com","url":"http://www.teamsandtechnology.com"},"name":"mocket","description":"Mocking library for node.js, in the spirit of Mockito","version":"0.1.0","homepage":"https://github.com/davethehat/mocket","repository":{"url":"git@github.com:davethehat/Mocket.git"},"main":"mocket.js","scripts":{"test":"expresso test/test.js"},"engine":{"node":">=v0.4.8"},"_npmJsonOpts":{"file":"/home/user/.npm/mocket/0.1.0/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"mocket@0.1.0","dependencies":{},"devDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.25","_nodeVersion":"v0.4.8","_defaultsLoaded":true,"dist":{"shasum":"8b4987eaa7162ca47f41df54684aa2b3272a69e0","tarball":"https://registry.npmjs.org/mocket/-/mocket-0.1.0.tgz","integrity":"sha512-HqRXnUGMwSb2O1PIEiYCq0vwUW4jurNsSWhcqqAuvhsGyt78yxNeDQ8AAH4NpJBGaT7e+ITAQxOyTmluPE8kQA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDP4KR5CeFGG9e76lrMmbySGWqN75LXTjS4cMLb9XX89QIhALQFLN8TSNp0A7vKdC2noe5galuEkk6u4VV9U35kt55a"}]},"maintainers":[{"name":"davethehat","email":"david@teamsandtchnology.com"}]},"0.1.1":{"author":{"name":"David Harvey","email":"david@teamsandtechnology.com","url":"http://www.teamsandtechnology.com"},"name":"mocket","description":"Mocking library for node.js, in the spirit of Mockito","version":"0.1.1","homepage":"https://github.com/davethehat/mocket","repository":{"url":"git@github.com:davethehat/Mocket.git"},"main":"mocket.js","scripts":{"test":"expresso test/test.js"},"engine":{"node":">=v0.4.8"},"_npmUser":{"name":"davethehat","email":"david@teamsandtchnology.com"},"_id":"mocket@0.1.1","dependencies":{},"devDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.4.8","_defaultsLoaded":true,"dist":{"shasum":"5d96f82380ddca160981f24cb47fc5c7671b6199","tarball":"https://registry.npmjs.org/mocket/-/mocket-0.1.1.tgz","integrity":"sha512-HiCKxdUosK6gaBCs5SwyI2Qe5YGEerqwZqoKQ5lauUvvDxh58cDYXPnvYm/7taoatH6QBnr6aUCuMjFuSEFC2w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDygXafzrEpxpVfk4q9bG4G4Amy7DmLUn9wOKQomIcL0wIhALDD5B0T/r0FNHRxy7G4RHyvifOqHQTsEIIZW1gTP5Hm"}]},"maintainers":[{"name":"davethehat","email":"david@teamsandtchnology.com"}]},"0.1.2":{"author":{"name":"David Harvey","email":"david@teamsandtechnology.com","url":"http://www.teamsandtechnology.com"},"name":"mocket","description":"Mocking library for node.js, in the spirit of Mockito","version":"0.1.2","homepage":"https://github.com/davethehat/mocket","repository":{"url":"git@github.com:davethehat/Mocket.git"},"main":"mocket.js","scripts":{"test":"expresso test/test.js"},"engine":{"node":">=v0.4.8"},"_npmUser":{"name":"davethehat","email":"david@teamsandtchnology.com"},"_id":"mocket@0.1.2","dependencies":{},"devDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.4.8","_defaultsLoaded":true,"dist":{"shasum":"69f8362b1f12377925547cca129039ebc6a9fc75","tarball":"https://registry.npmjs.org/mocket/-/mocket-0.1.2.tgz","integrity":"sha512-D/t2rhU7ZFCG5TFbxOKWwsEK6p1F76wa8zfTp17PKgzCYf35N66ysYpvo4iFctbsqbqh4a/YyJjXbdVW/j/40g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC7y/W2Ss3Gk3vqRj9PxnUOQ+zm178jmj7m/9nJj5fIzAiEAqknSfNvLFx/KW3fVfvB+y97QoByWV1M1EPJoaAHMTm4="}]},"maintainers":[{"name":"davethehat","email":"david@teamsandtchnology.com"}]},"0.1.3":{"author":{"name":"David Harvey","email":"david@teamsandtechnology.com","url":"http://www.teamsandtechnology.com"},"name":"mocket","description":"Mocking library for node.js, in the spirit of Mockito","version":"0.1.3","homepage":"https://github.com/davethehat/mocket","repository":{"url":"git@github.com:davethehat/Mocket.git"},"main":"mocket.js","scripts":{"test":"expresso test/test.js"},"engine":{"node":">=v0.4.8"},"_npmUser":{"name":"davethehat","email":"david@teamsandtchnology.com"},"_id":"mocket@0.1.3","dependencies":{},"devDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.4.8","_defaultsLoaded":true,"dist":{"shasum":"01f3c39dfe08520a5fd9d9b2941b9fe650af388f","tarball":"https://registry.npmjs.org/mocket/-/mocket-0.1.3.tgz","integrity":"sha512-g791pfER8BrU22x1Dp7x1RmvuznFcvwdns9jnh6udS4IaVZTMLxP8q4gWWfWKjVA82PCUjLowVVro7AWkezBPA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDcDt5uh6uWjoSVxRhF62S6PV3shpvZOTAuM3RFnLASEAiA5nqeN0lrKjdwVwXik+JZ4LE8twa57UTiRL2JBUC+Ebw=="}]},"maintainers":[{"name":"davethehat","email":"david@teamsandtchnology.com"}]},"0.1.4":{"author":{"name":"David Harvey","email":"david@teamsandtechnology.com","url":"http://www.teamsandtechnology.com"},"name":"mocket","description":"Mocking library for node.js, in the spirit of Mockito","version":"0.1.4","homepage":"https://github.com/davethehat/mocket","repository":{"url":"git@github.com:davethehat/Mocket.git"},"main":"mocket.js","scripts":{"test":"expresso test/test.js"},"engine":{"node":">=v0.4.8"},"_npmUser":{"name":"davethehat","email":"david@teamsandtchnology.com"},"_id":"mocket@0.1.4","dependencies":{},"devDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.4.12","_defaultsLoaded":true,"dist":{"shasum":"b18621db1cff94675833a2bac45b5dae02027eb9","tarball":"https://registry.npmjs.org/mocket/-/mocket-0.1.4.tgz","integrity":"sha512-02SASstk4EJ8jv/44ZsMBHf9eFZEK/+oTWs/BrsFtKijINDmepPEoSAngKFaBUJf3ERKxoM7jMsFHweppv2RAQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGKu7ulSEoOX3pMKx81gf3TTKehgdn6vJTrKJ0jOLj5BAiBGp+Bzn45WO37PfIt0IaX6+JoeSi77vLtSJijhzcYwmw=="}]},"maintainers":[{"name":"davethehat","email":"david@teamsandtchnology.com"}]},"0.1.5":{"author":{"name":"David Harvey","email":"david@teamsandtechnology.com","url":"http://www.teamsandtechnology.com"},"name":"mocket","description":"Mocking library for node.js, in the spirit of Mockito","version":"0.1.5","homepage":"https://github.com/davethehat/mocket","repository":{"url":"git@github.com:davethehat/Mocket.git"},"main":"mocket.js","scripts":{"test":"expresso test/test.js"},"engine":{"node":">=v0.4.8"},"_npmUser":{"name":"davidharvey","email":"david@teamsandtechnology.com"},"_id":"mocket@0.1.5","dependencies":{},"devDependencies":{},"optionalDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.1.0-2","_nodeVersion":"v0.6.8","_defaultsLoaded":true,"dist":{"shasum":"f3b29247b7d8df6132baa17c105b754c6294471a","tarball":"https://registry.npmjs.org/mocket/-/mocket-0.1.5.tgz","integrity":"sha512-5dBrFThW7wRFsP+WtupODMfWh+D2jkE7U44oEpiqwdyeDW+EBvamf3qNv9vf5cigufpuzx8gPTJ4ndI11AP0uw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCWbE2cubBif51croTssxgHOUzblJ78yP7O+8ll/WqBTAIhAKQ/E21DsSmx9uzcakrOj4T8dk0YRsT6fwxLtTYCa2/a"}]},"readme":"","maintainers":[{"name":"davidharvey","email":"david@teamsandtechnology.com"}]},"0.1.6":{"author":{"name":"David Harvey","email":"david@teamsandtechnology.com","url":"http://www.teamsandtechnology.com"},"name":"mocket","description":"Mocking library for node.js, in the spirit of Mockito","version":"0.1.6","homepage":"https://github.com/davethehat/mocket","repository":{"url":"git@github.com:davethehat/Mocket.git"},"main":"mocket.js","scripts":{"test":"expresso test/test.js"},"engine":{"node":">=v0.4.8"},"_npmUser":{"name":"davidharvey","email":"david@teamsandtechnology.com"},"_id":"mocket@0.1.6","dependencies":{},"devDependencies":{},"optionalDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.1.0-2","_nodeVersion":"v0.6.8","_defaultsLoaded":true,"dist":{"shasum":"27ab38296102ee290cd70bbaeda45ca5bd2c19ad","tarball":"https://registry.npmjs.org/mocket/-/mocket-0.1.6.tgz","integrity":"sha512-/iecxZTd3Qjcq7N4xTmmC/MJhOKEjNTEk9PORA/c/WZePAsPTRmH84Jt8voelZyTAVKknfeUEcjWwLUiUiD+IA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHve5KS0zyVkG4NlotiPMQUHYkrsFdQSMR6uXJKNCMMQAiB01b3JP/jPgqqZ3pjUQZPq0bwcfpIjxzDeal4ZcbVHxg=="}]},"readme":"","maintainers":[{"name":"davidharvey","email":"david@teamsandtechnology.com"}]},"0.1.7":{"author":{"name":"David Harvey","email":"david@teamsandtechnology.com","url":"http://www.teamsandtechnology.com"},"name":"mocket","description":"Mocking library for node.js, in the spirit of Mockito","version":"0.1.7","homepage":"https://github.com/davethehat/mocket","repository":{"url":"git@github.com:davethehat/Mocket.git"},"main":"mocket.js","scripts":{"test":"expresso test/test.js"},"engine":{"node":">=v0.4.8"},"_npmUser":{"name":"davidharvey","email":"david@teamsandtechnology.com"},"_id":"mocket@0.1.7","dependencies":{},"devDependencies":{},"optionalDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.1.0-2","_nodeVersion":"v0.6.8","_defaultsLoaded":true,"dist":{"shasum":"153a1ae4a611e9c976db5bab8d6c5ad71a7f29ca","tarball":"https://registry.npmjs.org/mocket/-/mocket-0.1.7.tgz","integrity":"sha512-61I7D8UKoJP4aYbfDLOiHa/8vkemqQsmkpr3xa3lN/lRSFwv9hIr8Jr74gbO16QzR8yac50XhAsYpgEkUmYIeA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC2QiFiLcIkdLAM9UARkn/iJSJH+zuwz1Dx2FOeKZqsbgIhAP0ePqEBIQgAKYkpYzbbYMiOW4O+NkfzeBhm0SwMhY/3"}]},"readme":"","maintainers":[{"name":"davidharvey","email":"david@teamsandtechnology.com"}]},"0.1.8":{"author":{"name":"David Harvey","email":"david@teamsandtechnology.com","url":"http://www.teamsandtechnology.com"},"name":"mocket","description":"Mocking library for node.js, in the spirit of Mockito","version":"0.1.8","homepage":"https://github.com/davethehat/mocket","repository":{"url":"git@github.com:davethehat/Mocket.git"},"main":"mocket.js","scripts":{"test":"expresso test/test.js"},"engine":{"node":">=v0.4.8"},"_npmUser":{"name":"davidharvey","email":"david@teamsandtechnology.com"},"_id":"mocket@0.1.8","dependencies":{},"devDependencies":{},"optionalDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.1.0-2","_nodeVersion":"v0.6.8","_defaultsLoaded":true,"dist":{"shasum":"175850e9ba3bb3cf005df5d27ef3cc866108bc63","tarball":"https://registry.npmjs.org/mocket/-/mocket-0.1.8.tgz","integrity":"sha512-uOsnS8Nr7s56KjIyhujVk9ltwDrOsNrIFZw5KixF45M4eBYmF9saeWqmbAdkbdu3+tlB7DVtNjBH9W0arQWgtw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC+mk6fBMCSA1sOnZX3BidE3xaa7CmO7Pk0synAXni7eAIhAMZPWJhc5RCbAc2C8YutxQsZzPImj5VvWEiDZ4XqoxmZ"}]},"readme":"","maintainers":[{"name":"davidharvey","email":"david@teamsandtechnology.com"}]},"0.1.9":{"author":{"name":"David Harvey","email":"david@teamsandtechnology.com","url":"http://www.teamsandtechnology.com"},"name":"mocket","description":"Mocking library for node.js, in the spirit of Mockito","version":"0.1.9","homepage":"https://github.com/davethehat/mocket","repository":{"url":"git@github.com:davethehat/Mocket.git"},"main":"mocket.js","scripts":{"test":"expresso test/test.js"},"engine":{"node":">=v0.4.8"},"_npmUser":{"name":"davidharvey","email":"david@teamsandtechnology.com"},"_id":"mocket@0.1.9","dependencies":{},"devDependencies":{},"optionalDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.1.0-2","_nodeVersion":"v0.6.8","_defaultsLoaded":true,"dist":{"shasum":"ab2e7e1f76e1762f7fa0b9b0d689b719b4d6304f","tarball":"https://registry.npmjs.org/mocket/-/mocket-0.1.9.tgz","integrity":"sha512-hR4ZtUahn9uBYqw3qtkm7eBlu6rWlPG5jbrBGid5LsLZKHRu2043AGXqMmLuT2p/m/YH4z0a6Ad0q4BGDNKVCQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAdf/sXFbfWoNambzi94JLeqXpVMHNu/s0Yx1y3J1PdFAiBAlTNF4gt2EV6utHL+FweTdHGIVHgUS52H1DWvbFAapg=="}]},"readme":"","maintainers":[{"name":"davidharvey","email":"david@teamsandtechnology.com"}]},"0.1.10":{"author":{"name":"David Harvey","email":"david@teamsandtechnology.com","url":"http://www.teamsandtechnology.com"},"name":"mocket","description":"Mocking library for node.js, in the spirit of Mockito","version":"0.1.10","homepage":"https://github.com/davethehat/mocket","repository":{"url":"git@github.com:davethehat/Mocket.git"},"main":"mocket.js","scripts":{"test":"expresso test/test.js"},"engine":{"node":">=v0.4.8"},"readme":"# Mocket\n\nMocking library for [nodejs](http://nodejs.org)\n\n## Features\n\n  - simple and lightweight\n  - no need to import/instantiate constructors or objects for the mocks\n  - expect many, n, at least n, at most n calls\n  - allow/ignore calls\n  - flexible argument matching: explicit values, by type, match function\n  - define return values directly, by function, or delegate\n\n## Installation\n\n  $ npm install mocket\n  \n## License\n\n(MIT License)\n\nCopyright (c) 2011 David Harvey <@teamsandtechnology.com>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated\ndocumentation files (the \"Software\"), to deal in the Software without restriction, including without limitation\nthe rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,\nand to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial\nportions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO\nTHE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n## Usage - basic\n\nRequire mocket, create a context:\n\n```javascript\n   var mocket = require('mocket');\n   var context = new mocket.Mocket();\n```\n\nCreate a mock:\n\n```javascript\n   var mock = context.createMock();\n```\n\nSet up expectations (note chaining of expectations):\n\n```javascript\n  mock.expects(\"func\").passing(\"hello\", context.ANYTHING).atLeast(2).returning(\"goodbye\");\n```\n\nCall the mock:\n\n```javascript\n  mock.func(\"hello\", 42);\n```\n\nCheck the expectations - boolean:\n\n```javascript\n  var OK = context.verifyMocks();\n  OK = context.verifyMocks(true); // logs to stdout\n```\n\n... or assert (throws assert.AssertionError):\n\n```javascript\n  context.assertMocks();\n```\n\nCollect verification status:\n\n```javascript\n  // Collector object\n  var collector = {\n    ok         : function (expectation) {console.log(expectation.toString())},\n    fail       : function (expectation) {console.error(expectation.toString())},\n    unexpected : function (mock, methodWithArgs) {console.error(mock.name + \".\" + methodWithArgs.name + argumentsToString(methodWithArgs.args) + \" UNEXPECTED\")}\n  };\n  OK = context.verifyMocks(collector); // collect mock status for logging/reporting\n```\n\n\n## Usage - number of calls\n\nCall at least once is default:\n\n```javascript\n  mock.expects(\"func\");\n  context.verifyMocks(); // false\n  \n  mock.func();\n  context.verifyMocks(); // true\n  \n  mock.func();\n  context.verifyMocks(); // true\n```\n\nCall a specific number of times:\n\n```javascript\n  mock.expects(\"func\").times(3);\n  context.verifyMocks(); // false\n  \n  mock.func();\n  context.verifyMocks(); // false\n  \n  mock.func();\n  mock.func();\n  context.verifyMocks(); // true\n\n  mock.func();\n  context.verifyMocks(); // false\n```\n\nCall at least/at most n times:\n\n```javascript\n  mock1.expects(\"func\").atLeast(3);\n  mock2.expects(\"func\").atMost(7);\n  mock3.expects(\"func\").atLeast(2).atMost(4);\n```\n\nExpect never to be called:\n\n```javascript\n  mock.expects(\"func\").never();\n  context.verifyMocks(); // true\n\n  mock.func();\n  context.verifyMocks(); // false\n```\n\nIgnore all calls to named function:\n\n```javascript\n  mock.allows(\"func\");\n  context.verifyMocks(); // true\n\n  mock.func();\n  context.verifyMocks(); // trues\n```\n\n## Usage - argument matching\n\nMatch literal arguments:\n\n```javascript\n  mock.expects(\"func\").passing(\"hello\", 1);\n  mock.func(\"hello\", 1);\n  context.verifyMocks(); // true\n\n  mock.func(\"goodbye\", 2);\n  context.verifyMocks(); // false\n```\n\nMatch any arguments:\n\n```javascript\n  mock.expects(\"func\").passing(context.ANYARGS);\n  mock.func(\"hello\", 1);\n  context.verifyMocks(); // true\n\n  mock.func();\n  mock.func([1,2,3]);\n  mock.func(\"goodbye\", 2);\n  context.verifyMocks(); // true\n```\n\nMatch any argument in a given position:\n\n```javascript\n  mock.expects(\"func\").passing(\"hello\", context.ANYTHING);\n  mock.func(\"hello\", 1);\n  context.verifyMocks(); // true\n\n  mock.func(\"hello\", [2,3,4]);\n  context.verifyMocks(); // true\n\n  mock.func(\"goodbye\", [2,3,4]);\n  context.verifyMocks(); // false\n```\n\nMatch an argument of a given type (type string as returned by _typeof_ operator):\n\n```javascript\n  mock.expects(\"func\").passing(context.any('number'));\n  mock.func(1);\n  mock.func(3.1412);\n  context.verifyMocks(); // true\n\n  mock.func(\"whoops\");\n  context.verifyMocks(); // false\n```\n\nMatch an argument with a given constructor:\n\n```javascript\n  function Foo() {}\n  function Bar() {}\n\n  mock.expects(\"func\").passing(context.any(Foo));\n\n  mock.func(new Foo());\n  context.verifyMocks(); // true\n\n  mock.func(new Bar());\n  context.verifyMocks(); // false\n```\n\nMatch an argument with a function:\n\n```javascript\n  mock.expects(\"func\").passing(function(a) {return a === 1 || a === 2});\n  mock.func(1);\n  context.verifyMocks(); // true\n\n  mock.func(3);\n  context.verifyMocks(); // false\n```\n\n## Usage - returning values, throwing exceptions:\n\nReturn same value for every call:\n\n```javascript\n  mock.expects(\"func\").returning(123);\n  var ret = mock.func(); // ret === 123\n```\n\nReturn values depending on parameter expectation:\n\n```javascript\n  mock.expects(\"func\").passing(\"hello\").returning(123);\n  mock.expects(\"func\").passing(\"goodbye\").returning(456);\n  var ret1 = mock.func(\"hello\");   // ret1 === 123\n  var ret2 = mock.func(\"goodbye\"); // ret2 === 456\n```\n\nReturn different values from successive calls (if more calls than values, last value given is returned):\n\n```javascript\n  mock.expects(\"func\").returning(123, 456, 789);\n  var ret = mock.func(); // ret === 123\n  ret = mock.func(); // ret === 456\n  ret = mock.func(); // ret === 789\n  ret = mock.func(); // ret === 789\n```\n\nThrow an instance of Error:\n\n```javascript\n  mock.expects(\"func\").throwing();\n  mock.func();   // throws new Error()\n```\n\nThrow an instance of custom exception:\n\n```javascript\n  function MyException() {}\n  mock.expects(\"func\").throwing(MyException);\n  mock.func();   // throws new MyException()\n```\n\nThrow a preconstructed instance of custom exception:\n\n```javascript\n  function MyException(message) {\n    this.message = message;\n    this.name = \"MyException\";\n  }\n  mock.expects(\"func\").throwing(new MyException(\"from mock\"));\n  mock.func();   // throws passed object as exception\n```\n\n## Usage - stubbing, delegating:\n\nReturn values via a stubbed function:\n\n```javascript\n  mock.expects(\"func\").passing(context.any('number')).as(function (n) {return n * 2});\n  var ret1 = mock.func(10);   // ret1 === 20\n  var ret2 = mock.func(7.5);  // ret2 === 15\n```\n\nReturn values via a delegate:\n\n```javascript\n  var delegate = {\n    func1 : function(n) { return n * 2 },\n    func2 : function(s) { return s + \", indeed!\" }\n  };\n\n  mock.expects(\"func1\").passing(context.any('number')).as(delegate);\n  mock.expects(\"func2\").passing(context.any('string')).as(delegate);\n  var ret1 = mock.func1(10);    // ret1 === 20\n  var ret2 = mock.func2(\"hey\"); // ret2 === \"hey indeed!\"\n```\n\n\n\n   \n","readmeFilename":"Readme.md","_id":"mocket@0.1.10","dist":{"shasum":"d9fd0162590cd5904399cad6f0260ae15f98cb03","tarball":"https://registry.npmjs.org/mocket/-/mocket-0.1.10.tgz","integrity":"sha512-nvt9a2sQC28YOq55crc8Gm627Ircfvm7UEuWeZF3u8hsXgJKc5UCtP7SXGdO+SAlVnkq62ucWJwq8+GnhqyqGw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFH7CZv/ZVePD+0cQVeY+fdeTw8zVywx627m+7OnzGcIAiEA/4SyFfCLOl097y60L0wW3r4grytnW1ahqe+CFXrZiIU="}]},"_npmVersion":"1.1.66","_npmUser":{"name":"davidharvey","email":"david@teamsandtechnology.com"},"maintainers":[{"name":"davidharvey","email":"david@teamsandtechnology.com"}]},"0.1.11":{"author":{"name":"David Harvey","email":"david@teamsandtechnology.com","url":"http://www.teamsandtechnology.com"},"name":"mocket","description":"Mocking library for node.js, in the spirit of Mockito","version":"0.1.11","homepage":"https://github.com/davethehat/mocket","repository":{"url":"git@github.com:davethehat/Mocket.git"},"main":"mocket.js","scripts":{"test":"expresso test/test.js"},"engine":{"node":">=v0.4.8"},"readme":"# Mocket\n\nMocking library for [nodejs](http://nodejs.org)\n\n## Features\n\n  - simple and lightweight\n  - no need to import/instantiate constructors or objects for the mocks\n  - expect many, n, at least n, at most n calls\n  - allow/ignore calls\n  - flexible argument matching: explicit values, by type, match function\n  - define return values directly, by function, or delegate\n\n## Installation\n\n  $ npm install mocket\n  \n## License\n\n(MIT License)\n\nCopyright (c) 2011 David Harvey <@teamsandtechnology.com>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated\ndocumentation files (the \"Software\"), to deal in the Software without restriction, including without limitation\nthe rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,\nand to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial\nportions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO\nTHE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n## Usage - basic\n\nRequire mocket, create a context:\n\n```javascript\n   var mocket = require('mocket');\n   var context = new mocket.Mocket();\n```\n\nCreate a mock:\n\n```javascript\n   var mock = context.createMock();\n```\n\nSet up expectations (note chaining of expectations):\n\n```javascript\n  mock.expects(\"func\").passing(\"hello\", context.ANYTHING).atLeast(2).returning(\"goodbye\");\n```\n\nCall the mock:\n\n```javascript\n  mock.func(\"hello\", 42);\n```\n\nCheck the expectations - boolean:\n\n```javascript\n  var OK = context.verifyMocks();\n  OK = context.verifyMocks(true); // logs to stdout\n```\n\n... or assert (throws assert.AssertionError):\n\n```javascript\n  context.assertMocks();\n```\n\nCollect verification status:\n\n```javascript\n  // Collector object\n  var collector = {\n    ok         : function (expectation) {console.log(expectation.toString())},\n    fail       : function (expectation) {console.error(expectation.toString())},\n    unexpected : function (mock, methodWithArgs) {console.error(mock.name + \".\" + methodWithArgs.name + argumentsToString(methodWithArgs.args) + \" UNEXPECTED\")}\n  };\n  OK = context.verifyMocks(collector); // collect mock status for logging/reporting\n```\n\n\n## Usage - number of calls\n\nCall at least once is default:\n\n```javascript\n  mock.expects(\"func\");\n  context.verifyMocks(); // false\n  \n  mock.func();\n  context.verifyMocks(); // true\n  \n  mock.func();\n  context.verifyMocks(); // true\n```\n\nCall a specific number of times:\n\n```javascript\n  mock.expects(\"func\").times(3);\n  context.verifyMocks(); // false\n  \n  mock.func();\n  context.verifyMocks(); // false\n  \n  mock.func();\n  mock.func();\n  context.verifyMocks(); // true\n\n  mock.func();\n  context.verifyMocks(); // false\n```\n\nCall at least/at most n times:\n\n```javascript\n  mock1.expects(\"func\").atLeast(3);\n  mock2.expects(\"func\").atMost(7);\n  mock3.expects(\"func\").atLeast(2).atMost(4);\n```\n\nExpect never to be called:\n\n```javascript\n  mock.expects(\"func\").never();\n  context.verifyMocks(); // true\n\n  mock.func();\n  context.verifyMocks(); // false\n```\n\nIgnore all calls to named function:\n\n```javascript\n  mock.allows(\"func\");\n  context.verifyMocks(); // true\n\n  mock.func();\n  context.verifyMocks(); // trues\n```\n\n## Usage - argument matching\n\nMatch literal arguments:\n\n```javascript\n  mock.expects(\"func\").passing(\"hello\", 1);\n  mock.func(\"hello\", 1);\n  context.verifyMocks(); // true\n\n  mock.func(\"goodbye\", 2);\n  context.verifyMocks(); // false\n```\n\nMatch any arguments:\n\n```javascript\n  mock.expects(\"func\").passing(context.ANYARGS);\n  mock.func(\"hello\", 1);\n  context.verifyMocks(); // true\n\n  mock.func();\n  mock.func([1,2,3]);\n  mock.func(\"goodbye\", 2);\n  context.verifyMocks(); // true\n```\n\nMatch any argument in a given position:\n\n```javascript\n  mock.expects(\"func\").passing(\"hello\", context.ANYTHING);\n  mock.func(\"hello\", 1);\n  context.verifyMocks(); // true\n\n  mock.func(\"hello\", [2,3,4]);\n  context.verifyMocks(); // true\n\n  mock.func(\"goodbye\", [2,3,4]);\n  context.verifyMocks(); // false\n```\n\nMatch an argument of a given type (type string as returned by _typeof_ operator):\n\n```javascript\n  mock.expects(\"func\").passing(context.any('number'));\n  mock.func(1);\n  mock.func(3.1412);\n  context.verifyMocks(); // true\n\n  mock.func(\"whoops\");\n  context.verifyMocks(); // false\n```\n\nMatch an argument with a given constructor:\n\n```javascript\n  function Foo() {}\n  function Bar() {}\n\n  mock.expects(\"func\").passing(context.any(Foo));\n\n  mock.func(new Foo());\n  context.verifyMocks(); // true\n\n  mock.func(new Bar());\n  context.verifyMocks(); // false\n```\n\nMatch an argument with a function:\n\n```javascript\n  mock.expects(\"func\").passing(function(a) {return a === 1 || a === 2});\n  mock.func(1);\n  context.verifyMocks(); // true\n\n  mock.func(3);\n  context.verifyMocks(); // false\n```\n\n## Usage - returning values, throwing exceptions:\n\nReturn same value for every call:\n\n```javascript\n  mock.expects(\"func\").returning(123);\n  var ret = mock.func(); // ret === 123\n```\n\nReturn values depending on parameter expectation:\n\n```javascript\n  mock.expects(\"func\").passing(\"hello\").returning(123);\n  mock.expects(\"func\").passing(\"goodbye\").returning(456);\n  var ret1 = mock.func(\"hello\");   // ret1 === 123\n  var ret2 = mock.func(\"goodbye\"); // ret2 === 456\n```\n\nReturn different values from successive calls (if more calls than values, last value given is returned):\n\n```javascript\n  mock.expects(\"func\").returning(123, 456, 789);\n  var ret = mock.func(); // ret === 123\n  ret = mock.func(); // ret === 456\n  ret = mock.func(); // ret === 789\n  ret = mock.func(); // ret === 789\n```\n\nThrow an instance of Error:\n\n```javascript\n  mock.expects(\"func\").throwing();\n  mock.func();   // throws new Error()\n```\n\nThrow an instance of custom exception:\n\n```javascript\n  function MyException() {}\n  mock.expects(\"func\").throwing(MyException);\n  mock.func();   // throws new MyException()\n```\n\nThrow a preconstructed instance of custom exception:\n\n```javascript\n  function MyException(message) {\n    this.message = message;\n    this.name = \"MyException\";\n  }\n  mock.expects(\"func\").throwing(new MyException(\"from mock\"));\n  mock.func();   // throws passed object as exception\n```\n\n## Usage - stubbing, delegating:\n\nReturn values via a stubbed function:\n\n```javascript\n  mock.expects(\"func\").passing(context.any('number')).as(function (n) {return n * 2});\n  var ret1 = mock.func(10);   // ret1 === 20\n  var ret2 = mock.func(7.5);  // ret2 === 15\n```\n\nReturn values via a delegate:\n\n```javascript\n  var delegate = {\n    func1 : function(n) { return n * 2 },\n    func2 : function(s) { return s + \", indeed!\" }\n  };\n\n  mock.expects(\"func1\").passing(context.any('number')).as(delegate);\n  mock.expects(\"func2\").passing(context.any('string')).as(delegate);\n  var ret1 = mock.func1(10);    // ret1 === 20\n  var ret2 = mock.func2(\"hey\"); // ret2 === \"hey indeed!\"\n```\n\n\n\n   \n","readmeFilename":"Readme.md","_id":"mocket@0.1.11","dist":{"shasum":"4bc855f53d42b9f7bc0abb827f692edcc7e5a157","tarball":"https://registry.npmjs.org/mocket/-/mocket-0.1.11.tgz","integrity":"sha512-wWevTrAiwAKKiNjcRONI1cFErmDUFAIzHnksTEq/iYtAzGkYluI5ZKiFnYuT+a+FSQcBvPktkV6BXG8UwgjQIA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAmqH7rUZWIkQxSw1RSGpT4Kod3FjSUCC47Sjb97GA1bAiBImNehF2516mWgAeTRUpu2Oyc9+v1+xo8Cy4RyrQ7MgQ=="}]},"_npmVersion":"1.1.69","_npmUser":{"name":"davidharvey","email":"david@teamsandtechnology.com"},"maintainers":[{"name":"davidharvey","email":"david@teamsandtechnology.com"}]},"0.1.12":{"author":{"name":"David Harvey","email":"david@teamsandtechnology.com","url":"http://www.teamsandtechnology.com"},"name":"mocket","description":"Mocking library for node.js, in the spirit of Mockito","version":"0.1.12","homepage":"https://github.com/davethehat/mocket","repository":{"url":"git@github.com:davethehat/Mocket.git"},"main":"mocket.js","scripts":{"test":"expresso test/test.js"},"engine":{"node":">=v0.4.8"},"readme":"# Mocket\n\nMocking library for [nodejs](http://nodejs.org)\n\n## Features\n\n  - simple and lightweight\n  - no need to import/instantiate constructors or objects for the mocks\n  - expect many, n, at least n, at most n calls\n  - allow/ignore calls\n  - flexible argument matching: explicit values, by type, match function\n  - define return values directly, by function, or delegate\n\n## Installation\n\n  $ npm install mocket\n  \n## License\n\n(MIT License)\n\nCopyright (c) 2011 David Harvey <@teamsandtechnology.com>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated\ndocumentation files (the \"Software\"), to deal in the Software without restriction, including without limitation\nthe rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,\nand to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial\nportions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO\nTHE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n## Usage - basic\n\nRequire mocket, create a context:\n\n```javascript\n   var mocket = require('mocket');\n   var context = new mocket.Mocket();\n```\n\nCreate a mock:\n\n```javascript\n   var mock = context.createMock();\n```\n\nSet up expectations (note chaining of expectations):\n\n```javascript\n  mock.expects(\"func\").passing(\"hello\", context.ANYTHING).atLeast(2).returning(\"goodbye\");\n```\n\nCall the mock:\n\n```javascript\n  mock.func(\"hello\", 42);\n```\n\nCheck the expectations - boolean:\n\n```javascript\n  var OK = context.verifyMocks();\n  OK = context.verifyMocks(true); // logs to stdout\n```\n\n... or assert (throws assert.AssertionError):\n\n```javascript\n  context.assertMocks();\n```\n\nCollect verification status:\n\n```javascript\n  // Collector object\n  var collector = {\n    ok         : function (expectation) {console.log(expectation.toString())},\n    fail       : function (expectation) {console.error(expectation.toString())},\n    unexpected : function (mock, methodWithArgs) {console.error(mock.name + \".\" + methodWithArgs.name + argumentsToString(methodWithArgs.args) + \" UNEXPECTED\")}\n  };\n  OK = context.verifyMocks(collector); // collect mock status for logging/reporting\n```\n\n\n## Usage - number of calls\n\nCall at least once is default:\n\n```javascript\n  mock.expects(\"func\");\n  context.verifyMocks(); // false\n  \n  mock.func();\n  context.verifyMocks(); // true\n  \n  mock.func();\n  context.verifyMocks(); // true\n```\n\nCall a specific number of times:\n\n```javascript\n  mock.expects(\"func\").times(3);\n  context.verifyMocks(); // false\n  \n  mock.func();\n  context.verifyMocks(); // false\n  \n  mock.func();\n  mock.func();\n  context.verifyMocks(); // true\n\n  mock.func();\n  context.verifyMocks(); // false\n```\n\nCall at least/at most n times:\n\n```javascript\n  mock1.expects(\"func\").atLeast(3);\n  mock2.expects(\"func\").atMost(7);\n  mock3.expects(\"func\").atLeast(2).atMost(4);\n```\n\nExpect never to be called:\n\n```javascript\n  mock.expects(\"func\").never();\n  context.verifyMocks(); // true\n\n  mock.func();\n  context.verifyMocks(); // false\n```\n\nIgnore all calls to named function:\n\n```javascript\n  mock.allows(\"func\");\n  context.verifyMocks(); // true\n\n  mock.func();\n  context.verifyMocks(); // trues\n```\n\n## Usage - argument matching\n\nMatch literal arguments:\n\n```javascript\n  mock.expects(\"func\").passing(\"hello\", 1);\n  mock.func(\"hello\", 1);\n  context.verifyMocks(); // true\n\n  mock.func(\"goodbye\", 2);\n  context.verifyMocks(); // false\n```\n\nMatch any arguments:\n\n```javascript\n  mock.expects(\"func\").passing(context.ANYARGS);\n  mock.func(\"hello\", 1);\n  context.verifyMocks(); // true\n\n  mock.func();\n  mock.func([1,2,3]);\n  mock.func(\"goodbye\", 2);\n  context.verifyMocks(); // true\n```\n\nMatch any argument in a given position:\n\n```javascript\n  mock.expects(\"func\").passing(\"hello\", context.ANYTHING);\n  mock.func(\"hello\", 1);\n  context.verifyMocks(); // true\n\n  mock.func(\"hello\", [2,3,4]);\n  context.verifyMocks(); // true\n\n  mock.func(\"goodbye\", [2,3,4]);\n  context.verifyMocks(); // false\n```\n\nMatch an argument of a given type (type string as returned by _typeof_ operator):\n\n```javascript\n  mock.expects(\"func\").passing(context.any('number'));\n  mock.func(1);\n  mock.func(3.1412);\n  context.verifyMocks(); // true\n\n  mock.func(\"whoops\");\n  context.verifyMocks(); // false\n```\n\nMatch an argument with a given constructor:\n\n```javascript\n  function Foo() {}\n  function Bar() {}\n\n  mock.expects(\"func\").passing(context.any(Foo));\n\n  mock.func(new Foo());\n  context.verifyMocks(); // true\n\n  mock.func(new Bar());\n  context.verifyMocks(); // false\n```\n\nMatch an argument with a function:\n\n```javascript\n  mock.expects(\"func\").passing(function(a) {return a === 1 || a === 2});\n  mock.func(1);\n  context.verifyMocks(); // true\n\n  mock.func(3);\n  context.verifyMocks(); // false\n```\n\n## Usage - returning values, throwing exceptions:\n\nReturn same value for every call:\n\n```javascript\n  mock.expects(\"func\").returning(123);\n  var ret = mock.func(); // ret === 123\n```\n\nReturn values depending on parameter expectation:\n\n```javascript\n  mock.expects(\"func\").passing(\"hello\").returning(123);\n  mock.expects(\"func\").passing(\"goodbye\").returning(456);\n  var ret1 = mock.func(\"hello\");   // ret1 === 123\n  var ret2 = mock.func(\"goodbye\"); // ret2 === 456\n```\n\nReturn different values from successive calls (if more calls than values, last value given is returned):\n\n```javascript\n  mock.expects(\"func\").returning(123, 456, 789);\n  var ret = mock.func(); // ret === 123\n  ret = mock.func(); // ret === 456\n  ret = mock.func(); // ret === 789\n  ret = mock.func(); // ret === 789\n```\n\nThrow an instance of Error:\n\n```javascript\n  mock.expects(\"func\").throwing();\n  mock.func();   // throws new Error()\n```\n\nThrow an instance of custom exception:\n\n```javascript\n  function MyException() {}\n  mock.expects(\"func\").throwing(MyException);\n  mock.func();   // throws new MyException()\n```\n\nThrow a preconstructed instance of custom exception:\n\n```javascript\n  function MyException(message) {\n    this.message = message;\n    this.name = \"MyException\";\n  }\n  mock.expects(\"func\").throwing(new MyException(\"from mock\"));\n  mock.func();   // throws passed object as exception\n```\n\n## Usage - stubbing, delegating:\n\nReturn values via a stubbed function:\n\n```javascript\n  mock.expects(\"func\").passing(context.any('number')).as(function (n) {return n * 2});\n  var ret1 = mock.func(10);   // ret1 === 20\n  var ret2 = mock.func(7.5);  // ret2 === 15\n```\n\nReturn values via a delegate:\n\n```javascript\n  var delegate = {\n    func1 : function(n) { return n * 2 },\n    func2 : function(s) { return s + \", indeed!\" }\n  };\n\n  mock.expects(\"func1\").passing(context.any('number')).as(delegate);\n  mock.expects(\"func2\").passing(context.any('string')).as(delegate);\n  var ret1 = mock.func1(10);    // ret1 === 20\n  var ret2 = mock.func2(\"hey\"); // ret2 === \"hey indeed!\"\n```\n\n\n\n   \n","readmeFilename":"Readme.md","_id":"mocket@0.1.12","dist":{"shasum":"61f5311aec5c663512f2465b0020cc8a31d7f64f","tarball":"https://registry.npmjs.org/mocket/-/mocket-0.1.12.tgz","integrity":"sha512-DCASL4e9vFFjvnLSczgaXYRelx4R941AfpsomLGe1HiF/i7RP5QSNHUfYtBaYfGxzs5n1Lom1aBrOX/tcdXegQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEDaX4vIGshAgbXw895ojAOtvi262O6DNGjgru86NHkIAiEA2s48TtHYji/4FTYuFGfDuKxvrXn/0pAuKg9KbmgFdEo="}]},"_npmVersion":"1.1.69","_npmUser":{"name":"davidharvey","email":"david@teamsandtechnology.com"},"maintainers":[{"name":"davidharvey","email":"david@teamsandtechnology.com"}]},"0.1.13":{"author":{"name":"David Harvey","email":"david@teamsandtechnology.com","url":"http://www.teamsandtechnology.com"},"name":"mocket","description":"Mocking library for node.js, in the spirit of Mockito","version":"0.1.13","homepage":"https://github.com/davethehat/mocket","repository":{"url":"git@github.com:davethehat/Mocket.git"},"main":"mocket.js","scripts":{"test":"expresso test/test.js"},"engine":{"node":">=v0.4.8"},"readme":"# Mocket\n\nMocking library for [nodejs](http://nodejs.org)\n\n## Features\n\n  - simple and lightweight\n  - no need to import/instantiate constructors or objects for the mocks\n  - expect many, n, at least n, at most n calls\n  - allow/ignore calls\n  - flexible argument matching: explicit values, by type, match function\n  - define return values directly, by function, or delegate\n\n## Installation\n\n  $ npm install mocket\n  \n## License\n\n(MIT License)\n\nCopyright (c) 2011 David Harvey <@teamsandtechnology.com>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated\ndocumentation files (the \"Software\"), to deal in the Software without restriction, including without limitation\nthe rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,\nand to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial\nportions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO\nTHE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n## Usage - basic\n\nRequire mocket, create a context:\n\n```javascript\n   var mocket = require('mocket');\n   var context = new mocket.Mocket();\n```\n\nCreate a mock:\n\n```javascript\n   var mock = context.createMock();\n```\n\nSet up expectations (note chaining of expectations):\n\n```javascript\n  mock.expects(\"func\").passing(\"hello\", context.ANYTHING).atLeast(2).returning(\"goodbye\");\n```\n\nCall the mock:\n\n```javascript\n  mock.func(\"hello\", 42);\n```\n\nCheck the expectations - boolean:\n\n```javascript\n  var OK = context.verifyMocks();\n  OK = context.verifyMocks(true); // logs to stdout\n```\n\n... or assert (throws assert.AssertionError):\n\n```javascript\n  context.assertMocks();\n```\n\nCollect verification status:\n\n```javascript\n  // Collector object\n  var collector = {\n    ok         : function (expectation) {console.log(expectation.toString())},\n    fail       : function (expectation) {console.error(expectation.toString())},\n    unexpected : function (mock, methodWithArgs) {console.error(mock.name + \".\" + methodWithArgs.name + argumentsToString(methodWithArgs.args) + \" UNEXPECTED\")}\n  };\n  OK = context.verifyMocks(collector); // collect mock status for logging/reporting\n```\n\n\n## Usage - number of calls\n\nCall at least once is default:\n\n```javascript\n  mock.expects(\"func\");\n  context.verifyMocks(); // false\n  \n  mock.func();\n  context.verifyMocks(); // true\n  \n  mock.func();\n  context.verifyMocks(); // true\n```\n\nCall a specific number of times:\n\n```javascript\n  mock.expects(\"func\").times(3);\n  context.verifyMocks(); // false\n  \n  mock.func();\n  context.verifyMocks(); // false\n  \n  mock.func();\n  mock.func();\n  context.verifyMocks(); // true\n\n  mock.func();\n  context.verifyMocks(); // false\n```\n\nCall at least/at most n times:\n\n```javascript\n  mock1.expects(\"func\").atLeast(3);\n  mock2.expects(\"func\").atMost(7);\n  mock3.expects(\"func\").atLeast(2).atMost(4);\n```\n\nExpect never to be called:\n\n```javascript\n  mock.expects(\"func\").never();\n  context.verifyMocks(); // true\n\n  mock.func();\n  context.verifyMocks(); // false\n```\n\nIgnore all calls to named function:\n\n```javascript\n  mock.allows(\"func\");\n  context.verifyMocks(); // true\n\n  mock.func();\n  context.verifyMocks(); // trues\n```\n\n## Usage - argument matching\n\nMatch literal arguments:\n\n```javascript\n  mock.expects(\"func\").passing(\"hello\", 1);\n  mock.func(\"hello\", 1);\n  context.verifyMocks(); // true\n\n  mock.func(\"goodbye\", 2);\n  context.verifyMocks(); // false\n```\n\nMatch any arguments:\n\n```javascript\n  mock.expects(\"func\").passing(context.ANYARGS);\n  mock.func(\"hello\", 1);\n  context.verifyMocks(); // true\n\n  mock.func();\n  mock.func([1,2,3]);\n  mock.func(\"goodbye\", 2);\n  context.verifyMocks(); // true\n```\n\nMatch any argument in a given position:\n\n```javascript\n  mock.expects(\"func\").passing(\"hello\", context.ANYTHING);\n  mock.func(\"hello\", 1);\n  context.verifyMocks(); // true\n\n  mock.func(\"hello\", [2,3,4]);\n  context.verifyMocks(); // true\n\n  mock.func(\"goodbye\", [2,3,4]);\n  context.verifyMocks(); // false\n```\n\nMatch an argument of a given type (type string as returned by _typeof_ operator):\n\n```javascript\n  mock.expects(\"func\").passing(context.any('number'));\n  mock.func(1);\n  mock.func(3.1412);\n  context.verifyMocks(); // true\n\n  mock.func(\"whoops\");\n  context.verifyMocks(); // false\n```\n\nMatch an argument with a given constructor:\n\n```javascript\n  function Foo() {}\n  function Bar() {}\n\n  mock.expects(\"func\").passing(context.any(Foo));\n\n  mock.func(new Foo());\n  context.verifyMocks(); // true\n\n  mock.func(new Bar());\n  context.verifyMocks(); // false\n```\n\nMatch an argument with a function:\n\n```javascript\n  mock.expects(\"func\").passing(function(a) {return a === 1 || a === 2});\n  mock.func(1);\n  context.verifyMocks(); // true\n\n  mock.func(3);\n  context.verifyMocks(); // false\n```\n\n## Usage - returning values, throwing exceptions:\n\nReturn same value for every call:\n\n```javascript\n  mock.expects(\"func\").returning(123);\n  var ret = mock.func(); // ret === 123\n```\n\nReturn values depending on parameter expectation:\n\n```javascript\n  mock.expects(\"func\").passing(\"hello\").returning(123);\n  mock.expects(\"func\").passing(\"goodbye\").returning(456);\n  var ret1 = mock.func(\"hello\");   // ret1 === 123\n  var ret2 = mock.func(\"goodbye\"); // ret2 === 456\n```\n\nReturn different values from successive calls (if more calls than values, last value given is returned):\n\n```javascript\n  mock.expects(\"func\").returning(123, 456, 789);\n  var ret = mock.func(); // ret === 123\n  ret = mock.func(); // ret === 456\n  ret = mock.func(); // ret === 789\n  ret = mock.func(); // ret === 789\n```\n\nThrow an instance of Error:\n\n```javascript\n  mock.expects(\"func\").throwing();\n  mock.func();   // throws new Error()\n```\n\nThrow an instance of custom exception:\n\n```javascript\n  function MyException() {}\n  mock.expects(\"func\").throwing(MyException);\n  mock.func();   // throws new MyException()\n```\n\nThrow a preconstructed instance of custom exception:\n\n```javascript\n  function MyException(message) {\n    this.message = message;\n    this.name = \"MyException\";\n  }\n  mock.expects(\"func\").throwing(new MyException(\"from mock\"));\n  mock.func();   // throws passed object as exception\n```\n\n## Usage - stubbing, delegating:\n\nReturn values via a stubbed function:\n\n```javascript\n  mock.expects(\"func\").passing(context.any('number')).as(function (n) {return n * 2});\n  var ret1 = mock.func(10);   // ret1 === 20\n  var ret2 = mock.func(7.5);  // ret2 === 15\n```\n\nReturn values via a delegate:\n\n```javascript\n  var delegate = {\n    func1 : function(n) { return n * 2 },\n    func2 : function(s) { return s + \", indeed!\" }\n  };\n\n  mock.expects(\"func1\").passing(context.any('number')).as(delegate);\n  mock.expects(\"func2\").passing(context.any('string')).as(delegate);\n  var ret1 = mock.func1(10);    // ret1 === 20\n  var ret2 = mock.func2(\"hey\"); // ret2 === \"hey indeed!\"\n```\n\n\n\n   \n","readmeFilename":"Readme.md","_id":"mocket@0.1.13","dist":{"shasum":"fcf77d977ab0466abbbbb5ff8e2f9dae00bb2ae4","tarball":"https://registry.npmjs.org/mocket/-/mocket-0.1.13.tgz","integrity":"sha512-q7M0pJyaQQx/ctwEvKSxW18K9nBEuKjCq2ZsiFd9X8Iu829/7fNchq/PzZ80Wpxbu7VtEK+he6tOGGhEXOXIBA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDMBZXYNfJHs5wI1U3kYPhSyEWPyTUcO+EhWoRWV8ILhQIgK82fV2koiUkSkIs3nle8ORLBylsy5pRKUlLqs4V/760="}]},"_npmVersion":"1.1.69","_npmUser":{"name":"davidharvey","email":"david@teamsandtechnology.com"},"maintainers":[{"name":"davidharvey","email":"david@teamsandtechnology.com"}]}},"maintainers":[{"name":"davidharvey","email":"david@teamsandtechnology.com"}],"time":{"modified":"2022-06-20T02:20:24.427Z","created":"2011-08-17T17:19:06.583Z","0.0.1":"2011-08-17T17:19:08.048Z","0.0.2":"2011-08-18T08:08:55.053Z","0.0.3":"2011-08-18T14:38:32.938Z","0.0.4":"2011-08-19T06:58:47.533Z","0.0.5":"2011-08-19T08:34:11.880Z","0.1.0":"2011-08-19T12:51:19.259Z","0.1.1":"2011-11-19T19:11:45.097Z","0.1.2":"2011-11-24T16:38:41.471Z","0.1.3":"2011-11-25T13:44:18.504Z","0.1.4":"2012-02-22T20:11:54.121Z","0.1.5":"2012-03-06T15:10:52.971Z","0.1.6":"2012-04-16T16:20:00.135Z","0.1.7":"2012-06-18T16:08:01.939Z","0.1.8":"2012-09-10T11:29:43.155Z","0.1.9":"2012-09-11T19:31:18.216Z","0.1.10":"2012-12-05T12:11:22.716Z","0.1.11":"2013-09-12T18:12:29.542Z","0.1.12":"2013-09-24T08:54:48.926Z","0.1.13":"2013-11-06T13:50:51.447Z"},"author":{"name":"David Harvey","email":"david@teamsandtechnology.com","url":"http://www.teamsandtechnology.com"},"repository":{"url":"git@github.com:davethehat/Mocket.git"}}