Sha256: 4cc8163bdb45096bb7beec83687b615e591e94e5f5b2ad51c22e6e5c91981342

Contents?: true

Size: 1.33 KB

Versions: 6

Compression:

Stored size: 1.33 KB

Contents

module Matest

  class SpecPrinter

    def print(runner)
      puts "\n\n### Messages ###"

      statuses = []
      runner.info[:success] = true
      runner.info[:num_specs] = { total: 0 }

      runner.example_groups.each do |current_group|
        current_group.statuses.each do |status|
          runner.info[:num_specs][:total] += 1

          runner.info[:num_specs][status.name] ||= 0
          runner.info[:num_specs][status.name] += 1

          if status.is_a?(Matest::SpecPassed)
          else
            puts "\n[#{status.name}] #{status.description}"
            if status.is_a?(Matest::SpecFailed)
              runner.info[:success] = false
              puts "Variables: "
              status.example.track.each do |var, val|
                puts "  #{var}: #{val.inspect}"
              end
            end
            if status.is_a?(Matest::NotANaturalAssertion)
              runner.info[:success] = false
              puts "  # => #{status.result.inspect}"
            end
            if status.is_a?(Matest::ExceptionRaised)
              runner.info[:success] = false
              puts "EXCEPTION >> #{status.result}"
              status.result.backtrace.each do |l|
                puts "  #{l}"
              end

            end
            puts "  #{status.location}:"
          end
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
matest-1.1.4 lib/matest/spec_printer.rb
matest-1.1.3 lib/matest/spec_printer.rb
matest-1.1.2 lib/matest/spec_printer.rb
matest-1.1.1 lib/matest/spec_printer.rb
matest-1.1.0 lib/matest/spec_printer.rb
matest-1.0.1 lib/matest/spec_printer.rb