File: exception_raiser_test.rb

package info (click to toggle)
libmocha-ruby 0.9.8-1
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 912 kB
  • ctags: 1,516
  • sloc: ruby: 7,952; makefile: 4
file content (42 lines) | stat: -rw-r--r-- 1,536 bytes parent folder | download | duplicates (2)
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
require File.join(File.dirname(__FILE__), "..", "test_helper")

require 'mocha/exception_raiser'
require 'timeout'

class ExceptionRaiserTest < Test::Unit::TestCase
  
  include Mocha
  
  def test_should_raise_exception_with_specified_class_and_default_message
    exception_class = Class.new(StandardError)
    raiser = ExceptionRaiser.new(exception_class, nil)
    exception = assert_raises(exception_class) { raiser.evaluate }
    assert_equal exception_class.to_s, exception.message
  end

  def test_should_raise_exception_with_specified_class_and_message
    exception_class = Class.new(StandardError)
    raiser = ExceptionRaiser.new(exception_class, 'message')
    exception = assert_raises(exception_class) { raiser.evaluate }
    assert_equal 'message', exception.message
  end
  
  def test_should_raise_exception_instance
    exception_class = Class.new(StandardError)
    raiser = ExceptionRaiser.new(exception_class.new('message'), nil)
    exception = assert_raises(exception_class) { raiser.evaluate }
    assert_equal 'message', exception.message
  end
  
  def test_should_raise_interrupt_exception_with_default_message_so_it_works_in_ruby_1_8_6
    raiser = ExceptionRaiser.new(Interrupt, nil)
    assert_raises(Interrupt) { raiser.evaluate }
  end

  def test_should_raise_subclass_of_interrupt_exception_with_default_message_so_it_works_in_ruby_1_8_6
    exception_class = Class.new(Interrupt)
    raiser = ExceptionRaiser.new(exception_class, nil)
    assert_raises(exception_class) { raiser.evaluate }
  end

end