summaryrefslogtreecommitdiff
path: root/spec/ruby
diff options
context:
space:
mode:
authornagachika <nagachika@ruby-lang.org>2025-07-19 11:16:49 +0900
committernagachika <nagachika@ruby-lang.org>2025-07-19 11:16:49 +0900
commit581be2b79cca0cb977fc0d6745cec7dbbe29b134 (patch)
tree71cba51090eddb436f7776839f4a2d5168ee27d3 /spec/ruby
parent3471ee0749be4bf9bfdd382ac0b6aedaf47a53b1 (diff)
merge revision(s) 097d742a1ed53afb91e83aef01365d68b763357b: [Backport #20009]
[Bug #20009] Support marshaling non-ASCII name class/module
Diffstat (limited to 'spec/ruby')
-rw-r--r--spec/ruby/core/marshal/dump_spec.rb15
1 files changed, 9 insertions, 6 deletions
diff --git a/spec/ruby/core/marshal/dump_spec.rb b/spec/ruby/core/marshal/dump_spec.rb
index eaf238bbd9..e5b7d34736 100644
--- a/spec/ruby/core/marshal/dump_spec.rb
+++ b/spec/ruby/core/marshal/dump_spec.rb
@@ -194,8 +194,9 @@ describe "Marshal.dump" do
end
it "dumps a class with multibyte characters in name" do
- source_object = eval("MarshalSpec::MultibyteぁあぃいClass".force_encoding(Encoding::UTF_8))
- Marshal.dump(source_object).should == "\x04\bc,MarshalSpec::Multibyte\xE3\x81\x81\xE3\x81\x82\xE3\x81\x83\xE3\x81\x84Class"
+ source_object = eval("MarshalSpec::MultibyteぁあぃいClass".dup.force_encoding(Encoding::UTF_8))
+ Marshal.dump(source_object).should == "\x04\bIc,MarshalSpec::Multibyte\xE3\x81\x81\xE3\x81\x82\xE3\x81\x83\xE3\x81\x84Class\x06:\x06ET"
+ Marshal.load(Marshal.dump(source_object)) == source_object
end
it "raises TypeError with an anonymous Class" do
@@ -217,8 +218,9 @@ describe "Marshal.dump" do
end
it "dumps a module with multibyte characters in name" do
- source_object = eval("MarshalSpec::MultibyteけげこごModule".force_encoding(Encoding::UTF_8))
- Marshal.dump(source_object).should == "\x04\bm-MarshalSpec::Multibyte\xE3\x81\x91\xE3\x81\x92\xE3\x81\x93\xE3\x81\x94Module"
+ source_object = eval("MarshalSpec::MultibyteけげこごModule".dup.force_encoding(Encoding::UTF_8))
+ Marshal.dump(source_object).should == "\x04\bIm-MarshalSpec::Multibyte\xE3\x81\x91\xE3\x81\x92\xE3\x81\x93\xE3\x81\x94Module\x06:\x06ET"
+ Marshal.load(Marshal.dump(source_object)) == source_object
end
it "raises TypeError with an anonymous Module" do
@@ -685,8 +687,9 @@ describe "Marshal.dump" do
end
it "dumps a Time subclass with multibyte characters in name" do
- source_object = eval("MarshalSpec::MultibyteぁあぃいTime".force_encoding(Encoding::UTF_8))
- Marshal.dump(source_object).should == "\x04\bc+MarshalSpec::Multibyte\xE3\x81\x81\xE3\x81\x82\xE3\x81\x83\xE3\x81\x84Time"
+ source_object = eval("MarshalSpec::MultibyteぁあぃいTime".dup.force_encoding(Encoding::UTF_8))
+ Marshal.dump(source_object).should == "\x04\bIc+MarshalSpec::Multibyte\xE3\x81\x81\xE3\x81\x82\xE3\x81\x83\xE3\x81\x84Time\x06:\x06ET"
+ Marshal.load(Marshal.dump(source_object)) == source_object
end
it "raises TypeError with an anonymous Time subclass" do