minitest-colorize 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,4 +1,5 @@
1
1
  require "minitest/colorize/version"
2
+ require "minitest/unit"
2
3
 
3
4
  module MiniTest
4
5
  class Colorize
@@ -8,25 +9,49 @@ module MiniTest
8
9
  self.io = io
9
10
  end
10
11
 
11
- def print(out)
12
- if color = colors[out]
13
- io.print "#{color}#{out}#{clear}"
12
+ def print(string = nil)
13
+ return io.print if string.nil?
14
+
15
+ if color = colors[string]
16
+ io.print tint(color, string)
14
17
  else
15
- io.print out
18
+ io.print string
16
19
  end
17
20
  end
18
21
 
19
- def colors
20
- { "F" => "\e[31m", "E" => "\e[31m", "S" => "\e[33m", "." => "\e[32m" }
21
- end
22
+ def puts(string = nil)
23
+ return io.puts if string.nil?
22
24
 
23
- def clear
24
- "\e[0m"
25
+ if string =~ /(\d+) tests, (\d+) assertions, (\d+) failures, (\d+) errors, (\d+) skips/
26
+ color = if $3 != '0'
27
+ colors['F']
28
+ elsif $4 != '0'
29
+ colors['E']
30
+ elsif $5 != '0'
31
+ colors['S']
32
+ else
33
+ colors['.']
34
+ end
35
+
36
+ io.puts tint(color, string)
37
+ else
38
+ io.puts string
39
+ end
25
40
  end
26
41
 
27
42
  def method_missing(method, *args, &block)
28
43
  io.send(method, *args, &block)
29
44
  end
45
+
46
+ protected
47
+
48
+ def tint(color, string)
49
+ "\e[#{color}m#{string}\e[0m"
50
+ end
51
+
52
+ def colors
53
+ { "F" => 31, "E" => 31, "S" => 33, "." => 32 }
54
+ end
30
55
  end
31
56
  end
32
57
 
@@ -1,5 +1,5 @@
1
1
  module MiniTest
2
2
  class Colorize
3
- VERSION = "0.0.1"
3
+ VERSION = "0.0.2"
4
4
  end
5
5
  end
@@ -1,38 +1,87 @@
1
1
  require 'test_helper'
2
2
 
3
3
  class MiniTest::ColorizeTest < MiniTest::Unit::TestCase
4
- def test_fail
4
+ def test_print_fail
5
5
  assert_output "\e[31mF\e[0m" do
6
6
  colorize = MiniTest::Colorize.new($stdout)
7
7
  colorize.print 'F'
8
8
  end
9
9
  end
10
10
 
11
- def test_error
11
+ def test_print_error
12
12
  assert_output "\e[31mE\e[0m" do
13
13
  colorize = MiniTest::Colorize.new($stdout)
14
14
  colorize.print 'E'
15
15
  end
16
16
  end
17
17
 
18
- def test_skip
18
+ def test_print_skip
19
19
  assert_output "\e[33mS\e[0m" do
20
20
  colorize = MiniTest::Colorize.new($stdout)
21
21
  colorize.print 'S'
22
22
  end
23
23
  end
24
24
 
25
- def test_success
25
+ def test_print_success
26
26
  assert_output "\e[32m.\e[0m" do
27
27
  colorize = MiniTest::Colorize.new($stdout)
28
28
  colorize.print '.'
29
29
  end
30
30
  end
31
31
 
32
- def test_others
32
+ def test_print
33
33
  assert_output "colorize" do
34
34
  colorize = MiniTest::Colorize.new($stdout)
35
35
  colorize.print 'colorize'
36
36
  end
37
37
  end
38
+
39
+ def test_print_without_arguments
40
+ assert_output '' do
41
+ colorize = MiniTest::Colorize.new($stdout)
42
+ colorize.print
43
+ end
44
+ end
45
+
46
+ def test_puts_fail
47
+ assert_output "\e[31m12 tests, 12 assertions, 4 failures, 0 errors, 0 skips\e[0m\n" do
48
+ colorize = MiniTest::Colorize.new($stdout)
49
+ colorize.puts '12 tests, 12 assertions, 4 failures, 0 errors, 0 skips'
50
+ end
51
+ end
52
+
53
+ def test_puts_error
54
+ assert_output "\e[31m12 tests, 12 assertions, 0 failures, 4 errors, 0 skips\e[0m\n" do
55
+ colorize = MiniTest::Colorize.new($stdout)
56
+ colorize.puts '12 tests, 12 assertions, 0 failures, 4 errors, 0 skips'
57
+ end
58
+ end
59
+
60
+ def test_puts_skip
61
+ assert_output "\e[33m12 tests, 12 assertions, 0 failures, 0 errors, 4 skips\e[0m\n" do
62
+ colorize = MiniTest::Colorize.new($stdout)
63
+ colorize.puts '12 tests, 12 assertions, 0 failures, 0 errors, 4 skips'
64
+ end
65
+ end
66
+
67
+ def test_puts_success
68
+ assert_output "\e[32m12 tests, 12 assertions, 0 failures, 0 errors, 0 skips\e[0m\n" do
69
+ colorize = MiniTest::Colorize.new($stdout)
70
+ colorize.puts '12 tests, 12 assertions, 0 failures, 0 errors, 0 skips'
71
+ end
72
+ end
73
+
74
+ def test_puts
75
+ assert_output "colorize\n" do
76
+ colorize = MiniTest::Colorize.new($stdout)
77
+ colorize.puts 'colorize'
78
+ end
79
+ end
80
+
81
+ def test_puts_without_arguments
82
+ assert_output "\n" do
83
+ colorize = MiniTest::Colorize.new($stdout)
84
+ colorize.puts
85
+ end
86
+ end
38
87
  end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: minitest-colorize
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.0.1
5
+ version: 0.0.2
6
6
  platform: ruby
7
7
  authors:
8
8
  - Gabriel Sobrinho
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-06-24 00:00:00 -03:00
13
+ date: 2011-06-25 00:00:00 -03:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency