1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/test/ruby/test_encoding.rb
yugui a2339bc021 merges r25526,r25527,r25528,r25529,r25530 and r25555 from trunk into ruby_1_9_1.
--
* encoding.c (get_filesystem_encoding):
  add Encoding.filesystem_encoding [ruby-dev:39546]
  also see [ruby-core:25959]
--
* gem_prelude.rb (Gem.set_home):
  force_encoding(Encoding.filesystem_encoding)
  [ruby-dev:39546]

* gem_prelude.rb (Gem.set_paths): ditto.
--
Previous commit is for [ruby-core:25959]
--
* encoding.c (get_filesystem_encoding): removed.

* encoding.c (rb_locale_encindex): added.

* encoding.c (rb_filesystem_encindex): added.

* encoding.c (rb_filesystem_encindex): add an alias 'filesystem'.
  [ruby-dev:39574]

* encoding.c (enc_find): add rdoc about special aliases.

* gem_prelude.rb (Gem.set_home): use Encoding.find('filesystem').

* gem_prelude.rb (Gem.set_paths): ditto.
--
* encoding.c (enc_find): fixed rdoc formatting.
--
* ruby.c (process_options): call rb_filesystem_encoding().

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@26510 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-01-30 12:54:15 +00:00

65 lines
1.7 KiB
Ruby

require 'test/unit'
class TestEncoding < Test::Unit::TestCase
# Test basic encoding methods: list, find, name
def test_encoding
encodings = Encoding.list
assert_equal(encodings.empty?, false)
encodings.each do |e|
assert_equal(e, Encoding.find(e.name))
assert_equal(e, Encoding.find(e.name.upcase))
assert_equal(e, Encoding.find(e.name.capitalize))
assert_equal(e, Encoding.find(e.name.downcase))
end
end
def test_enc_names
aliases = Encoding.aliases
aliases.each do |a, en|
e = Encoding.find(a)
assert_equal(e.name, en)
assert(e.names.include?(a))
end
end
# Test that Encoding objects can't be copied
# And that they can be compared by object_id
def test_singleton
encodings = Encoding.list
encodings.each do |e|
assert_raise(TypeError) { e.dup }
assert_raise(TypeError) { e.clone }
assert_equal(e.object_id, Marshal.load(Marshal.dump(e)).object_id)
end
end
def test_find
assert_raise(ArgumentError) { Encoding.find("foobarbazqux") }
assert_nothing_raised{Encoding.find("locale")}
assert_nothing_raised{Encoding.find("filesystem")}
end
def test_dummy_p
assert_equal(true, Encoding::ISO_2022_JP.dummy?)
assert_equal(false, Encoding::UTF_8.dummy?)
end
def test_name_list
assert_instance_of(Array, Encoding.name_list)
Encoding.name_list.each do |x|
assert_instance_of(String, x)
end
end
def test_aliases
assert_instance_of(Hash, Encoding.aliases)
Encoding.aliases.each do |k, v|
assert(Encoding.name_list.include?(k))
assert(Encoding.name_list.include?(v))
assert_instance_of(String, k)
assert_instance_of(String, v)
end
end
end