* transcode_data.h (rb_transcoder): add resetstate_func field for
[ruby-svn.git] / test / ruby / test_mixed_unicode_escapes.rb
blobe80e6fb14eec93128582d341b72c535d9ebd13c7
1 # -*- coding: sjis -*-
2 # This test is in a differnt file than TestUnicodeEscapes
3 # So that we can have a different coding comment above
5 require 'test/unit'
7 class TestMixedUnicodeEscape < Test::Unit::TestCase
8   def test_basic
9     # Unicode escapes do work in an sjis encoded file, but only
10     # if they don't contain other multi-byte chars
11     assert_equal("A", "\u0041")
12     # 8-bit character escapes are okay.
13     assert_equal("B\xFF", "\u0042\xFF")
15     # sjis mb chars mixed with Unicode shound not work
16     assert_raise(SyntaxError) { eval %q("é�\u1234")}
17     assert_raise(SyntaxError) { eval %q("\u{1234}é�")}
19     # String interpolation turns into an expression and we get
20     # a different kind of error, but we still can't mix these
21     assert_raise(ArgumentError) { eval %q("\u{1234}#{nil}é�")}
22     assert_raise(ArgumentError) { eval %q("é�#{nil}\u1234")}
24   end
25 end