mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
parent
229ba1215f
commit
54499d7810
Notes:
git
2020-02-28 03:18:27 +09:00
2 changed files with 13 additions and 5 deletions
1
io.c
1
io.c
|
@ -4350,7 +4350,6 @@ rb_io_ungetc(VALUE io, VALUE c)
|
|||
|
||||
GetOpenFile(io, fptr);
|
||||
rb_io_check_char_readable(fptr);
|
||||
if (NIL_P(c)) return Qnil;
|
||||
if (FIXNUM_P(c)) {
|
||||
c = rb_enc_uint_chr(FIX2UINT(c), io_read_encoding(fptr));
|
||||
}
|
||||
|
|
|
@ -103,10 +103,19 @@ describe "IO#ungetc" do
|
|||
-> { @io.sysread(1) }.should raise_error(IOError)
|
||||
end
|
||||
|
||||
it "does not affect the stream and returns nil when passed nil" do
|
||||
@io.getc.should == ?V
|
||||
@io.ungetc(nil)
|
||||
@io.getc.should == ?o
|
||||
ruby_version_is "0"..."2.8" do
|
||||
it "does not affect the stream and returns nil when passed nil" do
|
||||
@io.getc.should == ?V
|
||||
@io.ungetc(nil)
|
||||
@io.getc.should == ?o
|
||||
end
|
||||
end
|
||||
|
||||
ruby_version_is "2.8" do
|
||||
it "raises TypeError if passed nil" do
|
||||
@io.getc.should == ?V
|
||||
proc{@io.ungetc(nil)}.should raise_error(TypeError)
|
||||
end
|
||||
end
|
||||
|
||||
it "puts one or more characters back in the stream" do
|
||||
|
|
Loading…
Add table
Reference in a new issue