1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
This commit is contained in:
Benoit Daloze 2019-04-28 23:20:11 +02:00
parent 994833085a
commit 79671ec57e
135 changed files with 4415 additions and 4885 deletions

View file

@ -136,11 +136,9 @@ describe "Predefined global $&" do
$&.should == 'foo'
end
with_feature :encoding do
it "sets the encoding to the encoding of the source String" do
"abc".force_encoding(Encoding::EUC_JP) =~ /b/
$&.encoding.should equal(Encoding::EUC_JP)
end
it "sets the encoding to the encoding of the source String" do
"abc".force_encoding(Encoding::EUC_JP) =~ /b/
$&.encoding.should equal(Encoding::EUC_JP)
end
end
@ -151,16 +149,14 @@ describe "Predefined global $`" do
$`.should == 'bar'
end
with_feature :encoding do
it "sets the encoding to the encoding of the source String" do
"abc".force_encoding(Encoding::EUC_JP) =~ /b/
$`.encoding.should equal(Encoding::EUC_JP)
end
it "sets the encoding to the encoding of the source String" do
"abc".force_encoding(Encoding::EUC_JP) =~ /b/
$`.encoding.should equal(Encoding::EUC_JP)
end
it "sets an empty result to the encoding of the source String" do
"abc".force_encoding(Encoding::ISO_8859_1) =~ /a/
$`.encoding.should equal(Encoding::ISO_8859_1)
end
it "sets an empty result to the encoding of the source String" do
"abc".force_encoding(Encoding::ISO_8859_1) =~ /a/
$`.encoding.should equal(Encoding::ISO_8859_1)
end
end
@ -171,16 +167,14 @@ describe "Predefined global $'" do
$'.should == 'baz'
end
with_feature :encoding do
it "sets the encoding to the encoding of the source String" do
"abc".force_encoding(Encoding::EUC_JP) =~ /b/
$'.encoding.should equal(Encoding::EUC_JP)
end
it "sets the encoding to the encoding of the source String" do
"abc".force_encoding(Encoding::EUC_JP) =~ /b/
$'.encoding.should equal(Encoding::EUC_JP)
end
it "sets an empty result to the encoding of the source String" do
"abc".force_encoding(Encoding::ISO_8859_1) =~ /c/
$'.encoding.should equal(Encoding::ISO_8859_1)
end
it "sets an empty result to the encoding of the source String" do
"abc".force_encoding(Encoding::ISO_8859_1) =~ /c/
$'.encoding.should equal(Encoding::ISO_8859_1)
end
end
@ -196,11 +190,9 @@ describe "Predefined global $+" do
$+.should == 'a'
end
with_feature :encoding do
it "sets the encoding to the encoding of the source String" do
"abc".force_encoding(Encoding::EUC_JP) =~ /(b)/
$+.encoding.should equal(Encoding::EUC_JP)
end
it "sets the encoding to the encoding of the source String" do
"abc".force_encoding(Encoding::EUC_JP) =~ /(b)/
$+.encoding.should equal(Encoding::EUC_JP)
end
end
@ -225,11 +217,9 @@ describe "Predefined globals $1..N" do
test("-").should == nil
end
with_feature :encoding do
it "sets the encoding to the encoding of the source String" do
"abc".force_encoding(Encoding::EUC_JP) =~ /(b)/
$1.encoding.should equal(Encoding::EUC_JP)
end
it "sets the encoding to the encoding of the source String" do
"abc".force_encoding(Encoding::EUC_JP) =~ /(b)/
$1.encoding.should equal(Encoding::EUC_JP)
end
end
@ -1139,110 +1129,108 @@ describe "The predefined global constants" do
end
with_feature :encoding do
describe "The predefined global constant" do
before :each do
@external = Encoding.default_external
@internal = Encoding.default_internal
describe "The predefined global constant" do
before :each do
@external = Encoding.default_external
@internal = Encoding.default_internal
end
after :each do
Encoding.default_external = @external
Encoding.default_internal = @internal
end
describe "STDIN" do
it "has the same external encoding as Encoding.default_external" do
STDIN.external_encoding.should equal(Encoding.default_external)
end
after :each do
Encoding.default_external = @external
Encoding.default_internal = @internal
it "has the same external encoding as Encoding.default_external when that encoding is changed" do
Encoding.default_external = Encoding::ISO_8859_16
STDIN.external_encoding.should equal(Encoding::ISO_8859_16)
end
describe "STDIN" do
it "has the same external encoding as Encoding.default_external" do
STDIN.external_encoding.should equal(Encoding.default_external)
end
it "has the same external encoding as Encoding.default_external when that encoding is changed" do
Encoding.default_external = Encoding::ISO_8859_16
STDIN.external_encoding.should equal(Encoding::ISO_8859_16)
end
it "has the encodings set by #set_encoding" do
code = "STDIN.set_encoding Encoding::IBM775, Encoding::IBM866; " \
"p [STDIN.external_encoding.name, STDIN.internal_encoding.name]"
ruby_exe(code).chomp.should == %{["IBM775", "IBM866"]}
end
it "retains the encoding set by #set_encoding when Encoding.default_external is changed" do
code = "STDIN.set_encoding Encoding::IBM775, Encoding::IBM866; " \
"Encoding.default_external = Encoding::ISO_8859_16;" \
"p [STDIN.external_encoding.name, STDIN.internal_encoding.name]"
ruby_exe(code).chomp.should == %{["IBM775", "IBM866"]}
end
it "has nil for the internal encoding" do
STDIN.internal_encoding.should be_nil
end
it "has nil for the internal encoding despite Encoding.default_internal being changed" do
Encoding.default_internal = Encoding::IBM437
STDIN.internal_encoding.should be_nil
end
it "has the encodings set by #set_encoding" do
code = "STDIN.set_encoding Encoding::IBM775, Encoding::IBM866; " \
"p [STDIN.external_encoding.name, STDIN.internal_encoding.name]"
ruby_exe(code).chomp.should == %{["IBM775", "IBM866"]}
end
describe "STDOUT" do
it "has nil for the external encoding" do
STDOUT.external_encoding.should be_nil
end
it "has nil for the external encoding despite Encoding.default_external being changed" do
Encoding.default_external = Encoding::ISO_8859_1
STDOUT.external_encoding.should be_nil
end
it "has the encodings set by #set_encoding" do
code = "STDOUT.set_encoding Encoding::IBM775, Encoding::IBM866; " \
"p [STDOUT.external_encoding.name, STDOUT.internal_encoding.name]"
ruby_exe(code).chomp.should == %{["IBM775", "IBM866"]}
end
it "has nil for the internal encoding" do
STDOUT.internal_encoding.should be_nil
end
it "has nil for the internal encoding despite Encoding.default_internal being changed" do
Encoding.default_internal = Encoding::IBM437
STDOUT.internal_encoding.should be_nil
end
it "retains the encoding set by #set_encoding when Encoding.default_external is changed" do
code = "STDIN.set_encoding Encoding::IBM775, Encoding::IBM866; " \
"Encoding.default_external = Encoding::ISO_8859_16;" \
"p [STDIN.external_encoding.name, STDIN.internal_encoding.name]"
ruby_exe(code).chomp.should == %{["IBM775", "IBM866"]}
end
describe "STDERR" do
it "has nil for the external encoding" do
STDERR.external_encoding.should be_nil
end
it "has nil for the external encoding despite Encoding.default_external being changed" do
Encoding.default_external = Encoding::ISO_8859_1
STDERR.external_encoding.should be_nil
end
it "has the encodings set by #set_encoding" do
code = "STDERR.set_encoding Encoding::IBM775, Encoding::IBM866; " \
"p [STDERR.external_encoding.name, STDERR.internal_encoding.name]"
ruby_exe(code).chomp.should == %{["IBM775", "IBM866"]}
end
it "has nil for the internal encoding" do
STDERR.internal_encoding.should be_nil
end
it "has nil for the internal encoding despite Encoding.default_internal being changed" do
Encoding.default_internal = Encoding::IBM437
STDERR.internal_encoding.should be_nil
end
it "has nil for the internal encoding" do
STDIN.internal_encoding.should be_nil
end
describe "ARGV" do
it "contains Strings encoded in locale Encoding" do
code = fixture __FILE__, "argv_encoding.rb"
result = ruby_exe(code, args: "a b")
encoding = Encoding.default_external
result.chomp.should == %{["#{encoding}", "#{encoding}"]}
end
it "has nil for the internal encoding despite Encoding.default_internal being changed" do
Encoding.default_internal = Encoding::IBM437
STDIN.internal_encoding.should be_nil
end
end
describe "STDOUT" do
it "has nil for the external encoding" do
STDOUT.external_encoding.should be_nil
end
it "has nil for the external encoding despite Encoding.default_external being changed" do
Encoding.default_external = Encoding::ISO_8859_1
STDOUT.external_encoding.should be_nil
end
it "has the encodings set by #set_encoding" do
code = "STDOUT.set_encoding Encoding::IBM775, Encoding::IBM866; " \
"p [STDOUT.external_encoding.name, STDOUT.internal_encoding.name]"
ruby_exe(code).chomp.should == %{["IBM775", "IBM866"]}
end
it "has nil for the internal encoding" do
STDOUT.internal_encoding.should be_nil
end
it "has nil for the internal encoding despite Encoding.default_internal being changed" do
Encoding.default_internal = Encoding::IBM437
STDOUT.internal_encoding.should be_nil
end
end
describe "STDERR" do
it "has nil for the external encoding" do
STDERR.external_encoding.should be_nil
end
it "has nil for the external encoding despite Encoding.default_external being changed" do
Encoding.default_external = Encoding::ISO_8859_1
STDERR.external_encoding.should be_nil
end
it "has the encodings set by #set_encoding" do
code = "STDERR.set_encoding Encoding::IBM775, Encoding::IBM866; " \
"p [STDERR.external_encoding.name, STDERR.internal_encoding.name]"
ruby_exe(code).chomp.should == %{["IBM775", "IBM866"]}
end
it "has nil for the internal encoding" do
STDERR.internal_encoding.should be_nil
end
it "has nil for the internal encoding despite Encoding.default_internal being changed" do
Encoding.default_internal = Encoding::IBM437
STDERR.internal_encoding.should be_nil
end
end
describe "ARGV" do
it "contains Strings encoded in locale Encoding" do
code = fixture __FILE__, "argv_encoding.rb"
result = ruby_exe(code, args: "a b")
encoding = Encoding.default_external
result.chomp.should == %{["#{encoding}", "#{encoding}"]}
end
end
end