summaryrefslogtreecommitdiff
path: root/spec/ruby/command_line/dash_upper_k_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/ruby/command_line/dash_upper_k_spec.rb')
-rw-r--r--spec/ruby/command_line/dash_upper_k_spec.rb77
1 files changed, 55 insertions, 22 deletions
diff --git a/spec/ruby/command_line/dash_upper_k_spec.rb b/spec/ruby/command_line/dash_upper_k_spec.rb
index 3c3b9fa4d3..d7e16d6ede 100644
--- a/spec/ruby/command_line/dash_upper_k_spec.rb
+++ b/spec/ruby/command_line/dash_upper_k_spec.rb
@@ -1,33 +1,66 @@
-describe 'The -K command line option sets __ENCODING__' do
- it "to Encoding::ASCII_8BIT with -Ka" do
- ruby_exe("print __ENCODING__", options: '-Ka').should == Encoding::ASCII_8BIT.to_s
- end
+require_relative '../spec_helper'
- it "to Encoding::ASCII_8BIT with -KA" do
- ruby_exe("print __ENCODING__", options: '-KA').should == Encoding::ASCII_8BIT.to_s
+describe 'The -K command line option' do
+ before :each do
+ @test_string = "print [__ENCODING__&.name, Encoding.default_external&.name, Encoding.default_internal&.name].inspect"
end
- it "to Encoding::EUC_JP with -Ke" do
- ruby_exe("print __ENCODING__", options: '-Ke').should == Encoding::EUC_JP.to_s
- end
+ describe 'sets __ENCODING__ and Encoding.default_external' do
+ it "to Encoding::ASCII_8BIT with -Ka" do
+ ruby_exe(@test_string, options: '-Ka').should ==
+ [Encoding::ASCII_8BIT.name, Encoding::ASCII_8BIT.name, nil].inspect
+ end
- it "to Encoding::EUC_JP with -KE" do
- ruby_exe("print __ENCODING__", options: '-KE').should == Encoding::EUC_JP.to_s
- end
+ it "to Encoding::ASCII_8BIT with -KA" do
+ ruby_exe(@test_string, options: '-KA').should ==
+ [Encoding::ASCII_8BIT.name, Encoding::ASCII_8BIT.name, nil].inspect
+ end
- it "to Encoding::UTF_8 with -Ku" do
- ruby_exe("print __ENCODING__", options: '-Ku').should == Encoding::UTF_8.to_s
- end
+ it "to Encoding::ASCII_8BIT with -Kn" do
+ ruby_exe(@test_string, options: '-Kn').should ==
+ [Encoding::ASCII_8BIT.name, Encoding::ASCII_8BIT.name, nil].inspect
+ end
- it "to Encoding::UTF_8 with -KU" do
- ruby_exe("print __ENCODING__", options: '-KU').should == Encoding::UTF_8.to_s
- end
+ it "to Encoding::ASCII_8BIT with -KN" do
+ ruby_exe(@test_string, options: '-KN').should ==
+ [Encoding::ASCII_8BIT.name, Encoding::ASCII_8BIT.name, nil].inspect
+ end
+
+ it "to Encoding::EUC_JP with -Ke" do
+ ruby_exe(@test_string, options: '-Ke').should ==
+ [Encoding::EUC_JP.name, Encoding::EUC_JP.name, nil].inspect
+ end
+
+ it "to Encoding::EUC_JP with -KE" do
+ ruby_exe(@test_string, options: '-KE').should ==
+ [Encoding::EUC_JP.name, Encoding::EUC_JP.name, nil].inspect
+ end
+
+ it "to Encoding::UTF_8 with -Ku" do
+ ruby_exe(@test_string, options: '-Ku').should ==
+ [Encoding::UTF_8.name, Encoding::UTF_8.name, nil].inspect
+ end
+
+ it "to Encoding::UTF_8 with -KU" do
+ ruby_exe(@test_string, options: '-KU').should ==
+ [Encoding::UTF_8.name, Encoding::UTF_8.name, nil].inspect
+ end
+
+ it "to Encoding::Windows_31J with -Ks" do
+ ruby_exe(@test_string, options: '-Ks').should ==
+ [Encoding::Windows_31J.name, Encoding::Windows_31J.name, nil].inspect
+ end
- it "to Encoding::Windows_31J with -Ks" do
- ruby_exe("print __ENCODING__", options: '-Ks').should == Encoding::Windows_31J.to_s
+ it "to Encoding::Windows_31J with -KS" do
+ ruby_exe(@test_string, options: '-KS').should ==
+ [Encoding::Windows_31J.name, Encoding::Windows_31J.name, nil].inspect
+ end
end
- it "to Encoding::Windows_31J with -KS" do
- ruby_exe("print __ENCODING__", options: '-KS').should == Encoding::Windows_31J.to_s
+ platform_is_not :windows do
+ it "ignores unknown codes" do
+ ruby_exe(@test_string, options: '-KZ').should ==
+ [Encoding::UTF_8.name, Encoding::UTF_8.name, nil].inspect
+ end
end
end