class MultibyteCharsTest
Public Instance Methods
__method_for_multibyte_testing()
click to toggle source
# File activesupport/test/multibyte_chars_test.rb, line 21 def __method_for_multibyte_testing; "result"; end
__method_for_multibyte_testing!()
click to toggle source
# File activesupport/test/multibyte_chars_test.rb, line 39 def __method_for_multibyte_testing!; "result"; end
__method_for_multibyte_testing_that_returns_nil!()
click to toggle source
# File activesupport/test/multibyte_chars_test.rb, line 46 def __method_for_multibyte_testing_that_returns_nil!; end
__method_for_multibyte_testing_with_integer_result()
click to toggle source
# File activesupport/test/multibyte_chars_test.rb, line 57 def __method_for_multibyte_testing_with_integer_result; 1; end
setup()
click to toggle source
# File activesupport/test/multibyte_chars_test.rb, line 10 def setup @proxy_class = ActiveSupport::Multibyte::Chars @chars = @proxy_class.new UNICODE_STRING.dup end
test_ascii_strings_are_treated_at_utf8_strings()
click to toggle source
# File activesupport/test/multibyte_chars_test.rb, line 86 def test_ascii_strings_are_treated_at_utf8_strings assert_equal ActiveSupport::Multibyte.proxy_class, ASCII_STRING.mb_chars.class end
test_concatenate_should_return_proxy_instance()
click to toggle source
# File activesupport/test/multibyte_chars_test.rb, line 90 def test_concatenate_should_return_proxy_instance assert(("a".mb_chars + "b").kind_of?(@proxy_class)) assert(("a".mb_chars + "b".mb_chars).kind_of?(@proxy_class)) assert(("a".dup.mb_chars << "b").kind_of?(@proxy_class)) assert(("a".dup.mb_chars << "b".mb_chars).kind_of?(@proxy_class)) end
test_concatenation_should_return_a_proxy_class_instance()
click to toggle source
# File activesupport/test/multibyte_chars_test.rb, line 81 def test_concatenation_should_return_a_proxy_class_instance assert_equal ActiveSupport::Multibyte.proxy_class, ("a".mb_chars + "b").class assert_equal ActiveSupport::Multibyte.proxy_class, ("a".dup.mb_chars << "b").class end
test_consumes_utf8_strings()
click to toggle source
# File activesupport/test/multibyte_chars_test.rb, line 75 def test_consumes_utf8_strings assert @proxy_class.consumes?(UNICODE_STRING) assert @proxy_class.consumes?(ASCII_STRING) assert !@proxy_class.consumes?(BYTE_STRING) end
test_forwarded_bang_method_calls_should_return_nil_when_result_is_nil()
click to toggle source
# File activesupport/test/multibyte_chars_test.rb, line 45 def test_forwarded_bang_method_calls_should_return_nil_when_result_is_nil @chars.wrapped_string.singleton_class.class_eval { def __method_for_multibyte_testing_that_returns_nil!; end } assert_nil @chars.__method_for_multibyte_testing_that_returns_nil! end
test_forwarded_bang_method_calls_should_return_the_original_chars_instance_when_result_is_not_nil()
click to toggle source
# File activesupport/test/multibyte_chars_test.rb, line 38 def test_forwarded_bang_method_calls_should_return_the_original_chars_instance_when_result_is_not_nil @chars.wrapped_string.singleton_class.class_eval { def __method_for_multibyte_testing!; "result"; end } assert_kind_of @proxy_class, @chars.__method_for_multibyte_testing! assert_equal @chars.object_id, @chars.__method_for_multibyte_testing!.object_id end
test_forwarded_method_calls_should_return_new_chars_instance()
click to toggle source
# File activesupport/test/multibyte_chars_test.rb, line 31 def test_forwarded_method_calls_should_return_new_chars_instance @chars.wrapped_string.singleton_class.class_eval { def __method_for_multibyte_testing; "result"; end } assert_kind_of @proxy_class, @chars.__method_for_multibyte_testing assert_not_equal @chars.object_id, @chars.__method_for_multibyte_testing.object_id end
test_forwarded_method_with_non_string_result_should_be_returned_verbatim()
click to toggle source
# File activesupport/test/multibyte_chars_test.rb, line 55 def test_forwarded_method_with_non_string_result_should_be_returned_verbatim str = "".dup str.singleton_class.class_eval { def __method_for_multibyte_testing_with_integer_result; 1; end } @chars.wrapped_string.singleton_class.class_eval { def __method_for_multibyte_testing_with_integer_result; 1; end } assert_equal str.__method_for_multibyte_testing_with_integer_result, @chars.__method_for_multibyte_testing_with_integer_result end
test_methods_are_forwarded_to_wrapped_string_for_byte_strings()
click to toggle source
# File activesupport/test/multibyte_chars_test.rb, line 51 def test_methods_are_forwarded_to_wrapped_string_for_byte_strings assert_equal BYTE_STRING.length, BYTE_STRING.mb_chars.length end
test_should_allow_method_calls_to_string()
click to toggle source
# File activesupport/test/multibyte_chars_test.rb, line 20 def test_should_allow_method_calls_to_string @chars.wrapped_string.singleton_class.class_eval { def __method_for_multibyte_testing; "result"; end } assert_nothing_raised do @chars.__method_for_multibyte_testing end assert_raise NoMethodError do @chars.__unknown_method end end
test_should_concatenate()
click to toggle source
# File activesupport/test/multibyte_chars_test.rb, line 63 def test_should_concatenate mb_a = "a".dup.mb_chars mb_b = "b".dup.mb_chars assert_equal "ab", mb_a + "b" assert_equal "ab", "a" + mb_b assert_equal "ab", mb_a + mb_b assert_equal "ab", mb_a << "b" assert_equal "ab", "a".dup << mb_b assert_equal "abb", mb_a << mb_b end
test_should_return_string_as_json()
click to toggle source
# File activesupport/test/multibyte_chars_test.rb, line 97 def test_should_return_string_as_json assert_equal UNICODE_STRING, @chars.as_json end
test_wraps_the_original_string()
click to toggle source
# File activesupport/test/multibyte_chars_test.rb, line 15 def test_wraps_the_original_string assert_equal UNICODE_STRING, @chars.to_s assert_equal UNICODE_STRING, @chars.wrapped_string end