diff options
| author | Akira Yumiyama <[email protected]> | 2013-02-21 23:42:15 +0900 |
|---|---|---|
| committer | Akira Yumiyama <[email protected]> | 2013-02-22 13:16:47 +0900 |
| commit | f8bdc10cb153bbb55f49596d9c6b67a781cc8c14 (patch) | |
| tree | 8ea6c0b56730de63d1d0c8e0be784cf42105fc33 /test | |
| parent | 59cf4bca15a73222346bb16ad67a310c43537688 (diff) | |
| download | mruby-f8bdc10cb153bbb55f49596d9c6b67a781cc8c14.tar.gz mruby-f8bdc10cb153bbb55f49596d9c6b67a781cc8c14.zip | |
add assert_{includes,instance_of,kind_of,raises} methods.
Diffstat (limited to 'test')
| -rw-r--r-- | test/assert.rb | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/test/assert.rb b/test/assert.rb index 9f3231cd4..38bdfab20 100644 --- a/test/assert.rb +++ b/test/assert.rb @@ -79,6 +79,49 @@ def assert_nil(obj, msg = nil) assert_true(obj.nil?, msg, diff) end +def assert_includes(collection, obj, msg = nil) + msg = "Expected #{collection.inspect} to include #{obj.inspect}" unless msg + diff = " Collection: #{collection.inspect}\n" + + " Object: #{obj.inspect}" + assert_true(collection.include?(obj), msg, diff) +end + +def assert_instance_of(klass, obj, msg = nil) + msg = "Expected #{obj.inspect} to be an instance of #{klass}, not #{obj.class}" unless msg + assert_true(obj.instance_of?(klass), msg) +end + +def assert_kind_of(klass, obj, msg = nil) + msg = "Expected #{obj.inspect} to be an kind of #{klass}, not #{obj.class}" unless msg + assert_true(obj.kind_of?(klass), msg) +end + +def assert_raises(*exp) + if $mrbtest_assert + $mrbtest_assert_idx += 1 + msg = exp.last.class == String ? exp.pop : nil + msg = msg.to_s + " : " if msg + should_raise = false + begin + yield + should_raise = true + rescue Exception => e + msg = "#{msg}#{exp.inspect} exception expected, not" + diff = " Class: <#{e.class}>\n" + + " Message: #{e.message}" + if exp.any?{|ex| ex.instance_of?(Module) ? e.kind_of?(ex) : ex == e.class } + $mrbtest_assert.push([$mrbtest_assert_idx, msg, diff]) + end + end + + exp = exp.first if exp.first + if should_raise + msg = "#{msg}#{exp.inspect} expected but nothing was raised." + $mrbtest_assert.push([$mrbtest_assert_idx, msg, nil]) + end + end +end + ## # Report the test result and print all assertions # which were reported broken. |
