rainbow and colorize conflict when Spinach tests run
If you try to run:
bundle exec spinach features/project/merge_requests.feature
You see an error:
ArgumentError: Unknown color name, valid names: aqua, aquamarine, mediumaquamarine, azure, beige, bisque, black, blanchedalmond, blue, darkblue, lightblue, mediumblue, aliceblue, cadetblue, dodgerblue, midnightblue, navyblue, powderblue, royalblue, skyblue, deepskyblue, lightskyblue, slateblue, darkslateblue, mediumslateblue, steelblue, lightsteelblue, brown, rosybrown, saddlebrown, sandybrown, burlywood, chartreuse, chocolate, coral, lightcoral, cornflower, cornsilk, crimson, cyan, darkcyan, lightcyan, firebrick, fuchsia, gainsboro, gold, goldenrod, darkgoldenrod, lightgoldenrod, palegoldenrod, gray, darkgray, dimgray, lightgray, slategray, lightslategray, webgray, green, darkgreen, lightgreen, palegreen, darkolivegreen, yellowgreen, forestgreen, lawngreen, limegreen, seagreen, darkseagreen, lightseagreen, mediumseagreen, springgreen, mediumspringgreen, webgreen, honeydew, indianred, indigo, ivory, khaki, darkkhaki, lavender, lavenderblush, lemonchiffon, lime, linen, magenta, darkmagenta, maroon, webmaroon, mintcream, mistyrose, moccasin, oldlace, olive, olivedrab, orange, darkorange, orchid, darkorchid, mediumorchid, papayawhip, peachpuff, peru, pink, deeppink, lightpink, hotpink, plum, purple, mediumpurple, rebeccapurple, webpurple, red, darkred, orangered, mediumvioletred, palevioletred, salmon, darksalmon, lightsalmon, seashell, sienna, silver, darkslategray, snow, tan, teal, thistle, tomato, turquoise, darkturquoise, mediumturquoise, paleturquoise, violet, darkviolet, blueviolet, wheat, white, antiquewhite, floralwhite, ghostwhite, navajowhite, whitesmoke, yellow, lightyellow, greenyellow
/Users/stanhu/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/rainbow-2.1.0/lib/rainbow/color.rb:125:in `initialize'
/Users/stanhu/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/rainbow-2.1.0/lib/rainbow/color.rb:21:in `new'
/Users/stanhu/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/rainbow-2.1.0/lib/rainbow/color.rb:21:in `build'
/Users/stanhu/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/rainbow-2.1.0/lib/rainbow/presenter.rb:21:in `color'
/Users/stanhu/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/rainbow-2.1.0/lib/rainbow/ext/string.rb:9:in `foreground'
/Users/stanhu/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/colorize-0.7.7/lib/colorize/instance_methods.rb:74:in `colors_from_hash'
/Users/stanhu/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/colorize-0.7.7/lib/colorize/instance_methods.rb:64:in `colors_from_params'
/Users/stanhu/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/colorize-0.7.7/lib/colorize/instance_methods.rb:25:in `block in colorize'
/Users/stanhu/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/colorize-0.7.7/lib/colorize/instance_methods.rb:23:in `each'
/Users/stanhu/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/colorize-0.7.7/lib/colorize/instance_methods.rb:23:in `inject'
/Users/stanhu/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/colorize-0.7.7/lib/colorize/instance_methods.rb:23:in `colorize'
/Users/stanhu/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/colorize-0.7.7/lib/colorize/class_methods.rb:94:in `block (2 levels) in color_methods'
/Users/stanhu/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/spinach-0.8.10/lib/spinach/reporter/stdout.rb:31:in `before_feature_run'
/Users/stanhu/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/spinach-0.8.10/lib/spinach/reporter.rb:32:in `block (2 levels) in bind'
/Users/stanhu/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/spinach-0.8.10/lib/spinach/hookable.rb:97:in `block in run_hook'
/Users/stanhu/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/spinach-0.8.10/lib/spinach/hookable.rb:97:in `each'
/Users/stanhu/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/spinach-0.8.10/lib/spinach/hookable.rb:97:in `run_hook'
/Users/stanhu/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/spinach-0.8.10/lib/spinach/hookable.rb:28:in `block in hook'
/Users/stanhu/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/spinach-0.8.10/lib/spinach/runner/feature_runner.rb:46:in `run'
/Users/stanhu/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/spinach-0.8.10/lib/spinach/runner.rb:78:in `block in run'
/Users/stanhu/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/spinach-0.8.10/lib/spinach/runner.rb:74:in `each'
/Users/stanhu/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/spinach-0.8.10/lib/spinach/runner.rb:74:in `run'
/Users/stanhu/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/spinach-0.8.10/lib/spinach/cli.rb:27:in `run'
/Users/stanhu/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/spinach-0.8.10/bin/spinach:15:in `<top (required)>'
/Users/stanhu/.rbenv/versions/2.3.3/bin/spinach:22:in `load'
/Users/stanhu/.rbenv/versions/2.3.3/bin/spinach:22:in `<top (required)>'
It looks like this is happening because rainbow is loaded here, but rainbow doesn't have the color light_magenta
, while colorize does.
/cc: @rymai