constantize_test_cases.rb 2.0 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14
module Ace
  module Base
    class Case
    end
  end
end

module ConstantizeTestCases
  def run_constantize_tests_on
    assert_nothing_raised { assert_equal Ace::Base::Case, yield("Ace::Base::Case") }
    assert_nothing_raised { assert_equal Ace::Base::Case, yield("::Ace::Base::Case") }
    assert_nothing_raised { assert_equal ConstantizeTestCases, yield("ConstantizeTestCases") }
    assert_nothing_raised { assert_equal ConstantizeTestCases, yield("::ConstantizeTestCases") }
    assert_raise(NameError) { yield("UnknownClass") }
15 16
    assert_raise(NameError) { yield("UnknownClass::Ace") }
    assert_raise(NameError) { yield("UnknownClass::Ace::Base") }
17 18
    assert_raise(NameError) { yield("An invalid string") }
    assert_raise(NameError) { yield("InvalidClass\n") }
19
    assert_raise(NameError) { yield("Ace::ConstantizeTestCases") }
20 21
    assert_raise(NameError) { yield("Ace::Base::ConstantizeTestCases") }
  end
22

23 24 25 26 27 28
  def run_safe_constantize_tests_on
    assert_nothing_raised { assert_equal Ace::Base::Case, yield("Ace::Base::Case") }
    assert_nothing_raised { assert_equal Ace::Base::Case, yield("::Ace::Base::Case") }
    assert_nothing_raised { assert_equal ConstantizeTestCases, yield("ConstantizeTestCases") }
    assert_nothing_raised { assert_equal ConstantizeTestCases, yield("::ConstantizeTestCases") }
    assert_nothing_raised { assert_equal nil, yield("UnknownClass") }
29 30
    assert_nothing_raised { assert_equal nil, yield("UnknownClass::Ace") }
    assert_nothing_raised { assert_equal nil, yield("UnknownClass::Ace::Base") }
31 32 33
    assert_nothing_raised { assert_equal nil, yield("An invalid string") }
    assert_nothing_raised { assert_equal nil, yield("InvalidClass\n") }
    assert_nothing_raised { assert_equal nil, yield("blargle") }
34
    assert_nothing_raised { assert_equal nil, yield("Ace::ConstantizeTestCases") }
35
    assert_nothing_raised { assert_equal nil, yield("Ace::Base::ConstantizeTestCases") }
36
    assert_nothing_raised { assert_equal nil, yield("#<Class:0x7b8b718b>::Nested_1") }
37
  end
38
end