summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authornaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-01-25 16:40:02 +0000
committernaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-01-25 16:40:02 +0000
commit42dcda08aef365e166b8784e0349a28896a871e6 (patch)
treed88f7c0ffd523d86a7ec11e2e846eb747bea485a /test
parentf923cc360ae0e496da656a4253bc38fba12eed5d (diff)
* string.c (rb_str_usascii_new{,2}: defined.
(rb_str_new): set US-ASCII and ENC_CODERANGE_7BIT when empty string. * encoding.c (rb_usascii_encoding, rb_usascii_encindex): defined. (rb_enc_inspect, enc_name, rb_locale_charmap, rb_enc_name_list_i): use rb_str_ascii_new. * array.c (recursive_join, inspect_ary): ditto. * object.c (nil_to_s, nil_inspect, true_to_s, false_to_s, rb_mod_to_s): ditto. * hash.c (inspect_hash, rb_hash_inspect, rb_f_getenv, env_fetch, env_clear, env_to_s, env_inspect): ditto. * numeric.c (flo_to_s, int_chr, rb_fix2str): ditto. * bignum.c (rb_big2str): ditto. * file.c (rb_file_ftype, rb_file_s_dirname, rb_file_s_extname, file_inspect_join, Init_file): ditto. * test/ruby/test_ruby_m17n.rb: add checks for encoding of string. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15244 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r--test/ruby/test_m17n.rb51
1 files changed, 51 insertions, 0 deletions
diff --git a/test/ruby/test_m17n.rb b/test/ruby/test_m17n.rb
index dbeb1c10af..2552fd2272 100644
--- a/test/ruby/test_m17n.rb
+++ b/test/ruby/test_m17n.rb
@@ -962,4 +962,55 @@ class TestM17N < Test::Unit::TestCase
assert_equal(Encoding::ASCII_8BIT, v.encoding)
}
end
+
+ def test_empty_string
+ assert_equal("".encoding, Encoding::US_ASCII)
+ end
+
+ def test_nil_to_s
+ assert_equal(nil.to_s.encoding, Encoding::US_ASCII)
+ end
+
+ def test_nil_inspect
+ assert_equal(nil.inspect.encoding, Encoding::US_ASCII)
+ end
+
+ def test_true_to_s
+ assert_equal(true.to_s.encoding, Encoding::US_ASCII)
+ end
+
+ def test_false_to_s
+ assert_equal(false.to_s.encoding, Encoding::US_ASCII)
+ end
+
+ def test_fixnum_to_s
+ assert_equal(1.to_s.encoding, Encoding::US_ASCII)
+ end
+
+ def test_float_to_s
+ assert_equal(1.0.to_s.encoding, Encoding::US_ASCII)
+ end
+
+ def test_bignum_to_s
+ assert_equal((1<<129).to_s.encoding, Encoding::US_ASCII)
+ end
+
+ def test_array_to_s
+ assert_equal([].to_s.encoding, Encoding::US_ASCII)
+ assert_equal([nil].to_s.encoding, Encoding::US_ASCII)
+ assert_equal([1].to_s.encoding, Encoding::US_ASCII)
+ assert_equal([""].to_s.encoding, Encoding::US_ASCII)
+ assert_equal(["a"].to_s.encoding, Encoding::US_ASCII)
+ assert_equal([nil,1,"","a","\x20",[]].to_s.encoding, Encoding::US_ASCII)
+ end
+
+ def test_hash_to_s
+ assert_equal({}.to_s.encoding, Encoding::US_ASCII)
+ assert_equal({1=>nil,"foo"=>""}.to_s.encoding, Encoding::US_ASCII)
+ end
+
+ def test_encoding_to_s
+ assert_equal(Encoding::US_ASCII.to_s.encoding, Encoding::US_ASCII)
+ assert_equal(Encoding::US_ASCII.inspect.encoding, Encoding::US_ASCII)
+ end
end