```ruby
require File.dirname(__FILE__) + '/../../spec_helper'
require 'cucumber/formatters/ansicolor'

module Cucumber
  module Formatters
    describe ANSIColor do
      include ANSIColor
      
      before do
        ::Term::ANSIColor.coloring = true
      end
      
      after do
        ::Term::ANSIColor.coloring = false
      end
      
      it "should wrap string in bold green for #passed with string arg" do
        passed("foo").should == "\e[0m\e[1m\e[32mfoo\e[0m\e[0m"
      end

      it "should return bold green without wrapping for #passed without arg" do
        passed.should == "\e[0m\e[1m\e[32m"
      end

      it "should return grey for #comment" do
        comment("foo").should == "\e[0m\e[90mfoo\e[0m"
      end
      
      it "should not generate ansi codes when colors are disabled" do
        ::Term::ANSIColor.coloring = false
        passed("foo").should == "foo"
      end
    end
  end
end
```

Fix blroken spec for colors
user
```ruby
require File.dirname(__FILE__) + '/../../spec_helper'
require 'cucumber/formatters/ansicolor'

module Cucumber
  module Formatters
    describe ANSIColor do
      include ANSIColor
      
      after do
        ::Term::ANSIColor.coloring = true
      end
      
      it "should wrap passed_param with bold green and reset to green" do
        passed_param("foo").should == "\e[32m\e[1mfoo\e[0m\e[0m\e[32m"
      end

      it "should wrap passed in green" do
        passed("foo").should == "\e[32mfoo\e[0m"
      end

      it "should not reset passed if there are no arguments" do
        passed.should == "\e[32m"
      end

      it "should wrap comments in grey" do
        comment("foo").should == "\e[90mfoo\e[0m"
      end
      
      it "should not generate ansi codes when colors are disabled" do
        ::Term::ANSIColor.coloring = false
        passed("foo").should == "foo"
      end
    end
  end
end
```
assistant