Skip to content

Commit

Permalink
Fix: ameba warnings + crystal tool format
Browse files Browse the repository at this point in the history
  • Loading branch information
ysbaddaden committed Oct 28, 2023
1 parent d8cfbf8 commit b71e651
Show file tree
Hide file tree
Showing 8 changed files with 46 additions and 64 deletions.
30 changes: 9 additions & 21 deletions src/assertions.cr
Expand Up @@ -21,7 +21,7 @@ module Minitest
module LocationFilter
def __minitest_file : String
file, cwd = @__minitest_file.to_s, Dir.current
file.starts_with?(cwd) ? file[(cwd.size + 1) .. -1] : file
file.starts_with?(cwd) ? file[(cwd.size + 1)..-1] : file
end
end

Expand All @@ -38,7 +38,7 @@ module Minitest

def backtrace : Array(String)
if pos = exception.backtrace.index(&.index("@Minitest::Test#run_tests"))
exception.backtrace[0 ... pos]
exception.backtrace[0...pos]
else
exception.backtrace
end
Expand Down Expand Up @@ -112,7 +112,6 @@ module Minitest
refute yield, message, file, line
end


def assert_equal(expected, actual, message = nil, file = __FILE__, line = __LINE__) : Bool
msg = self.message(message) do
if need_diff?(expected, actual)
Expand All @@ -134,7 +133,6 @@ module Minitest
assert expected != actual, msg, file, line
end


def assert_same(expected, actual, message = nil, file = __FILE__, line = __LINE__) : Bool
msg = self.message(message) {
"Expected #{actual.inspect} (oid=#{actual.object_id}) to be the same as #{expected.inspect} (oid=#{expected.object_id})"
Expand All @@ -157,7 +155,6 @@ module Minitest
end
end


def assert_match(pattern : Regex, actual, message = nil, file = __FILE__, line = __LINE__) : Bool
msg = self.message(message) { "Expected #{pattern.inspect} to match: #{actual.inspect}" }
assert actual =~ pattern, msg, file, line
Expand All @@ -178,7 +175,6 @@ module Minitest
refute actual =~ Regex.new(Regex.escape(pattern.to_s)), msg, file, line
end


def assert_empty(actual, message = nil, file = __FILE__, line = __LINE__) : Bool
if actual.responds_to?(:empty?)
msg = self.message(message) { "Expected #{actual.inspect} to be empty" }
Expand All @@ -197,7 +193,6 @@ module Minitest
end
end


def assert_nil(actual, message = nil, file = __FILE__, line = __LINE__) : Bool
assert_equal nil, actual, message, file, line
end
Expand All @@ -206,7 +201,6 @@ module Minitest
refute_equal nil, actual, message, file, line
end


def assert_in_delta(expected : Number, actual : Number, delta : Number = 0.001, message = nil, file = __FILE__, line = __LINE__) : Bool
n = (expected.to_f - actual.to_f).abs
msg = self.message(message) { "Expected #{expected} - #{actual} (#{n}) to be <= #{delta}" }
Expand All @@ -219,7 +213,6 @@ module Minitest
refute delta >= n, msg, file, line
end


def assert_in_epsilon(a : Number, b : Number, epsilon : Number = 0.001, message = nil, file = __FILE__, line = __LINE__) : Bool
delta = [a.to_f.abs, b.to_f.abs].min * epsilon
assert_in_delta a, b, delta, message, file, line
Expand All @@ -230,7 +223,6 @@ module Minitest
refute_in_delta a, b, delta, message, file, line
end


def assert_includes(collection, obj, message = nil, file = __FILE__, line = __LINE__) : Bool
msg = self.message(message) { "Expected #{collection.inspect} to include #{obj.inspect}" }
if collection.responds_to?(:includes?)
Expand All @@ -249,7 +241,6 @@ module Minitest
end
end


def assert_instance_of(cls, obj, message = nil, file = __FILE__, line = __LINE__) : Bool
msg = self.message(message) do
"Expected #{obj.inspect} to be an instance of #{cls.name}, not #{obj.class.name}"
Expand All @@ -264,7 +255,6 @@ module Minitest
refute cls === obj, msg, file, line
end


macro assert_responds_to(obj, method, message = nil, file = __FILE__, line = __LINE__)
%msg = self.message({{ message }}) do
"Expected #{ {{ obj }}.inspect} (#{ {{ obj }}.class.name}) to respond to ##{ {{ method }} }"
Expand All @@ -279,7 +269,6 @@ module Minitest
refute {{ obj }}.responds_to?(:{{ method.id }}), %msg, {{ file }}, {{ line }}
end


def assert_raises(message : String? = nil, file = __FILE__, line = __LINE__, &) : Exception
yield
rescue ex
Expand All @@ -294,14 +283,13 @@ module Minitest
rescue ex : T
ex
rescue ex
message = "Expected #{ T.name } but #{ ex.class.name } was raised"
message = "Expected #{T.name} but #{ex.class.name} was raised"
raise Assertion.new(message, __minitest_file: file, __minitest_line: line)
else
message = "Expected #{ T.name } but nothing was raised"
message = "Expected #{T.name} but nothing was raised"
raise Assertion.new(message, __minitest_file: file, __minitest_line: line)
end


def assert_silent(file = __FILE__, line = __LINE__, &) : Bool
assert_output("", "", file, line) do
yield
Expand Down Expand Up @@ -361,7 +349,6 @@ module Minitest
end
end


def skip(message = "", file = __FILE__, line = __LINE__) : NoReturn
raise Minitest::Skip.new(message.to_s, __minitest_file: file, __minitest_line: line)
end
Expand All @@ -373,21 +360,22 @@ module Minitest
def message(message : Nil, &block : -> String) : -> String
block
end

def message(message : String, &block : -> String) : -> String
if message.blank?
block
else
-> { "#{message}\n#{block.call}" }
->{ "#{message}\n#{block.call}" }
end
end

def message(message : Proc(String), &block : -> String) : -> String
-> { "#{message.call}\n#{block.call}" }
->{ "#{message.call}\n#{block.call}" }
end


private def need_diff?(expected, actual) : Bool
need_diff?(expected.inspect) &&
need_diff?(actual.inspect)
need_diff?(actual.inspect)
end

private def need_diff?(obj : String) : Bool
Expand Down
5 changes: 2 additions & 3 deletions src/diff.cr
Expand Up @@ -10,8 +10,8 @@ struct Minitest::Diff(T)

def reverse : self
case self
in DELETED then APPENDED
in APPENDED then DELETED
in DELETED then APPENDED
in APPENDED then DELETED
in UNCHANGED then UNCHANGED
end
end
Expand All @@ -21,7 +21,6 @@ struct Minitest::Diff(T)
type : Type,
a : Range(Int32, Int32),
b : Range(Int32, Int32) do

def append(other : self) : self
copy_with(
a: a.begin...other.a.end,
Expand Down
12 changes: 6 additions & 6 deletions src/minitest.cr
Expand Up @@ -7,8 +7,8 @@ require "./spec"

module Minitest
class Options
property chaos : Bool
property verbose : Bool
property? chaos : Bool
property? verbose : Bool
property fibers : Int32
getter pattern : String | Regex | Nil
getter seed : UInt32
Expand Down Expand Up @@ -36,11 +36,11 @@ module Minitest
io << "Run options: --seed "
seed.to_s(io)

if verbose
if verbose?
io << " --verbose"
end

if chaos
if chaos?
io << " --chaos"
end

Expand Down Expand Up @@ -145,10 +145,10 @@ module Minitest
private def self.randomize_and_run_tests(channel) : Nil
random = Random::PCG32.new(options.seed.to_u64)

if options.chaos
if options.chaos?
# collect & shuffle all tests for all suites:
Runnable.runnables
.reduce([] of Runnable::Data) { |tests, suite| tests += suite.collect_tests }
.reduce([] of Runnable::Data) { |tests, suite| tests + suite.collect_tests }
.shuffle!(random)
.each { |test| channel.send(test) }
else
Expand Down
10 changes: 5 additions & 5 deletions src/reporter.cr
Expand Up @@ -72,7 +72,7 @@ module Minitest
def record(result : Result) : Nil
@mutex.lock

if options.verbose
if options.verbose?
if time = result.time
print "%s#%s = %.3f s = " % {result.class_name, result.name, time.to_f}
else
Expand All @@ -87,7 +87,7 @@ module Minitest
else
print Colorize::Object.new(result.result_code).back(:red)
end
puts if options.verbose
puts if options.verbose?
rescue ex
puts ex
puts ex.backtrace.join("\n")
Expand Down Expand Up @@ -141,11 +141,11 @@ module Minitest
def report : Nil
super

puts unless options.verbose
puts unless options.verbose?
puts "\nFinished in #{total_time}, #{1.0 / total_time.to_f} runs/s"
puts

aggregated_results = options.verbose ? results : results.reject(&.skipped?)
aggregated_results = options.verbose? ? results : results.reject(&.skipped?)

aggregated_results.each_with_index do |result, i|
loc = "#{result.class_name}##{result.name}"
Expand All @@ -172,7 +172,7 @@ module Minitest
puts "#{count} tests, #{failures} failures, #{errors} errors, #{skips} skips"
.colorize(passed? ? :green : :red)

if skips > 0 && !options.verbose
if skips > 0 && !options.verbose?
puts "\nYou have skipped tests. Run with --verbose for details."
end
end
Expand Down
15 changes: 10 additions & 5 deletions src/result.cr
Expand Up @@ -16,14 +16,19 @@ module Minitest
end

def skipped? : Bool
failures.any?(&.is_a?(Skip))
failures.any?(Skip)
end

def result_code : Char
return '.' if passed?
return 'S' if skipped?
return 'F' if failures.any?(&.is_a?(Assertion))
return 'E'
if passed?
'.'
elsif skipped?
'S'
elsif failures.any?(Assertion)
'F'
else
'E'
end
end

def failure : Assertion | Skip | UnexpectedError
Expand Down

0 comments on commit b71e651

Please sign in to comment.