File: exception_raiser_test.rb

package info (click to toggle)
ruby-mocha 0.11.3-3
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 2,300 kB
  • sloc: ruby: 9,935; makefile: 2
file content (42 lines) | stat: -rw-r--r-- 1,522 bytes parent folder | download
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.expand_path('../../test_helper', __FILE__)

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