2015-12-16 00:07:31 -05:00
|
|
|
# frozen_string_literal: false
|
2011-07-07 02:44:46 -04:00
|
|
|
require 'test/unit'
|
2015-07-14 23:56:17 -04:00
|
|
|
require "-test-/string"
|
2011-07-07 02:44:46 -04:00
|
|
|
|
|
|
|
class Test_StrEncAssociate < Test::Unit::TestCase
|
|
|
|
def test_frozen
|
|
|
|
s = Bug::String.new("abc")
|
|
|
|
s.force_encoding(Encoding::US_ASCII)
|
|
|
|
s.freeze
|
2017-12-11 19:46:34 -05:00
|
|
|
assert_raise(FrozenError) {s.associate_encoding!(Encoding::US_ASCII)}
|
|
|
|
assert_raise(FrozenError) {s.associate_encoding!(Encoding::UTF_8)}
|
2011-07-07 02:44:46 -04:00
|
|
|
end
|
2015-07-15 03:55:08 -04:00
|
|
|
|
|
|
|
Encoding.list.select(&:dummy?).each do |enc|
|
|
|
|
enc = enc.name.tr('-', '_')
|
|
|
|
define_method("test_dummy_encoding_index_#{enc}") do
|
|
|
|
assert_separately(["-r-test-/string", "-", enc], <<-"end;") #do
|
|
|
|
enc = Encoding.const_get(ARGV[0])
|
|
|
|
index = Bug::String.encoding_index(enc)
|
|
|
|
assert(index < 0xffff, "<%#x> expected but was\n<%#x>" % [index & 0xffff, index])
|
|
|
|
end;
|
|
|
|
end
|
|
|
|
end
|
2011-07-07 02:44:46 -04:00
|
|
|
end
|