diff options
Diffstat (limited to 'spec/ruby/core/argf/binmode_spec.rb')
-rw-r--r-- | spec/ruby/core/argf/binmode_spec.rb | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/spec/ruby/core/argf/binmode_spec.rb b/spec/ruby/core/argf/binmode_spec.rb new file mode 100644 index 0000000000..62202360e3 --- /dev/null +++ b/spec/ruby/core/argf/binmode_spec.rb @@ -0,0 +1,43 @@ +require File.expand_path('../../../spec_helper', __FILE__) + +describe "ARGF.binmode" do + before :each do + @file1 = fixture __FILE__, "file1.txt" + @file2 = fixture __FILE__, "file2.txt" + @bin_file = fixture __FILE__, "bin_file.txt" + end + + it "returns self" do + argf [@bin_file] do + @argf.binmode.should equal @argf + end + end + + platform_is :windows do + it "puts reading into binmode" do + argf [@bin_file, @bin_file] do + @argf.gets.should == "test\n" + @argf.binmode + @argf.gets.should == "test\r\n" + end + end + + it "puts alls subsequent stream reading through ARGF into binmode" do + argf [@bin_file, @bin_file] do + @argf.binmode + @argf.gets.should == "test\r\n" + @argf.gets.should == "test\r\n" + end + end + end + + it "sets the file's encoding to ASCII-8BIT" do + argf [@bin_file, @file1] do + @argf.binmode + @argf.binmode?.should == true + @argf.gets.encoding.should == Encoding::ASCII_8BIT + @argf.skip + @argf.read.encoding.should == Encoding::ASCII_8BIT + end + end +end |