From 8c5b60eb22d6d661e87992a65d54e3a5bc0aeed4 Mon Sep 17 00:00:00 2001 From: eregon Date: Sat, 28 Oct 2017 15:15:48 +0000 Subject: Update to ruby/spec@a6b8805 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60525 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- spec/ruby/core/io/advise_spec.rb | 2 +- spec/ruby/core/io/fixtures/classes.rb | 12 ++++++++++++ spec/ruby/core/io/gets_spec.rb | 10 +++++++++- spec/ruby/core/io/readline_spec.rb | 8 ++++++++ spec/ruby/core/io/shared/each.rb | 9 +++++++++ spec/ruby/core/io/shared/readlines.rb | 7 +++++++ 6 files changed, 46 insertions(+), 2 deletions(-) (limited to 'spec/ruby/core/io') diff --git a/spec/ruby/core/io/advise_spec.rb b/spec/ruby/core/io/advise_spec.rb index 460b50a59d..44cd32df94 100644 --- a/spec/ruby/core/io/advise_spec.rb +++ b/spec/ruby/core/io/advise_spec.rb @@ -17,7 +17,7 @@ describe "IO#advise" do }.should raise_error(TypeError) end - it "raises a TypeError if offsert cannot be coerced to an Integer" do + it "raises a TypeError if offset cannot be coerced to an Integer" do lambda { @io.advise(:normal, "wat") }.should raise_error(TypeError) diff --git a/spec/ruby/core/io/fixtures/classes.rb b/spec/ruby/core/io/fixtures/classes.rb index fb431d5023..a771e3d929 100644 --- a/spec/ruby/core/io/fixtures/classes.rb +++ b/spec/ruby/core/io/fixtures/classes.rb @@ -20,6 +20,18 @@ module IOSpecs "Here is line six.\n" ] end + def self.lines_without_newline_characters + [ "Voici la ligne une.", + "Qui \303\250 la linea due.", + "", + "", + "Aqu\303\255 est\303\241 la l\303\255nea tres.", + "Hier ist Zeile vier.", + "", + "Est\303\241 aqui a linha cinco.", + "Here is line six." ] + end + def self.lines_limit [ "Voici la l", "igne une.\n", diff --git a/spec/ruby/core/io/gets_spec.rb b/spec/ruby/core/io/gets_spec.rb index d984e795c2..6e0518b512 100644 --- a/spec/ruby/core/io/gets_spec.rb +++ b/spec/ruby/core/io/gets_spec.rb @@ -138,6 +138,14 @@ describe "IO#gets" do end end end + + ruby_version_is "2.4" do + describe "when passed chomp" do + it "returns the first line without a trailing newline character" do + @io.gets(chomp: true).should == IOSpecs.lines_without_newline_characters[0] + end + end + end end describe "IO#gets" do @@ -191,7 +199,7 @@ describe "IO#gets" do @io.gets(obj, 5).should == "one\n" end - it "reads to the default seperator when passed a single argument greater than the number of bytes to the separator" do + it "reads to the default separator when passed a single argument greater than the number of bytes to the separator" do @io.gets(6).should == "one\n" end diff --git a/spec/ruby/core/io/readline_spec.rb b/spec/ruby/core/io/readline_spec.rb index 39706948eb..a1cddafe5c 100644 --- a/spec/ruby/core/io/readline_spec.rb +++ b/spec/ruby/core/io/readline_spec.rb @@ -42,4 +42,12 @@ describe "IO#readline" do $_.should == line end end + + ruby_version_is "2.4" do + describe "when passed chomp" do + it "returns the first line without a trailing newline character" do + @io.readline(chomp: true).should == IOSpecs.lines_without_newline_characters[0] + end + end + end end diff --git a/spec/ruby/core/io/shared/each.rb b/spec/ruby/core/io/shared/each.rb index dc07434ecd..d87303b54a 100644 --- a/spec/ruby/core/io/shared/each.rb +++ b/spec/ruby/core/io/shared/each.rb @@ -114,6 +114,15 @@ describe :io_each, shared: true do ScratchPad.recorded.should == IOSpecs.paragraphs end end + + ruby_version_is "2.4" do + describe "when passed chomp" do + it "yields each line without trailing newline characters to the passed block" do + @io.send(@method, chomp: true) { |s| ScratchPad << s } + ScratchPad.recorded.should == IOSpecs.lines_without_newline_characters + end + end + end end describe :io_each_default_separator, shared: true do diff --git a/spec/ruby/core/io/shared/readlines.rb b/spec/ruby/core/io/shared/readlines.rb index 4cb821274a..f545d8876a 100644 --- a/spec/ruby/core/io/shared/readlines.rb +++ b/spec/ruby/core/io/shared/readlines.rb @@ -17,6 +17,13 @@ describe :io_readlines, shared: true do result = IO.send(@method, @name, "", &@object) (result ? result : ScratchPad.recorded).should == IOSpecs.lines_empty_separator end + + ruby_version_is "2.4" do + it "yields a sequence of lines without trailing newline characters when chomp is passed" do + result = IO.send(@method, @name, chomp: true, &@object) + (result ? result : ScratchPad.recorded).should == IOSpecs.lines_without_newline_characters + end + end end describe :io_readlines_options_19, shared: true do -- cgit v1.2.3