From 8ea3d41899965eb813ca531427e83a6944210116 Mon Sep 17 00:00:00 2001 From: perci Date: Mon, 9 Dec 2013 16:20:30 +0300 Subject: [PATCH 1/4] Added Italic and Dark --- lib/colored.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/colored.rb b/lib/colored.rb index c107d73..570218e 100644 --- a/lib/colored.rb +++ b/lib/colored.rb @@ -29,6 +29,8 @@ module Colored EXTRAS = { 'clear' => 0, 'bold' => 1, + 'dark' => 2, + 'italic' => 3, 'underline' => 4, 'reversed' => 7 } From 8aa554c25cd1c3bb9e67202180c68a6cc6f7e598 Mon Sep 17 00:00:00 2001 From: perci Date: Mon, 9 Dec 2013 16:23:22 +0300 Subject: [PATCH 2/4] Sent the module to Fixnum and Float --- lib/colored.rb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/colored.rb b/lib/colored.rb index 570218e..b028d16 100644 --- a/lib/colored.rb +++ b/lib/colored.rb @@ -69,7 +69,7 @@ module Colored def colorize(string, options = {}) colored = [color(options[:foreground]), color("on_#{options[:background]}"), extra(options[:extra])].compact * '' - colored << string + colored << String(string) colored << extra(:clear) end @@ -91,3 +91,6 @@ def color(color_name) end unless Object.const_defined? :Colored String.send(:include, Colored) +Fixnum.send(:include, Colored) +Float.send(:include, Colored) + From c5e89a0394d7b0cd67c11f1f4436ba58395d401f Mon Sep 17 00:00:00 2001 From: perci Date: Sat, 14 Dec 2013 11:33:14 +0300 Subject: [PATCH 3/4] Added tests for Fixnum and Float --- test/colored_test.rb | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/test/colored_test.rb b/test/colored_test.rb index 3b77990..6e1c87e 100644 --- a/test/colored_test.rb +++ b/test/colored_test.rb @@ -1,37 +1,54 @@ require 'test/unit' -require File.dirname(__FILE__) + '/../lib/colored' +require_relative '../lib/colored' class TestColor < Test::Unit::TestCase def test_one_color assert_equal "\e[31mred\e[0m", "red".red + assert_equal "\e[31m100\e[0m", 100.red + assert_equal "\e[31m100.001\e[0m", 100.001.red end def test_two_colors assert_equal "\e[34m\e[31mblue\e[0m\e[0m", "blue".red.blue + assert_equal "\e[34m\e[31m505\e[0m\e[0m", 505.red.blue + assert_equal "\e[34m\e[31m505.223\e[0m\e[0m", 505.223.red.blue end def test_background_color assert_equal "\e[43mon yellow\e[0m", "on yellow".on_yellow + assert_equal "\e[43m1920\e[0m", 1920.on_yellow + assert_equal "\e[43m19.2\e[0m", 19.2.on_yellow end def test_hot_color_on_color_action assert_equal "\e[31m\e[44mred on blue\e[0m", "red on blue".red_on_blue + assert_equal "\e[31m\e[44m38\e[0m", 38.red_on_blue + assert_equal "\e[31m\e[44m38.38\e[0m", 38.38.red_on_blue + end def test_modifier assert_equal "\e[1mway bold\e[0m", "way bold".bold + assert_equal "\e[1m35\e[0m", 35.bold + assert_equal "\e[1m35.467\e[0m", 35.467.bold end def test_modifiers_stack assert_equal "\e[4m\e[1munderlined bold\e[0m\e[0m", "underlined bold".bold.underline + assert_equal "\e[4m\e[1m129\e[0m\e[0m", 129.bold.underline + assert_equal "\e[4m\e[1m129.29\e[0m\e[0m", 129.29.bold.underline end def test_modifiers_stack_with_colors assert_equal "\e[36m\e[4m\e[1mcyan underlined bold\e[0m\e[0m\e[0m", "cyan underlined bold".bold.underline.cyan + assert_equal "\e[36m\e[4m\e[1m954\e[0m\e[0m\e[0m", 954.bold.underline.cyan + assert_equal "\e[36m\e[4m\e[1m954.55\e[0m\e[0m\e[0m", 954.55.bold.underline.cyan end def test_eol assert_equal "\e[2Knothing to see here really.", "nothing to see here really.".to_eol + #assert_equal "\e[2K456", 456.to_eol + #assert_equal "\e[2K456.82", 456.82.to_eol end def test_eol_with_with_two_colors From 2186f38391106acb9e1124aeec0d62381831d357 Mon Sep 17 00:00:00 2001 From: perci Date: Mon, 16 Dec 2013 10:57:14 +0300 Subject: [PATCH 4/4] Tested Fixnum and Float but not :to_eol --- test/colored_test.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/colored_test.rb b/test/colored_test.rb index 6e1c87e..acb0b5c 100644 --- a/test/colored_test.rb +++ b/test/colored_test.rb @@ -1,5 +1,5 @@ require 'test/unit' -require_relative '../lib/colored' +require File.dirname(__FILE__) + '/../lib/colored' class TestColor < Test::Unit::TestCase def test_one_color