{"_id":"drive.js","_rev":"51-5d2ccf8bb235a216b9813c94932597ae","name":"drive.js","description":"js test driving with style","dist-tags":{"latest":"1.5.0"},"versions":{"0.0.1":{"name":"drive.js","description":"js test driving with style","version":"0.0.1","repository":{"type":"git","url":"git://github.com/urbanairship/drive.js.git"},"bin":{"drive":"./bin/drive"},"main":"./index.js","keywords":["javascript","tdd","test","browser","test driver"],"directories":{"lib":"."},"engines":{"node":">=0.6.0"},"dependencies":{"burrito":"0.X.X","tracejs":"0.X.X","dnode":"0.9.6","jsdom":"0.2.13","nopt":"1.0.10","paperboy":"0.0.3","request":"2.9.153","simple-mime":"0.0.4","useragent":"1.0.5","xmlhttprequest":"1.3.0"},"license":"MIT","author":{"name":"Chris Dickinson","email":"chris@neversaw.us","url":"http://neversaw.us/"},"_npmUser":{"name":"chrisdickinson","email":"chris@neversaw.us"},"_id":"drive.js@0.0.1","devDependencies":{},"optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.4","_nodeVersion":"v0.6.12","_defaultsLoaded":true,"dist":{"shasum":"fe72dfdb3ab797f97afbd95019fd8383c5ed4fa1","tarball":"https://registry.npmjs.org/drive.js/-/drive.js-0.0.1.tgz","integrity":"sha512-UQ9WnDP1u3AfI8JSCOriL70VmGAFlKovFHLauWzMNw6cAU3xGvJ2ERkc83kayr8jg4v4VL/RKrT1jwHn9P/N9g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHKBwh3SyK748u2bi2pmcDrdu7e574orlF+fsYEuNqmaAiEAuvZ3pMgqdan9vCchkQZBJIFaVSY7qR1Rftpczwn9jTc="}]},"maintainers":[{"name":"chrisdickinson","email":"chris@neversaw.us"}]},"0.0.2":{"name":"drive.js","description":"js test driving with style","version":"0.0.2","repository":{"type":"git","url":"git://github.com/urbanairship/drive.js.git"},"bin":{"drive":"./bin/drive"},"main":"./index.js","keywords":["javascript","tdd","test","browser","test driver"],"directories":{"lib":"."},"engines":{"node":">=0.6.0"},"dependencies":{"burrito":"0.X.X","tracejs":"0.X.X","dnode":"0.9.6","jsdom":"0.2.13","nopt":"1.0.10","paperboy":"0.0.3","request":"2.9.153","simple-mime":"0.0.4","useragent":"1.0.5","xmlhttprequest":"1.3.0"},"license":"MIT","author":{"name":"Chris Dickinson","email":"chris@neversaw.us","url":"http://neversaw.us/"},"_npmUser":{"name":"chrisdickinson","email":"chris@neversaw.us"},"_id":"drive.js@0.0.2","devDependencies":{},"optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.4","_nodeVersion":"v0.6.12","_defaultsLoaded":true,"dist":{"shasum":"cb464e2c86735de1cc6d80849e7b26004289db4d","tarball":"https://registry.npmjs.org/drive.js/-/drive.js-0.0.2.tgz","integrity":"sha512-nixDCevB/irSjs4C5FK/VqPFLK1pYu7l8HHE0h/X6PF25l057WHq+6g53KkozLsqcA9wu50okOAVsBsXDu/FDQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBHBYXRO9El4QHRaaBI5ib0UvxIq82Nf98kRxEv112lBAiAogw+dsIS/Y+ad6k5s82Pu9eHY2XvieCY2wIDhxRzftg=="}]},"maintainers":[{"name":"chrisdickinson","email":"chris@neversaw.us"}]},"0.0.3":{"name":"drive.js","description":"js test driving with style","version":"0.0.3","repository":{"type":"git","url":"git://github.com/urbanairship/drive.js.git"},"bin":{"drive":"./bin/drive"},"main":"./index.js","keywords":["javascript","tdd","test","browser","test driver"],"directories":{"lib":"."},"engines":{"node":">=0.6.0"},"dependencies":{"burrito":"0.X.X","tracejs":"0.X.X","dnode":"0.9.6","jsdom":"0.2.13","nopt":"1.0.10","paperboy":"0.0.3","request":"2.9.153","simple-mime":"0.0.4","useragent":"1.0.5","xmlhttprequest":"1.3.0"},"license":"MIT","author":{"name":"Chris Dickinson","email":"chris@neversaw.us","url":"http://neversaw.us/"},"_npmUser":{"name":"chrisdickinson","email":"chris@neversaw.us"},"_id":"drive.js@0.0.3","devDependencies":{},"optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.4","_nodeVersion":"v0.6.12","_defaultsLoaded":true,"dist":{"shasum":"75947ef7f4a5ffc47171774fd6fc17f036035115","tarball":"https://registry.npmjs.org/drive.js/-/drive.js-0.0.3.tgz","integrity":"sha512-qnrJTWbvi7B2V1fCdFZRrnDvnQWuZr0Go0Z+tDNKshR4aKZbmEpnGTXP0UikBlTsiO8OQKtrBHrEmHG/dEc5hg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA90Q3tOVpBVP3xlxaXjQOLshgdfSgMUDPL2YB5E+nxHAiBW6lm1mCGvPX/rDbfD4lhWh5VK9jnBQRf4Nq2sGu01bg=="}]},"maintainers":[{"name":"chrisdickinson","email":"chris@neversaw.us"}]},"0.0.4":{"name":"drive.js","description":"js test driving with style","version":"0.0.4","repository":{"type":"git","url":"git://github.com/urbanairship/drive.js.git"},"bin":{"drive":"./bin/drive"},"main":"./index.js","keywords":["javascript","tdd","test","browser","test driver"],"directories":{"lib":"."},"engines":{"node":">=0.6.0"},"dependencies":{"burrito":"0.X.X","tracejs":"0.X.X","dnode":"0.9.6","jsdom":"0.2.13","nopt":"1.0.10","paperboy":"0.0.3","request":"2.9.153","simple-mime":"0.0.4","useragent":"1.0.5","xmlhttprequest":"1.3.0"},"license":"MIT","author":{"name":"Chris Dickinson","email":"chris@neversaw.us","url":"http://neversaw.us/"},"_npmUser":{"name":"chrisdickinson","email":"chris@neversaw.us"},"_id":"drive.js@0.0.4","devDependencies":{},"optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.24","_nodeVersion":"v0.6.19","_defaultsLoaded":true,"dist":{"shasum":"82a560e296748eb471be3ab595f56d6654c9bce0","tarball":"https://registry.npmjs.org/drive.js/-/drive.js-0.0.4.tgz","integrity":"sha512-zrynh2dAG1j/tc+XKnhp8R5WMV8cjx1pWug2T1IiKa7vJVsZkgaEsP56oV0oY2Nno7d+oFBtPCIIjDAwrqVkOQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDQ+iXNtf1DRjuV06zvq89cJY63IiTJBiMWtJa5ew7d6AIgbACDHGYBGM1JPkAQwH1zOuPfLPghcXIhJVHvygY5dEE="}]},"maintainers":[{"name":"chrisdickinson","email":"chris@neversaw.us"}]},"0.0.5":{"name":"drive.js","description":"js test driving with style","version":"0.0.5","repository":{"type":"git","url":"git://github.com/urbanairship/drive.js.git"},"bin":{"drive":"./bin/drive"},"main":"./index.js","keywords":["javascript","tdd","test","browser","test driver"],"directories":{"lib":"."},"engines":{"node":">=0.6.0"},"dependencies":{"burrito":"0.X.X","tracejs":"0.X.X","dnode":"0.9.6","jsdom":"0.2.13","nopt":"1.0.10","paperboy":"0.0.3","request":"2.9.153","simple-mime":"0.0.4","useragent":"1.0.5","xmlhttprequest":"1.3.0"},"license":"MIT","author":{"name":"Chris Dickinson","email":"chris@neversaw.us","url":"http://neversaw.us/"},"_npmUser":{"name":"chrisdickinson","email":"chris@neversaw.us"},"_id":"drive.js@0.0.5","devDependencies":{},"optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.24","_nodeVersion":"v0.6.19","_defaultsLoaded":true,"dist":{"shasum":"f0a704290703f3c3b817de262a93c53fb534d55b","tarball":"https://registry.npmjs.org/drive.js/-/drive.js-0.0.5.tgz","integrity":"sha512-FPyvvkW8aSk56Ay4nEQ2Ze5YHGI1tGqYjejVUYtkpafoKpJ2AaMjp0toV5OV3ai6aSnMCzX1jBpPVF2Czz9Qpw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICqIKxSTmFSLKLC86h/7ZtLj/EDGK+QIPlNbO1GahhiCAiEA+kUMbfp9rYBfoEDZ/v6yWDUJQWjWUgJC7PxDVHRsu0w="}]},"maintainers":[{"name":"chrisdickinson","email":"chris@neversaw.us"}]},"0.0.6":{"name":"drive.js","description":"js test driving with style","version":"0.0.6","repository":{"type":"git","url":"git://github.com/urbanairship/drive.js.git"},"bin":{"drive":"./bin/drive"},"main":"./index.js","keywords":["javascript","tdd","test","browser","test driver"],"directories":{"lib":"."},"engines":{"node":">=0.6.0"},"dependencies":{"burrito":"0.X.X","tracejs":"0.X.X","dnode":"0.9.6","jsdom":"0.2.13","nopt":"1.0.10","paperboy":"0.0.3","request":"2.9.153","simple-mime":"0.0.4","useragent":"1.0.5","xmlhttprequest":"1.3.0"},"license":"MIT","author":{"name":"Chris Dickinson","email":"chris@neversaw.us","url":"http://neversaw.us/"},"_npmUser":{"name":"chrisdickinson","email":"chris@neversaw.us"},"_id":"drive.js@0.0.6","devDependencies":{},"optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.24","_nodeVersion":"v0.6.19","_defaultsLoaded":true,"dist":{"shasum":"7823e9a03699627c25b8c6b4c3a1673f29330cc4","tarball":"https://registry.npmjs.org/drive.js/-/drive.js-0.0.6.tgz","integrity":"sha512-8sPPaNROZZV4Lu4FFbhprwiXumnHv1BHyjYZVAKmRP20uyRtGifP847Egts9V2ITVMM0wR1LXuDlg0SHVjC6Ug==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDiof7HrSR1StKUNgpeKNDBtB5ZfCTPO7YhFMV2hU/hJAiEA8wpv5MLP30zJu58kig+nrmBhhBvWqk46LP44kW6hA8s="}]},"maintainers":[{"name":"chrisdickinson","email":"chris@neversaw.us"}]},"0.0.7":{"name":"drive.js","description":"js test driving with style","version":"0.0.7","repository":{"type":"git","url":"git://github.com/urbanairship/drive.js.git"},"bin":{"drive":"./bin/drive"},"main":"./index.js","keywords":["javascript","tdd","test","browser","test driver"],"directories":{"lib":"."},"engines":{"node":">=0.6.0"},"dependencies":{"burrito":"0.X.X","tracejs":"0.X.X","dnode":"0.9.6","jsdom":"0.2.13","nopt":"1.0.10","paperboy":"0.0.3","request":"2.9.153","simple-mime":"0.0.4","useragent":"1.0.5","xmlhttprequest":"1.3.0"},"license":"MIT","author":{"name":"Chris Dickinson","email":"chris@neversaw.us","url":"http://neversaw.us/"},"_npmUser":{"name":"chrisdickinson","email":"chris@neversaw.us"},"_id":"drive.js@0.0.7","devDependencies":{},"optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.24","_nodeVersion":"v0.6.19","_defaultsLoaded":true,"dist":{"shasum":"61574b0cf2998b2731ccdbd5644e2924374298d6","tarball":"https://registry.npmjs.org/drive.js/-/drive.js-0.0.7.tgz","integrity":"sha512-+UTGsYdbWEbl7u+PQu9simtuv5PaQDpgkMI7//3Shi+F7QjlRTM1ILnEhVZFWeozkIMdHAgl+A5VPnXSyxX5Iw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDapIFh2vgvWXXbU338lyyZaZ2oTUqWcaAIrChaVZoXDAIgVa/E83T13Q9kXtmP0omMBzbhLIz+f/UDzfWrzDbHTl8="}]},"maintainers":[{"name":"chrisdickinson","email":"chris@neversaw.us"}]},"0.0.8":{"name":"drive.js","description":"js test driving with style","version":"0.0.8","repository":{"type":"git","url":"git://github.com/urbanairship/drive.js.git"},"bin":{"drive":"./bin/drive"},"main":"./index.js","keywords":["javascript","tdd","test","browser","test driver"],"directories":{"lib":"."},"engines":{"node":">=0.6.0"},"dependencies":{"burrito":"0.X.X","tracejs":"0.X.X","dnode":"0.9.6","jsdom":"~0.7.0","nopt":"1.0.10","paperboy":"0.0.3","request":"2.9.153","simple-mime":"0.0.4","useragent":"1.0.5","xmlhttprequest":"1.3.0"},"license":"MIT","author":{"name":"Chris Dickinson","email":"chris@neversaw.us","url":"http://neversaw.us/"},"bugs":{"url":"https://github.com/urbanairship/drive.js/issues"},"_id":"drive.js@0.0.8","dist":{"shasum":"c72de25726e995aaed93cb2d54ea60628f24bc81","tarball":"https://registry.npmjs.org/drive.js/-/drive.js-0.0.8.tgz","integrity":"sha512-QWih9iFjBLP6hYnTA7ASTQPzxg9CM19bdU+3LSiJQX1EI8UQ449JJCrNr9OQEKXOxDTUnaOoZZgq+vn5RpVMsg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHRMfML2OdxkcGhnPpY/N9yhFNBW+ekC8Mu2fcV98UDbAiAVD+hJvcCEz/qnM1vgq9TM1i/UZXQWFJH5r1PNcUOsaA=="}]},"_from":".","_npmVersion":"1.2.32","_npmUser":{"name":"chrisdickinson","email":"chris@neversaw.us"},"maintainers":[{"name":"chrisdickinson","email":"chris@neversaw.us"}]},"0.0.9":{"name":"drive.js","description":"js test driving with style","version":"0.0.9","repository":{"type":"git","url":"git://github.com/urbanairship/drive.js.git"},"bin":{"drive":"./bin/drive"},"main":"./index.js","keywords":["javascript","tdd","test","browser","test driver"],"directories":{"lib":"."},"engines":{"node":">=0.6.0"},"dependencies":{"burrito":"0.X.X","tracejs":"0.X.X","dnode":"0.9.6","jsdom":"~0.7.0","nopt":"1.0.10","paperboy":"0.0.3","request":"2.9.153","simple-mime":"0.0.4","useragent":"1.0.5","xmlhttprequest":"1.3.0"},"license":"MIT","author":{"name":"Chris Dickinson","email":"chris@neversaw.us","url":"http://neversaw.us/"},"bugs":{"url":"https://github.com/urbanairship/drive.js/issues"},"_id":"drive.js@0.0.9","dist":{"shasum":"4ec17b6fd7f3e38ad930f7b19bcfd9ad702a0aa8","tarball":"https://registry.npmjs.org/drive.js/-/drive.js-0.0.9.tgz","integrity":"sha512-ao09LQrcHiSTd+G4sK9S4d9/g23DClDAd8eosM2tiRzrAgEhsF94AJDx7Iw0HOUvbx4rwUkfhBwgTtHc6kSabA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCHrroALWW/nQE0bndz+NUqxn69QyXFvz8B8PW4q2/OtAIhAJxHX/hVu/L/jBYW1dVYcElL5xF5c3l1fJ00D+QFvN/g"}]},"_from":".","_npmVersion":"1.2.32","_npmUser":{"name":"chrisdickinson","email":"chris@neversaw.us"},"maintainers":[{"name":"chrisdickinson","email":"chris@neversaw.us"}]},"1.0.0":{"name":"drive.js","description":"js test driving with style","version":"1.0.0","repository":{"type":"git","url":"git://github.com/urbanairship/drive.js.git"},"bin":{"drive":"./bin/drive"},"main":"./index.js","keywords":["javascript","tdd","test","browser","test driver"],"directories":{"lib":"."},"engines":{"node":">=0.6.0"},"dependencies":{"burrito":"0.X.X","tracejs":"0.X.X","dnode":"0.9.6","jsdom":"~0.7.0","nopt":"1.0.10","paperboy":"0.0.3","request":"2.9.153","simple-mime":"0.0.4","useragent":"1.0.5","xmlhttprequest":"1.3.0","browserify":"~2.34.0","falafel":"~0.3.1","cssauron-falafel":"0.0.3","through":"~2.3.4"},"license":"MIT","author":{"name":"Chris Dickinson","email":"chris@neversaw.us","url":"http://neversaw.us/"},"bugs":{"url":"https://github.com/urbanairship/drive.js/issues"},"homepage":"https://github.com/urbanairship/drive.js","_id":"drive.js@1.0.0","dist":{"shasum":"520e703aa3442cfcdededa18f74783b7a1699a57","tarball":"https://registry.npmjs.org/drive.js/-/drive.js-1.0.0.tgz","integrity":"sha512-huCoYR4rJN1gbiTwVugZKhBy7lgjW3P+3jejnua5IjxWKz0nUhkytBsu9g/ZmjHPs7VPofHZPOmQI/bgVSD7CQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG9U8oz6C7kPzDc+SJMNiZDl3oyJeCWL4/z0broxaksJAiEA+JG9gwsoAlCYd7mw89kJzxeI6TFxJ+Y7Ct0Tntvb608="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"jarofghosts","email":"me@jessekeane.me"},"maintainers":[{"name":"chrisdickinson","email":"chris@neversaw.us"},{"name":"jarofghosts","email":"me@jessekeane.me"}]},"1.1.0":{"name":"drive.js","description":"js test driving with style","version":"1.1.0","repository":{"type":"git","url":"git://github.com/urbanairship/drive.js.git"},"bin":{"drive":"./bin/drive"},"main":"./index.js","keywords":["javascript","tdd","test","browser","test driver"],"directories":{"lib":"."},"engines":{"node":">=0.6.0"},"dependencies":{"burrito":"0.X.X","tracejs":"0.X.X","dnode":"0.9.6","jsdom":"~0.7.0","nopt":"1.0.10","paperboy":"0.0.3","request":"2.9.153","simple-mime":"0.0.4","useragent":"1.0.5","xmlhttprequest":"1.3.0","browserify":"~2.34.0","falafel":"~0.3.1","cssauron-falafel":"0.0.3","through":"~2.3.4","getport":"~0.1.0"},"license":"MIT","author":{"name":"Chris Dickinson","email":"chris@neversaw.us","url":"http://neversaw.us/"},"bugs":{"url":"https://github.com/urbanairship/drive.js/issues"},"_id":"drive.js@1.1.0","dist":{"shasum":"223008a89d8ca4509366c20d3e759dac2052ec97","tarball":"https://registry.npmjs.org/drive.js/-/drive.js-1.1.0.tgz","integrity":"sha512-S/hdkS47SiIn1sHAfd8U+QsNt8Iwy4whA3aAfRoesiq6Z/AVEBgNoWc6yJF42PXMRSXbCIgkQO+8LX/p+Cw7dg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDDB3hx35GV5YAwRECuK1nel7KRCuJjcqiY9AaTJhzPAAIgGvemzm5vRXQ7lRegBdKg22YRdbEyBxHV/jmFvwwASyg="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"jarofghosts","email":"me@jessekeane.me"},"maintainers":[{"name":"chrisdickinson","email":"chris@neversaw.us"},{"name":"jarofghosts","email":"me@jessekeane.me"}]},"1.1.1":{"name":"drive.js","description":"js test driving with style","version":"1.1.1","repository":{"type":"git","url":"git://github.com/urbanairship/drive.js.git"},"bin":{"drive":"./bin/drive"},"main":"./index.js","keywords":["javascript","tdd","test","browser","test driver"],"directories":{"lib":"."},"engines":{"node":">=0.6.0"},"dependencies":{"burrito":"0.X.X","tracejs":"0.X.X","dnode":"0.9.6","jsdom":"~0.7.0","nopt":"1.0.10","paperboy":"0.0.3","request":"2.9.153","simple-mime":"0.0.4","useragent":"1.0.5","xmlhttprequest":"1.3.0","browserify":"~2.34.0","falafel":"~0.3.1","cssauron-falafel":"0.0.3","through":"~2.3.4","getport":"~0.1.0"},"license":"MIT","author":{"name":"Chris Dickinson","email":"chris@neversaw.us","url":"http://neversaw.us/"},"bugs":{"url":"https://github.com/urbanairship/drive.js/issues"},"_id":"drive.js@1.1.1","dist":{"shasum":"44412fe32cb5e4139a6b0a9811dd72653501b8ff","tarball":"https://registry.npmjs.org/drive.js/-/drive.js-1.1.1.tgz","integrity":"sha512-ejuvzg9M853NID/0Dbg6HLYZlWwRhVQzkxVqhacfj3mlRyDZ8OssPzh4hENLwRHFsMlKzm4TiwwBEUhDob8K+w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHiLblzmslsSrFIY+uEYda0ixuGo+Ct3dAruoOoV7+KWAiAKsP48n9fy6c2J+U81KrfSfRFEHtQP0kCeSMRph33D0A=="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"jarofghosts","email":"me@jessekeane.me"},"maintainers":[{"name":"chrisdickinson","email":"chris@neversaw.us"},{"name":"jarofghosts","email":"me@jessekeane.me"}]},"1.1.2":{"name":"drive.js","description":"js test driving with style","version":"1.1.2","repository":{"type":"git","url":"git://github.com/urbanairship/drive.js.git"},"bin":{"drive":"./bin/drive"},"main":"./index.js","keywords":["javascript","tdd","test","browser","test driver"],"directories":{"lib":"."},"engines":{"node":">=0.6.0"},"dependencies":{"burrito":"0.X.X","tracejs":"0.X.X","dnode":"0.9.6","jsdom":"~0.7.0","nopt":"1.0.10","paperboy":"0.0.3","request":"2.9.153","simple-mime":"0.0.4","useragent":"1.0.5","xmlhttprequest":"1.3.0","browserify":"~2.34.0","falafel":"~0.3.1","cssauron-falafel":"0.0.3","through":"~2.3.4","getport":"~0.1.0"},"license":"MIT","author":{"name":"Chris Dickinson","email":"chris@neversaw.us","url":"http://neversaw.us/"},"bugs":{"url":"https://github.com/urbanairship/drive.js/issues"},"_id":"drive.js@1.1.2","dist":{"shasum":"4a22d3900b020529c856744bd8e1f2b936c4e99a","tarball":"https://registry.npmjs.org/drive.js/-/drive.js-1.1.2.tgz","integrity":"sha512-3qWHLdVHLxCYU7QywkYwm5F1IOID2pwvZ08+oA+1KqwiUphbwiOFuyJdooZHvmgK9rOA62zJQ4NZ+tsBYHtBnw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICgFC+zX52LpeKj/mdTk0HKL3h2LYPPdAXEcsCnq4HV5AiEA6Ws+QVv59c3XBvnKR26AWaQW3cTRdKdqwi2c6M7RA18="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"jarofghosts","email":"me@jessekeane.me"},"maintainers":[{"name":"chrisdickinson","email":"chris@neversaw.us"},{"name":"jarofghosts","email":"me@jessekeane.me"}]},"1.1.3":{"name":"drive.js","description":"js test driving with style","version":"1.1.3","repository":{"type":"git","url":"git://github.com/urbanairship/drive.js.git"},"bin":{"drive":"./bin/drive"},"main":"./index.js","keywords":["javascript","tdd","test","browser","test driver"],"directories":{"lib":"."},"engines":{"node":">=0.6.0"},"dependencies":{"burrito":"0.X.X","tracejs":"0.X.X","dnode":"0.9.6","jsdom":"~0.7.0","nopt":"1.0.10","paperboy":"0.0.3","request":"2.9.153","simple-mime":"0.0.4","useragent":"1.0.5","xmlhttprequest":"1.3.0","browserify":"~2.34.0","falafel":"~0.3.1","cssauron-falafel":"0.0.3","through":"~2.3.4","getport":"~0.1.0"},"license":"MIT","author":{"name":"Chris Dickinson","email":"chris@neversaw.us","url":"http://neversaw.us/"},"bugs":{"url":"https://github.com/urbanairship/drive.js/issues"},"homepage":"https://github.com/urbanairship/drive.js","_id":"drive.js@1.1.3","dist":{"shasum":"5f5a55f03fcf4059e2f039bf39f733a15d25016e","tarball":"https://registry.npmjs.org/drive.js/-/drive.js-1.1.3.tgz","integrity":"sha512-3H521KQ3eUCO4zNoc9fsLSB49KXxFcI/0yeZyu7Y6iq0QIE//pXK+XQM9jPUSJy9db18ylT78AFRJX7VLJYrAw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGB26L7L5n0hZ3R+VBm8P2m/B+vVn9AaKTLkRDLGKHPwAiEA8zsvlyDJNwJ1jhZFUytiBMI6FCvgt5P5acvJuWAQDVw="}]},"_from":".","_npmVersion":"1.3.14","_npmUser":{"name":"jarofghosts","email":"me@jessekeane.me"},"maintainers":[{"name":"chrisdickinson","email":"chris@neversaw.us"},{"name":"jarofghosts","email":"me@jessekeane.me"}]},"1.1.4":{"name":"drive.js","description":"js test driving with style","version":"1.1.4","repository":{"type":"git","url":"git://github.com/urbanairship/drive.js.git"},"bin":{"drive":"./bin/drive"},"main":"./index.js","keywords":["javascript","tdd","test","browser","test driver"],"directories":{"lib":"."},"engines":{"node":">=0.6.0"},"dependencies":{"burrito":"0.X.X","tracejs":"0.X.X","dnode":"0.9.6","jsdom":"~0.7.0","nopt":"1.0.10","paperboy":"0.0.3","request":"2.9.153","simple-mime":"0.0.4","useragent":"1.0.5","xmlhttprequest":"1.3.0","browserify":"~2.34.0","falafel":"~0.3.1","cssauron-falafel":"0.0.3","through":"~2.3.4","getport":"~0.1.0"},"license":"MIT","author":{"name":"Chris Dickinson","email":"chris@neversaw.us","url":"http://neversaw.us/"},"bugs":{"url":"https://github.com/urbanairship/drive.js/issues"},"homepage":"https://github.com/urbanairship/drive.js","_id":"drive.js@1.1.4","dist":{"shasum":"04069f436eb9791cea4b06f3e7d8769f87ddcc7b","tarball":"https://registry.npmjs.org/drive.js/-/drive.js-1.1.4.tgz","integrity":"sha512-rBlj+SVN+c8/lpYln0eETQR62ICpQG8Olh7GX85uteAqTX7B83siRweg+UsRY59/uAbZvis/bDqnkkQ097B7OA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCaGEDUWRMhbYZgBDQrroI3H+4TsvjSZt+2RHSs7roIbQIhAMSwdPkQcS1NYlv4cHJQs4KbZnqL+2uO9FkAkymPhKJR"}]},"_from":".","_npmVersion":"1.3.14","_npmUser":{"name":"jarofghosts","email":"me@jessekeane.me"},"maintainers":[{"name":"chrisdickinson","email":"chris@neversaw.us"},{"name":"jarofghosts","email":"me@jessekeane.me"}]},"1.1.5":{"name":"drive.js","description":"js test driving with style","version":"1.1.5","repository":{"type":"git","url":"git://github.com/urbanairship/drive.js.git"},"bin":{"drive":"./bin/drive"},"main":"./index.js","keywords":["javascript","tdd","test","browser","test driver"],"directories":{"lib":"."},"engines":{"node":">=0.6.0"},"dependencies":{"burrito":"0.2.12","tracejs":"0.1.8","dnode":"0.9.6","jsdom":"0.8.8","nopt":"1.0.10","paperboy":"0.0.3","request":"2.9.153","simple-mime":"0.0.4","useragent":"1.0.5","xmlhttprequest":"1.3.0","browserify":"2.34.3","falafel":"0.3.1","cssauron-falafel":"0.0.3","getport":"0.1.0","cssstyle":"0.2.3","cssom":"0.2.5","through":"2.3.4"},"license":"MIT","author":{"name":"Chris Dickinson","email":"chris@neversaw.us","url":"http://neversaw.us/"},"bugs":{"url":"https://github.com/urbanairship/drive.js/issues"},"_id":"drive.js@1.1.5","dist":{"shasum":"9e061f981db37d531f23a83d316fadab4cad5466","tarball":"https://registry.npmjs.org/drive.js/-/drive.js-1.1.5.tgz","integrity":"sha512-sW9lgddMY23DYPqbDFVLxl2kuHyloVNR6ocgS0NDsvsbKmk3TZGuP9sn9eegLd+NrEwX2LBkEmrJlyE0frXEXw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCexP8sn9pYgBMP012z/HViEQkiokRpRY1g9LD7ZSzOwgIhAOe5MhGv/zTOo4IcsoYkJudxqyeYE++hVI34sLSPUdvX"}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"chrisdickinson","email":"chris@neversaw.us"},"maintainers":[{"name":"chrisdickinson","email":"chris@neversaw.us"},{"name":"jarofghosts","email":"me@jessekeane.me"}]},"1.2.0":{"name":"drive.js","description":"js test driving with style","version":"1.2.0","repository":{"type":"git","url":"git://github.com/urbanairship/drive.js.git"},"bin":{"drive":"./bin/drive"},"main":"./index.js","keywords":["javascript","tdd","test","browser","test driver"],"directories":{"lib":"."},"engines":{"node":">=0.6.0"},"dependencies":{"burrito":"0.2.12","tracejs":"0.1.8","dnode":"0.9.6","jsdom":"0.8.9","nopt":"1.0.10","paperboy":"0.0.3","request":"2.9.153","simple-mime":"0.0.4","useragent":"1.0.5","xmlhttprequest":"1.3.0","browserify":"2.34.3","falafel":"0.3.1","cssauron-falafel":"0.0.3","getport":"0.1.0","cssstyle":"0.2.3","cssom":"0.2.5","through":"2.3.4"},"license":"MIT","author":{"name":"Chris Dickinson","email":"chris@neversaw.us","url":"http://neversaw.us/"},"bugs":{"url":"https://github.com/urbanairship/drive.js/issues"},"_id":"drive.js@1.2.0","dist":{"shasum":"76264381bbe53e93b8f3b6a4f85ab142db13a286","tarball":"https://registry.npmjs.org/drive.js/-/drive.js-1.2.0.tgz","integrity":"sha512-BKeEZ8ZnuHISfXRgAEyL1uUfZ1odFqpZIzTxh0pdkz5DGzXHF+zJAUsPcYL+Qve5A9/KS7+a8de5r+spiWHa7Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBQo4aIFY56O6svmkiVynnvRMyhsJcKboY2ASbsL+7+MAiA08CdGrq2oqGsbgzCy7nuPslNx5wm9/EaitIo6yq18Mg=="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"chrisdickinson","email":"chris@neversaw.us"},"maintainers":[{"name":"chrisdickinson","email":"chris@neversaw.us"},{"name":"jarofghosts","email":"me@jessekeane.me"}]},"1.3.0":{"name":"drive.js","description":"js test driving with style","version":"1.3.0","repository":{"type":"git","url":"git://github.com/urbanairship/drive.js.git"},"bin":{"drive":"./bin/drive"},"main":"./index.js","keywords":["javascript","tdd","test","browser","test driver"],"directories":{"lib":"."},"engines":{"node":">=0.6.0"},"dependencies":{"burrito":"0.2.12","tracejs":"0.1.8","dnode":"0.9.6","jsdom":"0.8.9","nopt":"1.0.10","paperboy":"0.0.3","request":"2.9.153","simple-mime":"0.0.4","useragent":"1.0.5","xmlhttprequest":"1.3.0","browserify":"2.34.3","falafel":"0.3.1","cssauron-falafel":"0.0.3","getport":"0.1.0","cssstyle":"0.2.3","cssom":"0.2.5","through":"2.3.4"},"license":"MIT","author":{"name":"Chris Dickinson","email":"chris@neversaw.us","url":"http://neversaw.us/"},"bugs":{"url":"https://github.com/urbanairship/drive.js/issues"},"_id":"drive.js@1.3.0","dist":{"shasum":"823959bbad50812b1423248ce9cdfbfebff3a55c","tarball":"https://registry.npmjs.org/drive.js/-/drive.js-1.3.0.tgz","integrity":"sha512-wRToZeDCLo8tPOOMMscHEaSrc6UO/bZaESno+9AZQCLhHGyyAyMRRC5/3bFi0Nspm9dOA1C9EJbO0WzvxbbNkA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGJmUq/nttXfGEt042O17uFpkVDEK5j5AJSVuohYgopFAiEAlmSrpHDHPzX3WKgNG9v8yHyruPHGDGpG6jxcXvuzQLA="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"chrisdickinson","email":"chris@neversaw.us"},"maintainers":[{"name":"chrisdickinson","email":"chris@neversaw.us"},{"name":"jarofghosts","email":"me@jessekeane.me"}]},"1.4.0":{"name":"drive.js","description":"js test driving with style","version":"1.4.0","repository":{"type":"git","url":"git://github.com/urbanairship/drive.js.git"},"bin":{"drive":"./bin/drive"},"main":"./index.js","keywords":["javascript","tdd","test","browser","test driver"],"directories":{"lib":"."},"engines":{"node":">=0.6.0"},"dependencies":{"burrito":"0.2.12","tracejs":"0.1.8","dnode":"0.9.6","jsdom":"0.8.9","nopt":"1.0.10","paperboy":"0.0.3","request":"2.9.153","simple-mime":"0.0.4","useragent":"1.0.5","xmlhttprequest":"1.3.0","browserify":"2.34.3","falafel":"0.3.1","cssauron-falafel":"0.0.3","getport":"0.1.0","cssstyle":"0.2.3","cssom":"0.2.5","through":"2.3.4"},"license":"MIT","author":{"name":"Chris Dickinson","email":"chris@neversaw.us","url":"http://neversaw.us/"},"bugs":{"url":"https://github.com/urbanairship/drive.js/issues"},"homepage":"https://github.com/urbanairship/drive.js","_id":"drive.js@1.4.0","dist":{"shasum":"1956b5a72ebfc94b75c0c36f340f75b16f8ea9ff","tarball":"https://registry.npmjs.org/drive.js/-/drive.js-1.4.0.tgz","integrity":"sha512-1R6S/drI+9WRZBFv1D1zo3885giC9MKdKTN18PsEOeEgJLawf/u3L2m1l/Fe1PSpeU8yUtdB7VRZeL+qH6e7LA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEsSbU3PrAqndqiuBlG8HC47XqXqjNdTVgmaouCUEPwwAiB36B3Te8ZL3Qv96XwLmJsgjjRz01Vgp8LwAvfNeJHz3w=="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"chrisdickinson","email":"chris@neversaw.us"},"maintainers":[{"name":"chrisdickinson","email":"chris@neversaw.us"},{"name":"jarofghosts","email":"me@jessekeane.me"}]},"1.5.0":{"name":"drive.js","description":"js test driving with style","version":"1.5.0","repository":{"type":"git","url":"git://github.com/urbanairship/drive.js.git"},"bin":{"drive":"./bin/drive"},"main":"./index.js","keywords":["javascript","tdd","test","browser","test driver"],"directories":{"lib":"."},"engines":{"node":">=0.6.0"},"dependencies":{"burrito":"0.2.12","tracejs":"0.1.8","dnode":"0.9.6","jsdom":"0.8.9","nopt":"1.0.10","paperboy":"0.0.3","request":"2.9.153","simple-mime":"0.0.4","useragent":"1.0.5","xmlhttprequest":"1.3.0","browserify":"2.34.3","falafel":"0.3.1","cssauron-falafel":"0.0.3","getport":"0.1.0","cssstyle":"0.2.3","cssom":"0.2.5","through":"2.3.4"},"license":"MIT","author":{"name":"Chris Dickinson","email":"chris@neversaw.us","url":"http://neversaw.us/"},"gitHead":"f5f844ee516eb595cfdd3381ba0c7e31364b3097","bugs":{"url":"https://github.com/urbanairship/drive.js/issues"},"homepage":"https://github.com/urbanairship/drive.js","_id":"drive.js@1.5.0","scripts":{},"_shasum":"3ffce4419c50a88d480d8bd0fd9465adff031570","_from":".","_npmVersion":"2.1.3","_nodeVersion":"0.10.32","_npmUser":{"name":"jarofghosts","email":"dev@urbanairship.com"},"maintainers":[{"name":"chrisdickinson","email":"chris@neversaw.us"},{"name":"jarofghosts","email":"me@jessekeane.me"}],"dist":{"shasum":"3ffce4419c50a88d480d8bd0fd9465adff031570","tarball":"https://registry.npmjs.org/drive.js/-/drive.js-1.5.0.tgz","integrity":"sha512-1U74+O0ghgW13v9ZVu739JpDxxecWfLku0L/qrwHQ/irz8wuA9VdnMo5MTvkqtaUgHqO2aMxRTIdjaHXrI4wFg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCQSwNL/W8irqWLSjoBdK1WdYFnFvt45Nazaz6u4V3EDQIhAPZ6DV7xNQNedPA9lJg8mfVOxkUmsCNnfGP4n8dVJkh+"}]}}},"readme":"# Drive.js\n\nCross-browser unit testing for humans.\n\n## Installation\n\n* Download [node.js](http://nodejs.org/#download)\n* Open up a terminal.\n* Run the following command:\n\n````sh\n$ npm install -g drive.js\n````\n\nYou should be good to go!\n\n## What is it?\n\nDrive is a unit testing framework and test driver. It can be used locally -- without any browsers involved --\nor set up as a test driver server for other clients to connect to.\n\nThe goal of Drive is to reduce context-switching from your terminal -- ideally, you should be able to test all\nof your target environments without ever leaving your terminal. This means that it attempts to provide (at minimum)\na decent set of debugging tools across all environments:\n\n* **Humane stack traces**: reformats stack traces (as much as possible) to give context around the exceptions, using\ntracejs. Some environments support a bit less debugging info than V8, and in those cases Drive will do its level\nbest to at least show you where the error originated from.\n\n* **console.log piping**: Drive will pipe the output from `console.error` and `console.log` directly to your terminal,\nannotated with the environment from which they originated. This means that if you need (for whatever reason) to inspect \nvariables in a given environment, it's totally possible without too much hand-wringing.\n\n* **Experimental `repl` support**: You can set a breakpoint using `__repl.set_trace()` in your code, and drive will enable\na `gdb`-style REPL in that environment from that point forward.\n\nThe secondary goal of drive is that it should make testing DOM-heavy applications easy.\n\nThis means that you may specify your own HTML to be served with a given test suite. The drive server will take care of serving it\nfor you. If you have an AJAX-heavy application, you can additionally supply stubbed endpoints that the Drive server will serve.\n\n## What does a test suite look like?\n\nDrive is modeled after [visionmedia's mocha](http://github.com/visionmedia/mocha).\n\nIt provides the [assert module](http://nodejs.org/api/assert.html) automatically.\n\nThere should be only one `suite` per file.\n\n````javascript\n\n// example.test.js\nsuite(\"Test suite name\", function(require) {\n  // require other modules!\n  var MyApp = require('../myapp')\n\n  test(\"A synchronous test\", function() {\n    assert.equal(0, 1)\n  })\n\n  // tests can be made async by simply defining\n  // your test function as taking a \"done\" callback.\n  //\n  // if your suite does not call the done callback within\n  // 30 seconds, it will automatically trigger a \"timeout\" error.\n  test(\"An async test\", function(done) {\n    var xhr = new XMLHttpRequest\n\n    xhr.open('GET', 'myendpoint')\n    xhr.onreadystatechange = function() {\n      if(xhr.readyState == 4) {\n        assert.equal(xhr.responseText, 'hello world')\n        done()\n      }\n    }\n    xhr.send(null)\n\n  })\n})\n\n// html may be included relative to the current test file.\nhtml('../path/to/my/document.html')\n\n// provide endpoints to the drive server\nendpoints({\n  'myendpoint':function(req, resp) {\n    resp.writeHead(200, {'Content-Type':'text/plain'})\n    resp.end('hello world')\n  }\n})\n\n````\n\n# CLI\n\n## drive file_or_directory [file_or_directory, ...]\n\n`file_or_directory` is the relative path to the file you want to test.\n\nRun the tests located at `file_or_directory` locally, in a JSDOM environment.\n\nIf a directory is given, `drive` will search for any files matching `*.test.js` under\nthat directory and its sub-directories.\n\n**No drive server is required in this mode.**\n\n## drive file_or_directory [...] --driver=(host | port)\n\nRuns the tests listed in all environments available to the Drive server located at `host` or `port`.\n\n## drive file_or_directory [...] --driver 8124 --want env [--want env, ...]\n\nRuns the tests listed in all environments matching `env`, where env is transformed into a\nregex that matches against `browser / version / os`\n\nExamples:\n\n* `drive . --driver 8124 --want ie --want firefox`\n* `drive . --driver 8124 --want ie/8`\n* `drive . --driver 8124 --want osx`\n\n## drive file_or_directory [...] --driver 8124 --repl\n\nWill run the tests at `file_or_directory` in a single environment (whichever matches first, so it's\nadvisable to use `--want` to filter down environments) with `repl` mode enabled.\n\nThis passes all test files (and all `require`'d media) through `node-burrito`, transforming it to\nprovide breakpoints to the repl (for step-debugging).\n\nCommands in the repl:\n\n* `n`: step one statement forward. do not enter function calls.\n* `s`: step one statement forward, enter function calls if any.\n* `c`: continue execution.\n\nAny statements not matched by the above commands will be evaluated in the same context. \n\nThe last item of `arguments` will be the `REPL` function -- **don't be alarmed**!\n\n## drive file_or_directory [...] --browserify\n\nWill build a [browserify](https://github.com/substack/node-browserify) bundle\nof test dependencies and use it to provide requirements instead of the default\nrequire.js provider. Because this method does not use require.js, it is not\nnecessary to accept `require` as an argument in your `suite` function. If your\ntests do have this, though, do not fret as it will be rewritten to remove it.\n\nDrive also supports passing options to browserify for customizing your test\nbundle output.\n\n* `drive [...] --browserify -- --transform <file>`: Apply `<file>` as a\nbrowserify transform to all dependencies. Note that all transforms are applied\nto test files as well. Alias `-t`.\n\n* `drive [...] --browserify -- --noparse <file>`: Skip browserify's parsing of\n`<file>`, useful for large libraries or other files that do not export or\nrequire anything.\n\n* `drive [...] --browserify -- --entry <file>`: Manually add `<file>` as an\nentry point in your browserify bundle. Alias `-e`.\n\n* `drive [...] --browserify -- --external <file>`: Consider `<file>` an\nexternal resource to `require` from. Alias `-x`.\n\n## drive file_or_directory [...] --tap\n\nTest runs will output machine-friendly\n[TAP](http://testanything.org/wiki/index.php/Main_Page) instead of its default,\nmore human-friendly output. This is useful for integrating Drive into\nautomated testing/building systems.\n\n## drive file_or_directory [...] --failfast\n\nTest runs will be immediately ended upon any single failure. Alias `-x`\n\n## drive --spawn (host | port)\n\nSpawns a drive test server.\n\nClients may be registered by navigating to `http://host:port/` in your desired environments.\n\nA DNode server will attempt to listen one port above the given port for incoming test requests.\n\n* `drive --spawn 8124 [--bundle <file or dir>, ...]`: Automatically bundle these files in every\ntest, regardless of default or custom HTML for that test. Useful for pinning to a version of jQuery,\nor ensuring that all tests run with `es5-shim`. These files may be cached by the browser.\n\nIf a directory is provided, all files ending in `.js` in that directory and its subdirectories will\nbe included in the bundle.\n\n**NB**: If there is a `.drive_bundle` file in the current directory or any parent directory,\nthose files will be automatically bundled, relative to the location of the `.drive_bundle`:\n\nExample `.drive_bundle`, which will include all `.js` files in `js/thirdparty`, as well as `jquery.js`:\n\n````\n./js/thirdparty/\n./js/jquery.js\n````\n\n**NB**: Bundled files will be excluded from any processing done by the drive server -- that is to\nsay, you cannot use the `repl` inside these files (and in the future, no coverage or perf data\nwill be available within them).\n\n* `drive --spawn 8124 [--adaptor file.js, ...]`: If given, after the Driver server is spawned, passes\nthe server to the function exported from `file.js`. Listeners may be attached to the driver server\nto extend functionality. Multiple adaptors may attach to the same server.\n\n````javascript\nmodule.exports = function(driver) {\n  driver.on('join', function(env) {\n    // emitted when an environment joins the drive server\n    // env -> {uuid, type} (uuid = 16hex-16hex, type = 'browser / version / os'\n  })\n\n  driver.on('drop', function(env) {\n    // emitted when an environment is dropped from the server (ping timeout)\n  })\n\n  driver.on('request', function(request) {\n    // emitted when the server receives a request to run tests.\n    // request -> {ident:{name, email}, client:{client:DNode}, tests:[list of filenames]}\n  })\n\n  driver.on('run', function(run, env) {\n    // emitted when an environment starts a test run\n    // run -> {uuid, request, tests:[<test suite objects>]}\n  })\n\n  driver.on('suite', function(run, env, suite) {\n    // emitted when an environment starts running a test suite\n    // suite -> {name, request}\n  })\n\n  driver.on('result', function(run, env, suite, result) {\n    // emitted when an environment provides a result for a test suite.\n    // result -> {<test names>:test_result}\n    //   test_result    -> {pass:true, elapsed:<integer ms>} if pass\n    //                  -> {assertion:true, message, [error data]} if fail\n    //                  -> {[error data]} if error\n  })\n\n  driver.on('finish', function(run, env) {\n    // emitted when a test run is complete and the env is returning to idle\n  })\n}\n````\n\n# Some specifics\n\n* Driver will attempt to divide-and-conquer your test files in up to four environments at once --\nthat is to say, if you have four instances of a single browser connected to a Drive server, and you\nsend them 32 files to test, each browser will test 8 different files, in an effort to keep things speedy.\n\n* Tests (and `require`'d media) are hosted under `/<env_uuid>/<run_uuid>/_media/`, so they should never\nbe cached.\n\n* User endpoints are similarly hosted under `/<env_uuid>/<run_uuid>/`.\n\n* Registered environments will attempt to reconnect to the server if they detect that it is down. That\nmeans, in practice, that you can restart the driver server itself without having to refresh 4-5 different\nbrowsers.\n\n* Works on IOS.\n\n","maintainers":[{"name":"chrisdickinson","email":"chris@neversaw.us"},{"name":"jarofghosts","email":"me@jessekeane.me"},{"name":"ua","email":"web-team@urbanairship.com"}],"time":{"modified":"2022-06-16T00:12:52.545Z","created":"2012-04-24T17:11:04.666Z","0.0.1":"2012-04-24T17:11:07.792Z","0.0.2":"2012-05-15T22:53:41.334Z","0.0.3":"2012-06-01T20:54:26.738Z","0.0.4":"2012-06-15T04:13:18.731Z","0.0.5":"2012-06-18T17:00:12.239Z","0.0.6":"2012-06-26T19:07:13.718Z","0.0.7":"2012-06-28T21:27:09.832Z","0.0.8":"2013-07-09T17:28:14.328Z","0.0.9":"2013-07-29T21:27:29.075Z","1.0.0":"2013-10-22T22:27:19.051Z","1.1.0":"2013-10-29T20:06:15.600Z","1.1.1":"2013-10-30T00:22:43.332Z","1.1.2":"2013-11-05T20:33:03.532Z","1.1.3":"2013-11-21T22:38:38.199Z","1.1.4":"2013-11-22T00:35:49.445Z","1.1.5":"2013-11-27T00:14:24.746Z","1.2.0":"2013-12-09T20:00:26.055Z","1.3.0":"2013-12-26T20:07:48.136Z","1.4.0":"2014-03-31T19:00:42.661Z","1.5.0":"2014-10-31T20:25:08.199Z"},"author":{"name":"Chris Dickinson","email":"chris@neversaw.us","url":"http://neversaw.us/"},"repository":{"type":"git","url":"git://github.com/urbanairship/drive.js.git"},"users":{"chrisdickinson":true,"Xian":true},"homepage":"https://github.com/urbanairship/drive.js","keywords":["javascript","tdd","test","browser","test driver"],"bugs":{"url":"https://github.com/urbanairship/drive.js/issues"},"license":"MIT","readmeFilename":"README.md"}