         code.should.equal 6
         stdout.should.not.match /passes/
 
-    describe 'no-colors', ->
-      it 'suppresses color output', ->
+    describe 'colors', ->
+      it 'by default outputs in color', ->
+        { stdout } = yield run
+          reporter: 'dot'
+          test: 'mixed'
+        
+        stdout.should.match /\u001b\[90m\․\u001b\[0m/ # grey
+        stdout.should.match /\u001b\[36m\․\u001b\[0m/ # cyan
+        stdout.should.match /\u001b\[31m\․\u001b\[0m/ # red
+
+      it 'can suppresses color output', ->
         { stdout } = yield run
           test: 'mixed'
           useColors: false

  xit 'returns a failure code and shows usage when no args are given', ->
    run done, [], (code, stdout, stderr) ->
      code.should.equal 1
      stdout.should.match /Usage: mocha-phantomjs/

  it 'returns a failure code and notifies of bad url when given one', ->
    @timeout = 4000

    { stdout } = yield run { test: 'mocha-runner' }
    stdout.should.match /Run callback fired/m

  it 'can use a different reporter', ->
    { stdout } = yield run
      reporter: 'xunit'
      test: 'mixed'
    
    stdout.should.match /<testcase classname="Tests Mixed" name="passes 1" time=".*"\/>/

  describe 'exit code', ->
    it 'returns 0 when all tests pass', ->
      { code } = yield run { test: 'passing' }
      code.should.equal 0

    it 'returns a failing code equal to the number of mocha failures', ->
      { code } = yield run { test: 'failing' }
      code.should.equal 3

    it 'returns a failing code correctly even with async failing tests', ->
      { code } = yield run { test: 'failing-async' }
      code.should.equal 3

  describe 'screenshot', ->
    it 'takes a screenshot into given file, suffixed with .png', ->
      { code } = yield run { test: 'screenshot' }
      code.should.equal 0
      fileName = 'screenshot.png'
      fs.existsSync(fileName).should.be.true
      fs.unlinkSync(fileName)

  describe 'third party reporters', ->
    it 'loads and wraps node-style reporters to run in the browser', ->
      { stdout } = yield run
        reporter: process.cwd() + '/test/reporters/3rd-party.js'
