test-unit-runner-tap 1.0.0 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,84 +0,0 @@
1
- #--
2
- #
3
- # Author:: Kouhei Sutou.
4
- # Copyright:: Copyright (c) 2009-2010 Kouhei Sutou <kou@clear-code.com>.
5
- # License:: Ruby license.
6
-
7
- require 'test/unit/ui/testrunner'
8
- require 'test/unit/ui/testrunnermediator'
9
-
10
- module Test
11
- module Unit
12
- module UI
13
- module Tap
14
-
15
- # Runs a Test::Unit::TestSuite and outputs result
16
- # as TAP format.
17
- class TestRunner < UI::TestRunner
18
- def initialize(suite, options={})
19
- super
20
- @output = @options[:output] || STDOUT
21
- @n_tests = 0
22
- @already_outputted = false
23
- end
24
-
25
- # Begins the test run.
26
- def start
27
- result = super
28
- def result.passed?
29
- true # for prove commend :<
30
- end
31
- result
32
- end
33
-
34
- private
35
- def attach_to_mediator
36
- @mediator.add_listener(TestResult::FAULT, &method(:add_fault))
37
- @mediator.add_listener(TestRunnerMediator::STARTED, &method(:started))
38
- @mediator.add_listener(TestRunnerMediator::FINISHED, &method(:finished))
39
- @mediator.add_listener(TestCase::STARTED, &method(:test_started))
40
- @mediator.add_listener(TestCase::FINISHED, &method(:test_finished))
41
- end
42
-
43
- def add_fault(fault)
44
- puts("not ok #{@n_tests} - #{fault.short_display}")
45
- fault.long_display.each_line do |line|
46
- puts("# #{line}")
47
- end
48
- @already_outputted = true
49
- end
50
-
51
- def started(result)
52
- @result = result
53
- puts("1..#{@suite.size}")
54
- end
55
-
56
- def finished(elapsed_time)
57
- puts("# Finished in #{elapsed_time} seconds.")
58
- @result.to_s.each_line do |line|
59
- puts("# #{line}")
60
- end
61
- end
62
-
63
- def test_started(name)
64
- @n_tests += 1
65
- end
66
-
67
- def test_finished(name)
68
- unless @already_outputted
69
- puts("ok #{@n_tests} - #{name}")
70
- end
71
- @already_outputted = false
72
- end
73
-
74
- def puts(*args)
75
- @output.puts(*args)
76
- @output.flush
77
- end
78
- end
79
- end
80
- end
81
- end
82
- end
83
-
84
- # Copyright (c) 2012 Trans & Kouhei Sutou (LGPL v3.0)