46 lines
		
	
	
		
			979 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
		
		
			
		
	
	
			46 lines
		
	
	
		
			979 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
|   | require 'testing_env' | ||
|  | require 'debrew/raise_plus' | ||
|  | 
 | ||
|  | class RaisePlusTests < Test::Unit::TestCase | ||
|  |   include RaisePlus | ||
|  | 
 | ||
|  |   def test_raises_runtime_error_when_no_args | ||
|  |     assert_raises(RuntimeError) { raise } | ||
|  |   end | ||
|  | 
 | ||
|  |   def test_raises_runtime_error_with_string_arg | ||
|  |     raise "foo" | ||
|  |   rescue Exception => e | ||
|  |     assert_kind_of RuntimeError, e | ||
|  |     assert_equal "foo", e.to_s | ||
|  |   end | ||
|  | 
 | ||
|  |   def test_raises_given_exception_with_new_to_s | ||
|  |     a = Exception.new("foo") | ||
|  |     raise a, "bar" | ||
|  |   rescue Exception => e | ||
|  |     assert_equal "bar", e.to_s | ||
|  |   end | ||
|  | 
 | ||
|  |   def test_raises_same_instance | ||
|  |     a = Exception.new("foo") | ||
|  |     raise a | ||
|  |   rescue Exception => e | ||
|  |     assert_same e, a | ||
|  |   end | ||
|  | 
 | ||
|  |   def test_raises_exception_class | ||
|  |     assert_raises(StandardError) { raise StandardError } | ||
|  |   end | ||
|  | 
 | ||
|  |   def test_raises_type_error_for_bad_args | ||
|  |     assert_raises(TypeError) { raise 1 } | ||
|  |   end | ||
|  | 
 | ||
|  |   def test_raise_is_private | ||
|  |     assert_raises(NoMethodError) do | ||
|  |       Object.new.extend(RaisePlus).raise(RuntimeError) | ||
|  |     end | ||
|  |   end | ||
|  | end |