2018-08-27 10:25:00 -04:00
|
|
|
require_relative '../spec_helper'
|
|
|
|
|
2017-05-07 08:04:49 -04:00
|
|
|
describe "ruby -E" do
|
2018-02-27 15:21:25 -05:00
|
|
|
it "sets the external encoding with '-E external'" do
|
|
|
|
result = ruby_exe("print Encoding.default_external", options: '-E euc-jp')
|
|
|
|
result.should == "EUC-JP"
|
|
|
|
end
|
|
|
|
|
2018-02-27 15:45:59 -05:00
|
|
|
platform_is_not :windows do
|
|
|
|
it "also sets the filesystem encoding with '-E external'" do
|
|
|
|
result = ruby_exe("print Encoding.find('filesystem')", options: '-E euc-jp')
|
|
|
|
result.should == "EUC-JP"
|
|
|
|
end
|
2018-02-27 15:21:25 -05:00
|
|
|
end
|
|
|
|
|
|
|
|
it "sets the external encoding with '-E external:'" do
|
|
|
|
result = ruby_exe("print Encoding.default_external", options: '-E Shift_JIS:')
|
|
|
|
result.should == "Shift_JIS"
|
|
|
|
end
|
|
|
|
|
|
|
|
it "sets the internal encoding with '-E :internal'" do
|
|
|
|
ruby_exe("print Encoding.default_internal", options: '-E :SHIFT_JIS').
|
|
|
|
should == 'Shift_JIS'
|
|
|
|
end
|
|
|
|
|
|
|
|
it "sets the external and internal encodings with '-E external:internal'" do
|
|
|
|
ruby_exe("puts Encoding.default_external, Encoding.default_internal", options: '-E euc-jp:SHIFT_JIS').
|
|
|
|
should == "EUC-JP\nShift_JIS\n"
|
|
|
|
end
|
|
|
|
|
2017-05-07 08:04:49 -04:00
|
|
|
it "raises a RuntimeError if used with -U" do
|
|
|
|
ruby_exe("p 1",
|
|
|
|
options: '-Eascii:ascii -U',
|
2021-06-02 08:34:07 -04:00
|
|
|
args: '2>&1',
|
|
|
|
exit_status: 1).should =~ /RuntimeError/
|
2017-05-07 08:04:49 -04:00
|
|
|
end
|
|
|
|
end
|