File: testrunner.rb

package info (click to toggle)
ruby-test-unit 3.1.7-2
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 952 kB
  • ctags: 1,849
  • sloc: ruby: 13,554; makefile: 8
file content (49 lines) | stat: -rw-r--r-- 1,370 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
require 'test/unit/ui/console/testrunner'

module Test
  module Unit
    module UI
      module Emacs
        class TestRunner < Console::TestRunner
          private
          def output_setup_end
          end

          def output_started
          end

          def format_fault(fault)
            return super unless fault.respond_to?(:label)
            format_method_name = "format_fault_#{fault.label.downcase}"
            if respond_to?(format_method_name, true)
              __send__(format_method_name, fault)
            else
              super
            end
          end

          def format_fault_failure(failure)
            if failure.location.size == 1
              location = failure.location[0]
              location_display = location.sub(/\A(.+:\d+).*/, ' [\\1]')
            else
              location_display = "\n" + failure.location.join("\n")
            end
            result = "#{failure.label}:\n"
            result << "#{failure.test_name}#{location_display}:\n"
            result << failure.message
            result
          end

          def format_fault_error(error)
            result = "#{error.label}:\n"
            result << "#{error.test_name}:\n"
            result << "#{error.message}\n"
            result << error.backtrace.join("\n")
            result
          end
        end
      end
    end
  end
end