require 'spec_helper' RSpec.describe "String extensions" do [ :gray, :red, :green, :yellow, :blue, :purple, :cyan, :white ].each_with_index do |color, i| it "should have #{color} color" do expect(color.to_s.send(color)).to eq("\e[1;#{30+i}m#{color}\e[0m") end it "should have #{color}ish color" do expect(color.to_s.send(:"#{color}ish")).to eq("\e[0;#{30+i}m#{color}\e[0m") end end it "should have black and pale colors" do expect("black".send(:black)).to eq("black".send(:grayish)) expect("pale".send(:pale)).to eq("pale".send(:whiteish)) expect("pale".send(:pale)).to eq("\e[0;37mpale\e[0m") expect("whiteish".send(:whiteish)).to eq("\e[0;37mwhiteish\e[0m") end end