diff --git a/lib/reporter.js b/lib/reporter.js index 7e4385f..b1520de 100644 --- a/lib/reporter.js +++ b/lib/reporter.js @@ -64,10 +64,18 @@ var CoverageReporter = function(rootConfig, helper, logger) { } this.onRunStart = function(browsers) { - collectors = {}; - browsers.forEach(function(browser) { - collectors[browser.id] = new istanbul.Collector(); - }); + collectors = Object.create(null); + + // TODO(vojta): remove once we don't care about Karma 0.10 + if (browsers) { + browsers.forEach(function(browser) { + collectors[browser.id] = new istanbul.Collector(); + }); + } + }; + + this.onBrowserStart = function(browser) { + collectors[browser.id] = new istanbul.Collector(); }; this.onBrowserComplete = function(browser, result) { diff --git a/test/reporter.spec.coffee b/test/reporter.spec.coffee index 5f6623e..335a240 100644 --- a/test/reporter.spec.coffee +++ b/test/reporter.spec.coffee @@ -120,7 +120,8 @@ describe 'reporter', -> fakeOpera = makeBrowser 'bbb', 'Opera/9.80 Mac OS X Version/12.00', browsers, emitter browsers.add fakeChrome browsers.add fakeOpera - reporter.onRunStart browsers + reporter.onRunStart() + browsers.forEach (b) -> reporter.onBrowserStart b mockFs.writeFile.reset() mockMkdir.reset()