diff options
| author | nagachika <nagachika@ruby-lang.org> | 2025-07-19 11:16:49 +0900 |
|---|---|---|
| committer | nagachika <nagachika@ruby-lang.org> | 2025-07-19 11:16:49 +0900 |
| commit | 581be2b79cca0cb977fc0d6745cec7dbbe29b134 (patch) | |
| tree | 71cba51090eddb436f7776839f4a2d5168ee27d3 /spec/ruby | |
| parent | 3471ee0749be4bf9bfdd382ac0b6aedaf47a53b1 (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.rb | 15 |
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 |
