diff options
Diffstat (limited to 'spec/ruby/command_line/dash_upper_k_spec.rb')
| -rw-r--r-- | spec/ruby/command_line/dash_upper_k_spec.rb | 76 |
1 files changed, 54 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..7e71532295 100644 --- a/spec/ruby/command_line/dash_upper_k_spec.rb +++ b/spec/ruby/command_line/dash_upper_k_spec.rb @@ -1,33 +1,65 @@ -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::BINARY with -Ka" do + ruby_exe(@test_string, options: '-Ka').should == + [Encoding::BINARY.name, Encoding::BINARY.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::BINARY with -KA" do + ruby_exe(@test_string, options: '-KA').should == + [Encoding::BINARY.name, Encoding::BINARY.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::BINARY with -Kn" do + ruby_exe(@test_string, options: '-Kn').should == + [Encoding::BINARY.name, Encoding::BINARY.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::BINARY with -KN" do + ruby_exe(@test_string, options: '-KN').should == + [Encoding::BINARY.name, Encoding::BINARY.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 + it "ignores unknown codes" do + external = Encoding.find('external') + ruby_exe(@test_string, options: '-KZ').should == + [Encoding::UTF_8.name, external.name, nil].inspect end end |
