@@ -231,9 +231,12 @@ def _dump(level)
231
231
Marshal . dump ( MarshalSpec ::ClassWithOverriddenName ) . should == "\x04 \b c)MarshalSpec::ClassWithOverriddenName"
232
232
end
233
233
234
- it "dumps a class with multibyte characters in name" do
235
- source_object = eval ( "MarshalSpec::MultibyteぁあぃいClass" . dup . force_encoding ( Encoding ::UTF_8 ) )
236
- Marshal . dump ( source_object ) . should == "\x04 \b c,MarshalSpec::Multibyte\xE3 \x81 \x81 \xE3 \x81 \x82 \xE3 \x81 \x83 \xE3 \x81 \x84 Class"
234
+ ruby_version_is "3.5" do
235
+ it "dumps a class with multibyte characters in name" do
236
+ source_object = eval ( "MarshalSpec::MultibyteぁあぃいClass" . dup . force_encoding ( Encoding ::UTF_8 ) )
237
+ Marshal . dump ( source_object ) . should == "\x04 \b Ic,MarshalSpec::Multibyte\xE3 \x81 \x81 \xE3 \x81 \x82 \xE3 \x81 \x83 \xE3 \x81 \x84 Class\x06 :\x06 ET"
238
+ Marshal . load ( Marshal . dump ( source_object ) ) == source_object
239
+ end
237
240
end
238
241
239
242
it "uses object links for objects repeatedly dumped" do
@@ -258,9 +261,12 @@ def _dump(level)
258
261
Marshal . dump ( MarshalSpec ::ModuleWithOverriddenName ) . should == "\x04 \b c*MarshalSpec::ModuleWithOverriddenName"
259
262
end
260
263
261
- it "dumps a module with multibyte characters in name" do
262
- source_object = eval ( "MarshalSpec::MultibyteけげこごModule" . dup . force_encoding ( Encoding ::UTF_8 ) )
263
- Marshal . dump ( source_object ) . should == "\x04 \b m-MarshalSpec::Multibyte\xE3 \x81 \x91 \xE3 \x81 \x92 \xE3 \x81 \x93 \xE3 \x81 \x94 Module"
264
+ ruby_version_is "3.5" do
265
+ it "dumps a module with multibyte characters in name" do
266
+ source_object = eval ( "MarshalSpec::MultibyteけげこごModule" . dup . force_encoding ( Encoding ::UTF_8 ) )
267
+ Marshal . dump ( source_object ) . should == "\x04 \b Im-MarshalSpec::Multibyte\xE3 \x81 \x91 \xE3 \x81 \x92 \xE3 \x81 \x93 \xE3 \x81 \x94 Module\x06 :\x06 ET"
268
+ Marshal . load ( Marshal . dump ( source_object ) ) == source_object
269
+ end
264
270
end
265
271
266
272
it "uses object links for objects repeatedly dumped" do
@@ -874,9 +880,12 @@ def finalizer.noop(_)
874
880
Marshal . dump ( obj ) . should include ( "MarshalSpec::TimeWithOverriddenName" )
875
881
end
876
882
877
- it "dumps a Time subclass with multibyte characters in name" do
878
- source_object = eval ( "MarshalSpec::MultibyteぁあぃいTime" . dup . force_encoding ( Encoding ::UTF_8 ) )
879
- Marshal . dump ( source_object ) . should == "\x04 \b c+MarshalSpec::Multibyte\xE3 \x81 \x81 \xE3 \x81 \x82 \xE3 \x81 \x83 \xE3 \x81 \x84 Time"
883
+ ruby_version_is "3.5" do
884
+ it "dumps a Time subclass with multibyte characters in name" do
885
+ source_object = eval ( "MarshalSpec::MultibyteぁあぃいTime" . dup . force_encoding ( Encoding ::UTF_8 ) )
886
+ Marshal . dump ( source_object ) . should == "\x04 \b Ic+MarshalSpec::Multibyte\xE3 \x81 \x81 \xE3 \x81 \x82 \xE3 \x81 \x83 \xE3 \x81 \x84 Time\x06 :\x06 ET"
887
+ Marshal . load ( Marshal . dump ( source_object ) ) == source_object
888
+ end
880
889
end
881
890
882
891
it "uses object links for objects repeatedly dumped" do
0 commit comments