Skip to content

Commit 61e6f4f

Browse files
committed
1 parent fde88d4 commit 61e6f4f

31 files changed

+578
-161
lines changed

spec/ruby/core/class/new_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ def message2; "hello"; end
9595
end
9696

9797
it "raises a TypeError when given a non-Class" do
98-
error_msg = /superclass must be a Class/
98+
error_msg = /superclass must be a.*Class/
9999
-> { Class.new("") }.should raise_error(TypeError, error_msg)
100100
-> { Class.new(1) }.should raise_error(TypeError, error_msg)
101101
-> { Class.new(:symbol) }.should raise_error(TypeError, error_msg)

spec/ruby/core/kernel/backtick_spec.rb

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,11 @@
3535
-> { `nonexistent_command` }.should raise_error(Errno::ENOENT)
3636
end
3737

38-
it "handles invalid UTF-8 bytes in command" do
39-
`echo "testing\xC2 a non UTF-8 string"`.should == "testing\xC2 a non UTF-8 string\n"
40-
end
41-
4238
platform_is_not :windows do
39+
it "handles invalid UTF-8 bytes in command" do
40+
`echo "testing\xC2 a non UTF-8 string"`.should == "testing\xC2 a non UTF-8 string\n"
41+
end
42+
4343
it "sets $? to the exit status of the executed sub-process" do
4444
ip = 'world'
4545
`echo disc #{ip}`

spec/ruby/core/random/default_spec.rb

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,21 @@
11
require_relative '../../spec_helper'
22

33
describe "Random::DEFAULT" do
4-
it "returns a Random instance" do
5-
Random::DEFAULT.should be_an_instance_of(Random)
4+
5+
it "returns a random number generator" do
6+
Random::DEFAULT.should respond_to(:rand)
7+
end
8+
9+
ruby_version_is ''...'3.0' do
10+
it "returns a Random instance" do
11+
Random::DEFAULT.should be_an_instance_of(Random)
12+
end
13+
end
14+
15+
ruby_version_is '3.0' do
16+
it "refers to the Random class" do
17+
Random::DEFAULT.should.equal?(Random)
18+
end
619
end
720

821
it "changes seed on reboot" do

spec/ruby/core/string/capitalize_spec.rb

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -80,9 +80,18 @@
8080
-> { "abc".capitalize(:invalid_option) }.should raise_error(ArgumentError)
8181
end
8282

83-
it "returns subclass instances when called on a subclass" do
84-
StringSpecs::MyString.new("hello").capitalize.should be_an_instance_of(StringSpecs::MyString)
85-
StringSpecs::MyString.new("Hello").capitalize.should be_an_instance_of(StringSpecs::MyString)
83+
ruby_version_is ''...'3.0' do
84+
it "returns subclass instances when called on a subclass" do
85+
StringSpecs::MyString.new("hello").capitalize.should be_an_instance_of(StringSpecs::MyString)
86+
StringSpecs::MyString.new("Hello").capitalize.should be_an_instance_of(StringSpecs::MyString)
87+
end
88+
end
89+
90+
ruby_version_is '3.0' do
91+
it "returns String instances when called on a subclass" do
92+
StringSpecs::MyString.new("hello").capitalize.should be_an_instance_of(String)
93+
StringSpecs::MyString.new("Hello").capitalize.should be_an_instance_of(String)
94+
end
8695
end
8796
end
8897

spec/ruby/core/string/center_spec.rb

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -91,13 +91,26 @@
9191
-> { "hello".center(0, "") }.should raise_error(ArgumentError)
9292
end
9393

94-
it "returns subclass instances when called on subclasses" do
95-
StringSpecs::MyString.new("").center(10).should be_an_instance_of(StringSpecs::MyString)
96-
StringSpecs::MyString.new("foo").center(10).should be_an_instance_of(StringSpecs::MyString)
97-
StringSpecs::MyString.new("foo").center(10, StringSpecs::MyString.new("x")).should be_an_instance_of(StringSpecs::MyString)
94+
ruby_version_is ''...'3.0' do
95+
it "returns subclass instances when called on subclasses" do
96+
StringSpecs::MyString.new("").center(10).should be_an_instance_of(StringSpecs::MyString)
97+
StringSpecs::MyString.new("foo").center(10).should be_an_instance_of(StringSpecs::MyString)
98+
StringSpecs::MyString.new("foo").center(10, StringSpecs::MyString.new("x")).should be_an_instance_of(StringSpecs::MyString)
99+
100+
"".center(10, StringSpecs::MyString.new("x")).should be_an_instance_of(String)
101+
"foo".center(10, StringSpecs::MyString.new("x")).should be_an_instance_of(String)
102+
end
103+
end
98104

99-
"".center(10, StringSpecs::MyString.new("x")).should be_an_instance_of(String)
100-
"foo".center(10, StringSpecs::MyString.new("x")).should be_an_instance_of(String)
105+
ruby_version_is '3.0' do
106+
it "returns String instances when called on subclasses" do
107+
StringSpecs::MyString.new("").center(10).should be_an_instance_of(String)
108+
StringSpecs::MyString.new("foo").center(10).should be_an_instance_of(String)
109+
StringSpecs::MyString.new("foo").center(10, StringSpecs::MyString.new("x")).should be_an_instance_of(String)
110+
111+
"".center(10, StringSpecs::MyString.new("x")).should be_an_instance_of(String)
112+
"foo".center(10, StringSpecs::MyString.new("x")).should be_an_instance_of(String)
113+
end
101114
end
102115

103116
ruby_version_is ''...'2.7' do

spec/ruby/core/string/chomp_spec.rb

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,18 @@
4646
end
4747
end
4848

49-
it "returns subclass instances when called on a subclass" do
50-
str = StringSpecs::MyString.new("hello\n").chomp
51-
str.should be_an_instance_of(StringSpecs::MyString)
49+
ruby_version_is ''...'3.0' do
50+
it "returns subclass instances when called on a subclass" do
51+
str = StringSpecs::MyString.new("hello\n").chomp
52+
str.should be_an_instance_of(StringSpecs::MyString)
53+
end
54+
end
55+
56+
ruby_version_is '3.0' do
57+
it "returns String instances when called on a subclass" do
58+
str = StringSpecs::MyString.new("hello\n").chomp
59+
str.should be_an_instance_of(String)
60+
end
5261
end
5362

5463
it "removes trailing characters that match $/ when it has been assigned a value" do

spec/ruby/core/string/chop_spec.rb

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,16 @@
6161
end
6262
end
6363

64-
it "returns subclass instances when called on a subclass" do
65-
StringSpecs::MyString.new("hello\n").chop.should be_an_instance_of(StringSpecs::MyString)
64+
ruby_version_is ''...'3.0' do
65+
it "returns subclass instances when called on a subclass" do
66+
StringSpecs::MyString.new("hello\n").chop.should be_an_instance_of(StringSpecs::MyString)
67+
end
68+
end
69+
70+
ruby_version_is '3.0' do
71+
it "returns String instances when called on a subclass" do
72+
StringSpecs::MyString.new("hello\n").chop.should be_an_instance_of(String)
73+
end
6674
end
6775
end
6876

spec/ruby/core/string/delete_prefix_spec.rb

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,18 @@
4141
'hello'.delete_prefix(o).should == 'o'
4242
end
4343

44-
it "returns a subclass instance when called on a subclass instance" do
45-
s = StringSpecs::MyString.new('hello')
46-
s.delete_prefix('hell').should be_an_instance_of(StringSpecs::MyString)
44+
ruby_version_is ''...'3.0' do
45+
it "returns a subclass instance when called on a subclass instance" do
46+
s = StringSpecs::MyString.new('hello')
47+
s.delete_prefix('hell').should be_an_instance_of(StringSpecs::MyString)
48+
end
49+
end
50+
51+
ruby_version_is '3.0' do
52+
it "returns a String instance when called on a subclass instance" do
53+
s = StringSpecs::MyString.new('hello')
54+
s.delete_prefix('hell').should be_an_instance_of(String)
55+
end
4756
end
4857
end
4958

spec/ruby/core/string/delete_spec.rb

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,8 +93,16 @@
9393
-> { "hello world".delete(mock('x')) }.should raise_error(TypeError)
9494
end
9595

96-
it "returns subclass instances when called on a subclass" do
97-
StringSpecs::MyString.new("oh no!!!").delete("!").should be_an_instance_of(StringSpecs::MyString)
96+
ruby_version_is ''...'3.0' do
97+
it "returns subclass instances when called on a subclass" do
98+
StringSpecs::MyString.new("oh no!!!").delete("!").should be_an_instance_of(StringSpecs::MyString)
99+
end
100+
end
101+
102+
ruby_version_is '3.0' do
103+
it "returns String instances when called on a subclass" do
104+
StringSpecs::MyString.new("oh no!!!").delete("!").should be_an_instance_of(String)
105+
end
98106
end
99107
end
100108

spec/ruby/core/string/delete_suffix_spec.rb

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,18 @@
4141
'hello'.delete_suffix(o).should == 'h'
4242
end
4343

44-
it "returns a subclass instance when called on a subclass instance" do
45-
s = StringSpecs::MyString.new('hello')
46-
s.delete_suffix('ello').should be_an_instance_of(StringSpecs::MyString)
44+
ruby_version_is ''...'3.0' do
45+
it "returns a subclass instance when called on a subclass instance" do
46+
s = StringSpecs::MyString.new('hello')
47+
s.delete_suffix('ello').should be_an_instance_of(StringSpecs::MyString)
48+
end
49+
end
50+
51+
ruby_version_is '3.0' do
52+
it "returns a String instance when called on a subclass instance" do
53+
s = StringSpecs::MyString.new('hello')
54+
s.delete_suffix('ello').should be_an_instance_of(String)
55+
end
4756
end
4857
end
4958

0 commit comments

Comments
 (0)