test/test.rb in rjb-1.4.9 vs test/test.rb in rjb-1.5.0
- old
+ new
@@ -145,29 +145,29 @@
def test_kjconv()
if Object::const_defined?(:Encoding)
test = import('jp.co.infoseek.hp.arton.rjb.Test').new
euc_kj = "\xb4\xc1\xbb\xfa\xa5\xc6\xa5\xad\xa5\xb9\xa5\xc8".force_encoding Encoding::EUC_JP
- s = @jString.new(euc_kj)
+ s = @jString.new_with_sig('Ljava.lang.String;', euc_kj)
assert_equal(s.toString().encoding, Encoding::UTF_8)
assert(test.isSameString(s))
assert(test.isSameString(euc_kj))
assert_equal(s.toString().encode(Encoding::EUC_JP), euc_kj)
sjis_kj = "\x8a\xbf\x8e\x9a\x83\x65\x83\x4c\x83\x58\x83\x67".force_encoding Encoding::SHIFT_JIS
- s = @jString.new(sjis_kj)
+ s = @jString.new_with_sig('Ljava.lang.String;', sjis_kj)
assert_equal(s.toString().encoding, Encoding::UTF_8)
assert(test.isSameString(s))
assert(test.isSameString(sjis_kj))
assert_equal(s.toString().encode(Encoding::SHIFT_JIS), sjis_kj)
utf8_kj = "\xE6\xBC\xA2\xE5\xAD\x97\xE3\x83\x86\xE3\x82\xAD\xE3\x82\xB9\xE3\x83\x88".force_encoding Encoding::UTF_8
- s = @jString.new(utf8_kj)
+ s = @jString.new_with_sig('Ljava.lang.String;', utf8_kj)
assert_equal(s.toString().encoding, Encoding::UTF_8)
assert(test.isSameString(s))
assert(test.isSameString(utf8_kj))
assert_equal(s.toString().encode(Encoding::UTF_8), utf8_kj)
iso2022jp_kj = "\x1b\x24\x42\x34\x41\x3b\x7a\x25\x46\x25\x2d\x25\x39\x25\x48\x1b\x28\x42".force_encoding Encoding::ISO_2022_JP
- s = @jString.new(iso2022jp_kj)
+ s = @jString.new_with_sig('Ljava.lang.String;', iso2022jp_kj)
assert_equal(s.toString().encoding, Encoding::UTF_8)
assert(test.isSameString(s))
assert(test.isSameString(iso2022jp_kj))
assert_equal(s.toString().encode(Encoding::ISO_2022_JP), iso2022jp_kj)
assert_equal(@jString.new("abcdef".force_encoding(Encoding::ASCII_8BIT)).toString(), "abcdef")
@@ -896,8 +896,28 @@
uri = import('java.net.URI')
ret = test.java_typed_array(['a', 'b', 'c'], [1, 2, 3], [uri.new('http://www.artonx.org')])
assert_equal '[Ljava.lang.String;', ret[0]
assert_equal '[Ljava.lang.Integer;', ret[1]
assert_equal '[Ljava.net.URI;', ret[2]
+ end
+ def test_auto_constructor_selection
+ skip 'no encoding' unless Object::const_defined?(:Encoding)
+ sys = import('java.lang.System')
+ encoding = sys.property('file.encoding')
+ s = @jString.new("\x8a\xbf\x8e\x9a\x83\x65\x83\x4c\x83\x58\x83\x67".force_encoding Encoding::SHIFT_JIS)
+ e = @jString.new("\xb4\xc1\xbb\xfa\xa5\xc6\xa5\xad\xa5\xb9\xa5\xc8".force_encoding Encoding::EUC_JP)
+ u = @jString.new("\xE6\xBC\xA2\xE5\xAD\x97\xE3\x83\x86\xE3\x82\xAD\xE3\x82\xB9\xE3\x83\x88".force_encoding Encoding::UTF_8)
+ if encoding == 'MS932'
+ s1 = @jString.new("\x8a\xbf\x8e\x9a\x83\x65\x83\x4c\x83\x58\x83\x67".bytes)
+ elsif encoding.upcase == 'EUC-JP'
+ s1 = @jString.new("\xb4\xc1\xbb\xfa\xa5\xc6\xa5\xad\xa5\xb9\xa5\xc8".bytes)
+ elsif encoding.upcase == 'UTF-8'
+ s1 = @jString.new("\xE6\xBC\xA2\xE5\xAD\x97\xE3\x83\x86\xE3\x82\xAD\xE3\x82\xB9\xE3\x83\x88".bytes)
+ else
+ skip 'no checkable encoding'
+ end
+ assert_equal s1.toString, s.toString
+ assert_equal s1.toString, e.toString
+ assert_equal s1.toString, u.toString
end
end