summaryrefslogtreecommitdiff
path: root/spec/rubyspec/core/argf/shared
diff options
context:
space:
mode:
Diffstat (limited to 'spec/rubyspec/core/argf/shared')
-rw-r--r--spec/rubyspec/core/argf/shared/each_byte.rb58
-rw-r--r--spec/rubyspec/core/argf/shared/each_char.rb58
-rw-r--r--spec/rubyspec/core/argf/shared/each_codepoint.rb58
-rw-r--r--spec/rubyspec/core/argf/shared/each_line.rb62
-rw-r--r--spec/rubyspec/core/argf/shared/eof.rb24
-rw-r--r--spec/rubyspec/core/argf/shared/filename.rb28
-rw-r--r--spec/rubyspec/core/argf/shared/fileno.rb24
-rw-r--r--spec/rubyspec/core/argf/shared/getc.rb17
-rw-r--r--spec/rubyspec/core/argf/shared/gets.rb99
-rw-r--r--spec/rubyspec/core/argf/shared/pos.rb31
-rw-r--r--spec/rubyspec/core/argf/shared/read.rb58
-rw-r--r--spec/rubyspec/core/argf/shared/readlines.rb22
12 files changed, 0 insertions, 539 deletions
diff --git a/spec/rubyspec/core/argf/shared/each_byte.rb b/spec/rubyspec/core/argf/shared/each_byte.rb
deleted file mode 100644
index 6b1dc1dae2..0000000000
--- a/spec/rubyspec/core/argf/shared/each_byte.rb
+++ /dev/null
@@ -1,58 +0,0 @@
-describe :argf_each_byte, shared: true do
- before :each do
- @file1_name = fixture __FILE__, "file1.txt"
- @file2_name = fixture __FILE__, "file2.txt"
-
- @bytes = []
- File.read(@file1_name).each_byte { |b| @bytes << b }
- File.read(@file2_name).each_byte { |b| @bytes << b }
- end
-
- it "yields each byte of all streams to the passed block" do
- argf [@file1_name, @file2_name] do
- bytes = []
- @argf.send(@method) { |b| bytes << b }
- bytes.should == @bytes
- end
- end
-
- it "returns self when passed a block" do
- argf [@file1_name, @file2_name] do
- @argf.send(@method) {}.should equal(@argf)
- end
- end
-
- it "returns an Enumerator when passed no block" do
- argf [@file1_name, @file2_name] do
- enum = @argf.send(@method)
- enum.should be_an_instance_of(Enumerator)
-
- bytes = []
- enum.each { |b| bytes << b }
- bytes.should == @bytes
- end
- end
-
- describe "when no block is given" do
- it "returns an Enumerator" do
- argf [@file1_name, @file2_name] do
- enum = @argf.send(@method)
- enum.should be_an_instance_of(Enumerator)
-
- bytes = []
- enum.each { |b| bytes << b }
- bytes.should == @bytes
- end
- end
-
- describe "returned Enumerator" do
- describe "size" do
- it "should return nil" do
- argf [@file1_name, @file2_name] do
- @argf.send(@method).size.should == nil
- end
- end
- end
- end
- end
-end
diff --git a/spec/rubyspec/core/argf/shared/each_char.rb b/spec/rubyspec/core/argf/shared/each_char.rb
deleted file mode 100644
index 9e333ecc5b..0000000000
--- a/spec/rubyspec/core/argf/shared/each_char.rb
+++ /dev/null
@@ -1,58 +0,0 @@
-describe :argf_each_char, shared: true do
- before :each do
- @file1_name = fixture __FILE__, "file1.txt"
- @file2_name = fixture __FILE__, "file2.txt"
-
- @chars = []
- File.read(@file1_name).each_char { |c| @chars << c }
- File.read(@file2_name).each_char { |c| @chars << c }
- end
-
- it "yields each char of all streams to the passed block" do
- argf [@file1_name, @file2_name] do
- chars = []
- @argf.send(@method) { |c| chars << c }
- chars.should == @chars
- end
- end
-
- it "returns self when passed a block" do
- argf [@file1_name, @file2_name] do
- @argf.send(@method) {}.should equal(@argf)
- end
- end
-
- it "returns an Enumerator when passed no block" do
- argf [@file1_name, @file2_name] do
- enum = @argf.send(@method)
- enum.should be_an_instance_of(Enumerator)
-
- chars = []
- enum.each { |c| chars << c }
- chars.should == @chars
- end
- end
-
- describe "when no block is given" do
- it "returns an Enumerator" do
- argf [@file1_name, @file2_name] do
- enum = @argf.send(@method)
- enum.should be_an_instance_of(Enumerator)
-
- chars = []
- enum.each { |c| chars << c }
- chars.should == @chars
- end
- end
-
- describe "returned Enumerator" do
- describe "size" do
- it "should return nil" do
- argf [@file1_name, @file2_name] do
- @argf.send(@method).size.should == nil
- end
- end
- end
- end
- end
-end
diff --git a/spec/rubyspec/core/argf/shared/each_codepoint.rb b/spec/rubyspec/core/argf/shared/each_codepoint.rb
deleted file mode 100644
index e2a2dfff46..0000000000
--- a/spec/rubyspec/core/argf/shared/each_codepoint.rb
+++ /dev/null
@@ -1,58 +0,0 @@
-describe :argf_each_codepoint, shared: true do
- before :each do
- file1_name = fixture __FILE__, "file1.txt"
- file2_name = fixture __FILE__, "file2.txt"
- @filenames = [file1_name, file2_name]
-
- @codepoints = File.read(file1_name).codepoints
- @codepoints.concat File.read(file2_name).codepoints
- end
-
- it "is a public method" do
- argf @filenames do
- @argf.public_methods(false).should include(@method)
- end
- end
-
- it "does not require arguments" do
- argf @filenames do
- @argf.method(@method).arity.should == 0
- end
- end
-
- it "returns self when passed a block" do
- argf @filenames do
- @argf.send(@method) {}.should equal(@argf)
- end
- end
-
- it "returns an Enumerator when passed no block" do
- argf @filenames do
- @argf.send(@method).should be_an_instance_of(Enumerator)
- end
- end
-
- it "yields each codepoint of all streams" do
- argf @filenames do
- @argf.send(@method).to_a.should == @codepoints
- end
- end
-
- describe "when no block is given" do
- it "returns an Enumerator" do
- argf @filenames do
- @argf.send(@method).should be_an_instance_of(Enumerator)
- end
- end
-
- describe "returned Enumerator" do
- describe "size" do
- it "should return nil" do
- argf @filenames do
- @argf.send(@method).size.should == nil
- end
- end
- end
- end
- end
-end
diff --git a/spec/rubyspec/core/argf/shared/each_line.rb b/spec/rubyspec/core/argf/shared/each_line.rb
deleted file mode 100644
index c0ef77dc54..0000000000
--- a/spec/rubyspec/core/argf/shared/each_line.rb
+++ /dev/null
@@ -1,62 +0,0 @@
-describe :argf_each_line, shared: true do
- before :each do
- @file1_name = fixture __FILE__, "file1.txt"
- @file2_name = fixture __FILE__, "file2.txt"
-
- @lines = File.readlines @file1_name
- @lines += File.readlines @file2_name
- end
-
- it "is a public method" do
- argf [@file1_name, @file2_name] do
- @argf.public_methods(false).should include(@method)
- end
- end
-
- it "requires multiple arguments" do
- argf [@file1_name, @file2_name] do
- @argf.method(@method).arity.should < 0
- end
- end
-
- it "reads each line of files" do
- argf [@file1_name, @file2_name] do
- lines = []
- @argf.send(@method) { |b| lines << b }
- lines.should == @lines
- end
- end
-
- it "returns self when passed a block" do
- argf [@file1_name, @file2_name] do
- @argf.send(@method) {}.should equal(@argf)
- end
- end
-
- describe "with a separator" do
- it "yields each separated section of all streams" do
- argf [@file1_name, @file2_name] do
- @argf.send(@method, '.').to_a.should ==
- (File.readlines(@file1_name, '.') + File.readlines(@file2_name, '.'))
- end
- end
- end
-
- describe "when no block is given" do
- it "returns an Enumerator" do
- argf [@file1_name, @file2_name] do
- @argf.send(@method).should be_an_instance_of(Enumerator)
- end
- end
-
- describe "returned Enumerator" do
- describe "size" do
- it "should return nil" do
- argf [@file1_name, @file2_name] do
- @argf.send(@method).size.should == nil
- end
- end
- end
- end
- end
-end
diff --git a/spec/rubyspec/core/argf/shared/eof.rb b/spec/rubyspec/core/argf/shared/eof.rb
deleted file mode 100644
index bba18ede50..0000000000
--- a/spec/rubyspec/core/argf/shared/eof.rb
+++ /dev/null
@@ -1,24 +0,0 @@
-describe :argf_eof, shared: true do
- before :each do
- @file1 = fixture __FILE__, "file1.txt"
- @file2 = fixture __FILE__, "file2.txt"
- end
-
- # NOTE: this test assumes that fixtures files have two lines each
- it "returns true when reaching the end of a file" do
- argf [@file1, @file2] do
- result = []
- while @argf.gets
- result << @argf.send(@method)
- end
- result.should == [false, true, false, true]
- end
- end
-
- it "raises IOError when called on a closed stream" do
- argf [@file1] do
- @argf.read
- lambda { @argf.send(@method) }.should raise_error(IOError)
- end
- end
-end
diff --git a/spec/rubyspec/core/argf/shared/filename.rb b/spec/rubyspec/core/argf/shared/filename.rb
deleted file mode 100644
index f47c673dc0..0000000000
--- a/spec/rubyspec/core/argf/shared/filename.rb
+++ /dev/null
@@ -1,28 +0,0 @@
-describe :argf_filename, shared: true do
- before :each do
- @file1 = fixture __FILE__, "file1.txt"
- @file2 = fixture __FILE__, "file2.txt"
- end
-
- # NOTE: this test assumes that fixtures files have two lines each
- it "returns the current file name on each file" do
- argf [@file1, @file2] do
- result = []
- # returns first current file even when not yet open
- result << @argf.send(@method)
- result << @argf.send(@method) while @argf.gets
- # returns last current file even when closed
- result << @argf.send(@method)
-
- result.map! { |f| File.expand_path(f) }
- result.should == [@file1, @file1, @file1, @file2, @file2, @file2]
- end
- end
-
- # NOTE: this test assumes that fixtures files have two lines each
- it "sets the $FILENAME global variable with the current file name on each file" do
- script = fixture __FILE__, "filename.rb"
- out = ruby_exe(script, args: [@file1, @file2])
- out.should == "#{@file1}\n#{@file1}\n#{@file2}\n#{@file2}\n#{@file2}\n"
- end
-end
diff --git a/spec/rubyspec/core/argf/shared/fileno.rb b/spec/rubyspec/core/argf/shared/fileno.rb
deleted file mode 100644
index 891e250ad9..0000000000
--- a/spec/rubyspec/core/argf/shared/fileno.rb
+++ /dev/null
@@ -1,24 +0,0 @@
-describe :argf_fileno, shared: true do
- before :each do
- @file1 = fixture __FILE__, "file1.txt"
- @file2 = fixture __FILE__, "file2.txt"
- end
-
- # NOTE: this test assumes that fixtures files have two lines each
- it "returns the current file number on each file" do
- argf [@file1, @file2] do
- result = []
- # returns first current file even when not yet open
- result << @argf.send(@method) while @argf.gets
- # returns last current file even when closed
- result.map { |d| d.class }.should == [Fixnum, Fixnum, Fixnum, Fixnum]
- end
- end
-
- it "raises an ArgumentError when called on a closed stream" do
- argf [@file1] do
- @argf.read
- lambda { @argf.send(@method) }.should raise_error(ArgumentError)
- end
- end
-end
diff --git a/spec/rubyspec/core/argf/shared/getc.rb b/spec/rubyspec/core/argf/shared/getc.rb
deleted file mode 100644
index 8be39c60b6..0000000000
--- a/spec/rubyspec/core/argf/shared/getc.rb
+++ /dev/null
@@ -1,17 +0,0 @@
-describe :argf_getc, shared: true do
- before :each do
- @file1 = fixture __FILE__, "file1.txt"
- @file2 = fixture __FILE__, "file2.txt"
-
- @chars = File.read @file1
- @chars += File.read @file2
- end
-
- it "reads each char of files" do
- argf [@file1, @file2] do
- chars = ""
- @chars.size.times { chars << @argf.send(@method) }
- chars.should == @chars
- end
- end
-end
diff --git a/spec/rubyspec/core/argf/shared/gets.rb b/spec/rubyspec/core/argf/shared/gets.rb
deleted file mode 100644
index 160d24c27b..0000000000
--- a/spec/rubyspec/core/argf/shared/gets.rb
+++ /dev/null
@@ -1,99 +0,0 @@
-describe :argf_gets, shared: true do
- before :each do
- @file1_name = fixture __FILE__, "file1.txt"
- @file2_name = fixture __FILE__, "file2.txt"
- @stdin_name = fixture __FILE__, "stdin.txt"
-
- @file1 = File.readlines @file1_name
- @file2 = File.readlines @file2_name
- @stdin = File.read @stdin_name
- end
-
- it "reads one line of a file" do
- argf [@file1_name] do
- @argf.send(@method).should == @file1.first
- end
- end
-
- it "reads all lines of a file" do
- argf [@file1_name] do
- lines = []
- @file1.size.times { lines << @argf.send(@method) }
- lines.should == @file1
- end
- end
-
- it "reads all lines of stdin" do
- total = @stdin.count $/
- stdin = ruby_exe(
- "#{total}.times { print ARGF.send(#{@method.inspect}) }",
- args: "< #{@stdin_name}")
- stdin.should == @stdin
- end
-
- it "reads all lines of two files" do
- argf [@file1_name, @file2_name] do
- total = @file1.size + @file2.size
- lines = []
- total.times { lines << @argf.send(@method) }
- lines.should == @file1 + @file2
- end
- end
-
- it "sets $_ global variable with each line read" do
- argf [@file1_name, @file2_name] do
- total = @file1.size + @file2.size
- total.times do
- line = @argf.send(@method)
- $_.should == line
- end
- end
- end
-end
-
-describe :argf_gets_inplace_edit, shared: true do
- before :each do
- @file1_name = fixture __FILE__, "file1.txt"
- @file2_name = fixture __FILE__, "file2.txt"
-
- @tmp1_name = tmp "file1.txt"
- @tmp2_name = tmp "file2.txt"
-
- @tmp1_name_bak = @tmp1_name + ".bak"
- @tmp2_name_bak = @tmp2_name + ".bak"
-
- cp @file1_name, @tmp1_name
- cp @file2_name, @tmp2_name
-
- method = "ARGF.send(#{@method.inspect})"
- @code = "begin while line = #{method} do puts 'x' end rescue EOFError; end"
- end
-
- after :each do
- rm_r @tmp1_name, @tmp2_name, @tmp1_name_bak, @tmp2_name_bak
- end
-
- # -i with no backup extension is not supported on Windows
- platform_is_not :windows do
- it "modifies the files when in place edit mode is on" do
- ruby_exe(@code,
- options: "-i",
- args: "#{@tmp1_name} #{@tmp2_name}")
-
- File.read(@tmp1_name).should == "x\nx\n"
- File.read(@tmp2_name).should == "x\nx\n"
- end
- end
-
- it "modifies and backups two files when in place edit mode is on" do
- ruby_exe(@code,
- options: "-i.bak",
- args: "#{@tmp1_name} #{@tmp2_name}")
-
- File.read(@tmp1_name).should == "x\nx\n"
- File.read(@tmp2_name).should == "x\nx\n"
-
- File.read(@tmp1_name_bak).should == "file1.1\nfile1.2\n"
- File.read(@tmp2_name_bak).should == "line2.1\nline2.2\n"
- end
-end
diff --git a/spec/rubyspec/core/argf/shared/pos.rb b/spec/rubyspec/core/argf/shared/pos.rb
deleted file mode 100644
index f7184f3d7c..0000000000
--- a/spec/rubyspec/core/argf/shared/pos.rb
+++ /dev/null
@@ -1,31 +0,0 @@
-describe :argf_pos, shared: true do
- before :each do
- @file1 = fixture __FILE__, "file1.txt"
- @file2 = fixture __FILE__, "file2.txt"
- end
-
- it "gives the correct position for each read operation" do
- argf [@file1, @file2] do
- size1 = File.size(@file1)
- size2 = File.size(@file2)
-
- @argf.read(2)
- @argf.send(@method).should == 2
- @argf.read(size1-2)
- @argf.send(@method).should == size1
- @argf.read(6)
- @argf.send(@method).should == 6
- @argf.rewind
- @argf.send(@method).should == 0
- @argf.read(size2)
- @argf.send(@method).should == size2
- end
- end
-
- it "raises an ArgumentError when called on a closed stream" do
- argf [@file1] do
- @argf.read
- lambda { @argf.send(@method) }.should raise_error(ArgumentError)
- end
- end
-end
diff --git a/spec/rubyspec/core/argf/shared/read.rb b/spec/rubyspec/core/argf/shared/read.rb
deleted file mode 100644
index fe903983c0..0000000000
--- a/spec/rubyspec/core/argf/shared/read.rb
+++ /dev/null
@@ -1,58 +0,0 @@
-describe :argf_read, shared: true do
- before :each do
- @file1_name = fixture __FILE__, "file1.txt"
- @stdin_name = fixture __FILE__, "stdin.txt"
-
- @file1 = File.read @file1_name
- @stdin = File.read @stdin_name
- end
-
- it "treats second nil argument as no output buffer" do
- argf [@file1_name] do
- @argf.send(@method, @file1.size, nil).should == @file1
- end
- end
-
- it "treats second argument as an output buffer" do
- argf [@file1_name] do
- buffer = ""
- @argf.send(@method, @file1.size, buffer)
- buffer.should == @file1
- end
- end
-
- it "clears output buffer before appending to it" do
- argf [@file1_name] do
- buffer = "to be cleared"
- @argf.send(@method, @file1.size, buffer)
- buffer.should == @file1
- end
- end
-
- it "reads a number of bytes from the first file" do
- argf [@file1_name] do
- @argf.send(@method, 5).should == @file1[0, 5]
- end
- end
-
- it "reads from a single file consecutively" do
- argf [@file1_name] do
- @argf.send(@method, 1).should == @file1[0, 1]
- @argf.send(@method, 2).should == @file1[1, 2]
- @argf.send(@method, 3).should == @file1[3, 3]
- end
- end
-
- it "reads a number of bytes from stdin" do
- stdin = ruby_exe("print ARGF.#{@method}(10)", :args => "< #{@stdin_name}")
- stdin.should == @stdin[0, 10]
- end
-
- platform_is_not :windows do
- it "reads the contents of a special device file" do
- argf ['/dev/zero'] do
- @argf.send(@method, 100).should == "\000" * 100
- end
- end
- end
-end
diff --git a/spec/rubyspec/core/argf/shared/readlines.rb b/spec/rubyspec/core/argf/shared/readlines.rb
deleted file mode 100644
index 505fa94acb..0000000000
--- a/spec/rubyspec/core/argf/shared/readlines.rb
+++ /dev/null
@@ -1,22 +0,0 @@
-describe :argf_readlines, shared: true do
- before :each do
- @file1 = fixture __FILE__, "file1.txt"
- @file2 = fixture __FILE__, "file2.txt"
-
- @lines = File.readlines(@file1)
- @lines += File.readlines(@file2)
- end
-
- it "reads all lines of all files" do
- argf [@file1, @file2] do
- @argf.send(@method).should == @lines
- end
- end
-
- it "returns an empty Array when end of stream reached" do
- argf [@file1, @file2] do
- @argf.read
- @argf.send(@method).should == []
- end
- end
-end