diff options
author | Aregic <aregic@gmail.com> | 2016-05-26 23:56:26 -0300 |
---|---|---|
committer | Abinoam P. Marques Jr <abinoam@gmail.com> | 2016-05-31 01:29:52 -0300 |
commit | 19a3e7f98a54173765dea9f51d1bace2f73ca271 (patch) | |
tree | 91a05661d922157e2568c9ce195898aa5351c083 /test | |
parent | 4f2555133f08b7d2f7b43bf6610a52dbe5a96e8d (diff) | |
download | highline-19a3e7f98a54173765dea9f51d1bace2f73ca271.tar.gz |
Add tests for HighLine::Menu's indices coloring
Diffstat (limited to 'test')
-rw-r--r-- | test/test_menu.rb | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/test/test_menu.rb b/test/test_menu.rb index f870245..bf4bcb5 100644 --- a/test/test_menu.rb +++ b/test/test_menu.rb @@ -235,6 +235,89 @@ class TestMenu < Minitest::Test assert_equal("* Sample1\n* Sample2\n* Sample3\n? ", @output.string) end + def test_index_with_color + index_color = :rgb_77bbff + + @input << "Sample1\n" + @input.rewind + + @terminal.choose do |menu| + # Default: menu.index = :number + menu.index_color = index_color + + menu.choice "Sample1" + menu.choice "Sample2" + menu.choice "Sample3" + end + + assert_equal( + HighLine.color("1. ", index_color) + "Sample1\n" + + HighLine.color("2. ", index_color) + "Sample2\n" + + HighLine.color("3. ", index_color) + "Sample3\n" + + "? ", + @output.string + ) + + @output.truncate(@output.rewind) + @input.rewind + + @terminal.choose do |menu| + menu.index = :letter + menu.index_suffix = ") " + menu.index_color = index_color + + menu.choice "Sample1" + menu.choice "Sample2" + menu.choice "Sample3" + end + + assert_equal( + HighLine.color("a) ", index_color) + "Sample1\n" + + HighLine.color("b) ", index_color) + "Sample2\n" + + HighLine.color("c) ", index_color) + "Sample3\n? ", + @output.string + ) + + @output.truncate(@output.rewind) + @input.rewind + + @terminal.choose do |menu| + menu.index = :none + menu.index_color = index_color + + menu.choice "Sample1" + menu.choice "Sample2" + menu.choice "Sample3" + end + + assert_equal( + HighLine.color("Sample1", index_color) + "\n" + + HighLine.color("Sample2", index_color) + "\n" + + HighLine.color("Sample3", index_color) + "\n? ", + @output.string + ) + + @output.truncate(@output.rewind) + @input.rewind + + @terminal.choose do |menu| + menu.index = "*" + menu.index_color = index_color + + menu.choice "Sample1" + menu.choice "Sample2" + menu.choice "Sample3" + end + + colored_asterix = HighLine.color("* ", index_color) + assert_equal( + "#{colored_asterix}Sample1\n" + + "#{colored_asterix}Sample2\n" + + "#{colored_asterix}Sample3\n? ", + @output.string + ) + end + def test_layouts @input << "save\n" @input.rewind |