Skip to content

Commit

Permalink
Showing 132 changed files with 4,734 additions and 1,884 deletions.
1 change: 0 additions & 1 deletion spec/truffle/tags/core/file/atime_tags.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
fails:File.atime returns the last access time for the named file as a Time object
fails:File.atime raises an Errno::ENOENT exception if the file is not found
fails:File.atime accepts an object that has a #to_path method
fails:File#atime returns the last access time to self
2 changes: 0 additions & 2 deletions spec/truffle/tags/core/file/blockdev_tags.txt

This file was deleted.

2 changes: 0 additions & 2 deletions spec/truffle/tags/core/file/chardev_tags.txt

This file was deleted.

5 changes: 0 additions & 5 deletions spec/truffle/tags/core/file/constants_tags.txt

This file was deleted.

1 change: 0 additions & 1 deletion spec/truffle/tags/core/file/ctime_tags.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
fails:File.ctime Returns the change time for the named file (the time at which directory information about the file was changed, not the file itself).
fails:File.ctime accepts an object that has a #to_path method
fails:File.ctime raises an Errno::ENOENT exception if the file is not found
fails:File#ctime Returns the change time for the named file (the time at which directory information about the file was changed, not the file itself).
7 changes: 0 additions & 7 deletions spec/truffle/tags/core/file/extname_tags.txt

This file was deleted.

21 changes: 0 additions & 21 deletions spec/truffle/tags/core/file/fnmatch_tags.txt
Original file line number Diff line number Diff line change
@@ -1,23 +1,2 @@
fails:File.fnmatch? matches entire strings
fails:File.fnmatch? does not match partial strings
fails:File.fnmatch? does not support { } patterns by default
fails:File.fnmatch? supports some { } patterns when File::FNM_EXTGLOB is passed
fails:File.fnmatch? matches a single character for each ? character
fails:File.fnmatch? matches zero or more characters for each * character
fails:File.fnmatch? matches ranges of characters using bracket expresions (e.g. [a-z])
fails:File.fnmatch? matches ranges of characters using bracket expresions, taking case into account
fails:File.fnmatch? does not match characters outside of the range of the bracket expresion
fails:File.fnmatch? matches ranges of characters using exclusive bracket expresions (e.g. [^t] or [!t])
fails:File.fnmatch? matches characters with a case sensitive comparison
fails:File.fnmatch? matches literal ? or * in path when pattern includes \? or \*
fails:File.fnmatch? matches literal character (e.g. 'a') in path when pattern includes escaped character (e.g. \a)
fails:File.fnmatch? escapes special characters inside bracket expression
fails:File.fnmatch? does not match leading periods in filenames with wildcards by default
fails:File.fnmatch? matches patterns with leading periods to dotfiles by default
fails:File.fnmatch? matches multiple directories with ** and *
fails:File.fnmatch? matches multiple directories with ** when flags includes File::FNM_PATHNAME
fails:File.fnmatch? accepts an object that has a #to_path method
fails:File.fnmatch? raises a TypeError if the first and second arguments are not string-like
fails:File.fnmatch? does not raise a TypeError if the third argument can be coerced to an Integer
fails(windows):File.fnmatch matches case sensitive characters on platfroms with case insensitive paths, when flags include FNM_SYSCASE
fails(windows):File.fnmatch? matches case sensitive characters on platfroms with case insensitive paths, when flags include FNM_SYSCASE
8 changes: 0 additions & 8 deletions spec/truffle/tags/core/file/ftype_tags.txt
Original file line number Diff line number Diff line change
@@ -1,10 +1,2 @@
fails:File.ftype raises ArgumentError if not given exactly one filename
fails:File.ftype raises Errno::ENOENT if the file is not valid
fails:File.ftype returns a String
fails:File.ftype returns 'file' when the file is a file
fails:File.ftype returns 'directory' when the file is a dir
fails:File.ftype returns 'blockSpecial' when the file is a block
fails:File.ftype returns 'characterSpecial' when the file is a char
fails:File.ftype returns 'link' when the file is a link
fails:File.ftype returns fifo when the file is a fifo
fails:File.ftype returns 'socket' when the file is a socket
3 changes: 0 additions & 3 deletions spec/truffle/tags/core/file/grpowned_tags.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,2 @@
fails:File.grpowned? returns true if the file exist
fails:File.grpowned? accepts an object that has a #to_path method
fails:File.grpowned? takes non primary groups into account
fails:File.grpowned? returns false if file the does not exist
fails(windows):File.grpowned? returns false if the file exist
1 change: 0 additions & 1 deletion spec/truffle/tags/core/file/inspect_tags.txt

This file was deleted.

2 changes: 0 additions & 2 deletions spec/truffle/tags/core/file/link_tags.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,2 @@
fails:File.link link a file with another
fails:File.link raises an Errno::EEXIST if the target already exists
fails:File.link raises an ArgumentError if not passed two arguments
fails:File.link raises a TypeError if not passed String types
2 changes: 0 additions & 2 deletions spec/truffle/tags/core/file/lstat_tags.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
fails:File.lstat returns a File::Stat object if the given file exists
fails:File.lstat returns a File::Stat object when called on an instance of File
fails:File.lstat accepts an object that has a #to_path method
fails:File.lstat raises an Errno::ENOENT if the file does not exist
fails:File.lstat returns a File::Stat object with symlink properties for a symlink
1 change: 0 additions & 1 deletion spec/truffle/tags/core/file/mtime_tags.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
fails:File.mtime returns the modification Time of the file
fails:File.mtime raises an Errno::ENOENT exception if the file is not found
fails:File#mtime returns the modification Time of the file
16 changes: 0 additions & 16 deletions spec/truffle/tags/core/file/new_tags.txt
Original file line number Diff line number Diff line change
@@ -1,20 +1,4 @@
fails:File.new returns a new File with mode string
fails:File.new returns a new File with mode num
fails:File.new returns a new File with modus num and permissions
fails:File.new creates the file and returns writable descriptor when called with 'w' mode and r-o permissions
fails:File.new opens the existing file, does not change permissions even when they are specified
fails:File.new returns a new File with modus fd
fails:File.new creates a new file when use File::EXCL mode
fails:File.new raises an Errorno::EEXIST if the file exists when create a new file with File::CREAT|File::EXCL
fails:File.new creates a new file when use File::WRONLY|File::APPEND mode
fails:File.new returns a new File when use File::APPEND mode
fails:File.new returns a new File when use File::RDONLY|File::APPEND mode
fails:File.new returns a new File when use File::RDONLY|File::WRONLY mode
fails:File.new creates a new file when use File::WRONLY|File::TRUNC mode
fails:File.new coerces filename using to_str
fails:File.new coerces filename using #to_path
fails:File.new raises a TypeError if the first parameter can't be coerced to a string
fails:File.new raises a TypeError if the first parameter is nil
fails:File.new raises an Errno::EBADF if the first parameter is an invalid file descriptor
fails:File.new can't alter mode or permissions when opening a file
fails:File.new opens directories
1 change: 0 additions & 1 deletion spec/truffle/tags/core/file/null_tags.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
fails:File::NULL returns /dev/null as a string
fails(windows):File::NULL returns NUL as a string
53 changes: 0 additions & 53 deletions spec/truffle/tags/core/file/open_tags.txt
Original file line number Diff line number Diff line change
@@ -1,69 +1,16 @@
fails:File.open opens the file (basic case)
fails:File.open opens with mode string
fails:File.open opens a file with mode num
fails:File.open opens a file with mode and permission as nil
fails:File.open opens the file when passed mode, num and permissions
fails:File.open opens the file when passed mode, num, permissions and block
fails:File.open creates the file and returns writable descriptor when called with 'w' mode and r-o permissions
fails:File.open opens the existing file, does not change permissions even when they are specified
fails:File.open creates a new write-only file when invoked with 'w' and '0222'
fails:File.open opens a file that no exists when use File::WRONLY mode
fails:File.open opens a file that no exists when use File::RDONLY mode
fails:File.open opens a file that no exists when use 'r' mode
fails:File.open opens a file that no exists when use File::EXCL mode
fails:File.open opens a file that no exists when use File::NONBLOCK mode
fails:File.open opens a file that no exists when use File::TRUNC mode
fails:File.open opens a file that no exists when use File::NOCTTY mode
fails:File.open opens a file that no exists when use File::CREAT mode
fails:File.open opens a file that no exists when use 'a' mode
fails:File.open opens a file that no exists when use 'w' mode
fails:File.open raises an ArgumentError exception when call with an unknown mode
fails:File.open can read in a block when call open with RDONLY mode
fails:File.open can read in a block when call open with 'r' mode
fails:File.open raises an IO exception when write in a block opened with RDONLY mode
fails:File.open raises an IO exception when write in a block opened with 'r' mode
fails:File.open can't write in a block when call open with File::WRONLY||File::RDONLY mode
fails:File.open can't read in a block when call open with File::WRONLY||File::RDONLY mode
fails:File.open can write in a block when call open with WRONLY mode
fails:File.open raises an IOError when read in a block opened with WRONLY mode
fails:File.open raises an IOError when read in a block opened with 'w' mode
fails:File.open raises an IOError when read in a block opened with 'a' mode
fails:File.open raises an IOError when read in a block opened with File::WRONLY|File::APPEND mode
fails:File.open raises an IOError when read in a block opened with File::RDONLY|File::APPEND mode
fails:File.open can read and write in a block when call open with RDWR mode
fails:File.open can't read in a block when call open with File::EXCL mode
fails:File.open can read in a block when call open with File::EXCL mode
fails:File.open can read and write in a block when call open with File::RDWR|File::EXCL mode
fails:File.open raises an Errorno::EEXIST if the file exists when open with File::CREAT|File::EXCL
fails:File.open creates a new file when use File::WRONLY|File::APPEND mode
fails:File.open opens a file when use File::WRONLY|File::APPEND mode
fails:File.open raises an IOError if the file exists when open with File::RDONLY|File::APPEND
fails:File.open truncates the file when passed File::TRUNC mode
fails:File.open can't read in a block when call open with File::TRUNC mode
fails:File.open opens a file when use File::WRONLY|File::TRUNC mode
fails:File.open can't write in a block when call open with File::TRUNC mode
fails:File.open raises an Errorno::EEXIST if the file exists when open with File::RDONLY|File::TRUNC
fails:File.open raises an Errno::EACCES when opening non-permitted file
fails:File.open raises an Errno::EACCES when opening read-only file
fails:File.open opens a file for binary read
fails:File.open opens a file for binary write
fails:File.open opens a file for read-write and truncate the file
fails:File.open opens a file for binary read-write starting at the beginning of the file
fails:File.open opens a file for binary read-write and truncate the file
fails:File.open raises a SystemCallError if passed an invalid Integer type
fails:File.open raises an ArgumentError if passed an invalid string for mode
fails:File.open defaults external_encoding to ASCII-8BIT for binary modes
fails:File.open uses the second argument as an options Hash
fails:File.open calls #to_hash to convert the second argument to a Hash
fails:File.open with a block does not raise error when file is closed inside the block
fails:File.open with a block invokes close on an opened file when exiting the block
fails:File.open with a block propagates non-StandardErrors produced by close
fails:File.open with a block does not propagate StandardErrors produced by close
fails:File.open on a FIFO opens it as a normal file
fails:File.open when passed a file descriptor opens a file
fails:File.open when passed a file descriptor opens a file when passed a block
fails:File.open opens directories
fails:File.open opens the file when call with fd
fails:File.open opens a file with a file descriptor d and a block
fails:File.open with a block propagates StandardErrors produced by close
fails:File.open with a block does not propagate IOError with 'closed stream' message produced by close
3 changes: 0 additions & 3 deletions spec/truffle/tags/core/file/owned_tags.txt

This file was deleted.

1 change: 0 additions & 1 deletion spec/truffle/tags/core/file/path_tags.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
fails:File#path returns the pathname used to create file as a string
windows:File.path returns the full path for the given file
2 changes: 0 additions & 2 deletions spec/truffle/tags/core/file/pipe_tags.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1 @@
fails:File.pipe? returns false if file does not exist
fails:File.pipe? returns false if the file is not a pipe
fails:File.pipe? returns true if the file is a pipe
3 changes: 0 additions & 3 deletions spec/truffle/tags/core/file/readable_real_tags.txt

This file was deleted.

1 change: 0 additions & 1 deletion spec/truffle/tags/core/file/readable_tags.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
fails:File.readable? accepts an object that has a #to_path method
windows:File.readable? returns true if named file is readable by the effective user id of the process, otherwise false
windows:File.readable? returns false if the file does not exist
2 changes: 0 additions & 2 deletions spec/truffle/tags/core/file/rename_tags.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,2 @@
fails:File.rename renames a file
fails:File.rename raises an Errno::ENOENT if the source does not exist
fails:File.rename raises an ArgumentError if not passed two arguments
fails:File.rename raises a TypeError if not passed String types
2 changes: 0 additions & 2 deletions spec/truffle/tags/core/file/setgid_tags.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1 @@
fails:File.setgid? returns false if the file was just made
fails:File.setgid? returns false if the file does not exist
fails:File.setgid? returns true when the gid bit is set
2 changes: 0 additions & 2 deletions spec/truffle/tags/core/file/setuid_tags.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1 @@
fails:File.setuid? returns false if the file was just made
fails:File.setuid? returns false if the file does not exist
fails:File.setuid? returns true when the gid bit is set
8 changes: 0 additions & 8 deletions spec/truffle/tags/core/file/size_tags.txt
Original file line number Diff line number Diff line change
@@ -1,15 +1,7 @@
fails:File.size? accepts a String-like (to_str) parameter
fails:File.size? accepts an object that has a #to_path method
fails:File.size? calls #to_io to convert the argument to an IO
fails:File.size? accepts a File argument
fails:File.size returns the size of the file if it exists and is not empty
fails:File.size accepts a String-like (to_str) parameter
fails:File.size accepts an object that has a #to_path method
fails:File.size calls #to_io to convert the argument to an IO
fails:File.size raises an error if file_name doesn't exist
fails:File.size returns 0 if the file is empty
fails:File.size accepts a File argument
fails:File#size is an instance method
fails:File#size returns the file's size as a Fixnum
fails:File#size returns the file's size in bytes
fails:File#size returns the cached size of the file if subsequently deleted
8 changes: 0 additions & 8 deletions spec/truffle/tags/core/file/split_tags.txt
Original file line number Diff line number Diff line change
@@ -1,10 +1,2 @@
fails:File.split splits the string at the last '/' when the last component does not have an extension
fails:File.split splits the string at the last '/' when the last component has an extension
fails:File.split splits an empty string into a '.' and an empty string
fails:File.split collapses multiple '/' characters and strips trailing ones
fails:File.split splits the string at the last '\' when the last component does not have an extension
fails:File.split splits the string at the last '\' when the last component has an extension
fails:File.split raises an ArgumentError when not passed a single argument
fails:File.split raises a TypeError if the argument is not a String type
fails:File.split coerces the argument with to_str if it is not a String type
fails:File.split accepts an object that has a #to_path method
2 changes: 0 additions & 2 deletions spec/truffle/tags/core/file/stat_tags.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
fails:File.stat returns a File::Stat object if the given file exists
fails:File.stat returns a File::Stat object when called on an instance of File
fails:File.stat accepts an object that has a #to_path method
fails:File.stat raises an Errno::ENOENT if the file does not exist
fails:File.stat returns information for a file that has been deleted but is still open
fails:File.stat returns a File::Stat object with file properties for a symlink
3 changes: 0 additions & 3 deletions spec/truffle/tags/core/file/sticky_tags.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
fails:File.sticky? returns false if the file dies not exist
fails:File.sticky? returns false if file does not exist
fails:File.sticky? returns false if the file has not sticky bit set
fails:File.sticky? returns true if the file has sticky bit set
fails:File.sticky? returns true if the named file has the sticky bit, otherwise false
fails:File.sticky? cannot set sticky bit to a normal file
2 changes: 0 additions & 2 deletions spec/truffle/tags/core/file/symlink_tags.txt
Original file line number Diff line number Diff line change
@@ -2,7 +2,5 @@ fails:File.symlink creates a symlink between a source and target file
fails:File.symlink creates a symbolic link
fails:File.symlink accepts args that have #to_path methods
fails:File.symlink raises an Errno::EEXIST if the target already exists
fails:File.symlink raises an ArgumentError if not called with two arguments
fails:File.symlink raises a TypeError if not called with String types
fails:File.symlink? returns true if the file is a link
fails:File.symlink? accepts an object that has a #to_path method
5 changes: 0 additions & 5 deletions spec/truffle/tags/core/file/to_path_tags.txt

This file was deleted.

8 changes: 0 additions & 8 deletions spec/truffle/tags/core/file/truncate_tags.txt
Original file line number Diff line number Diff line change
@@ -3,11 +3,7 @@ fails:File.truncate truncate a file size to 0
fails:File.truncate truncate a file size to 5
fails:File.truncate truncates to a larger file size than the original file
fails:File.truncate truncates to the same size as the original file
fails:File.truncate raises an Errno::ENOENT if the file does not exist
fails:File.truncate raises an ArgumentError if not passed two arguments
fails:File.truncate raises an Errno::EINVAL if the length argument is not valid
fails:File.truncate raises a TypeError if not passed a String type for the first argument
fails:File.truncate raises a TypeError if not passed an Integer type for the second argument
fails:File.truncate accepts an object that has a #to_path method
fails:File#truncate does not move the file write pointer to the specified byte offset
fails:File#truncate does not move the file read pointer to the specified byte offset
@@ -16,8 +12,4 @@ fails:File#truncate truncates a file size to 0
fails:File#truncate truncates a file size to 5
fails:File#truncate truncates a file to a larger size than the original file
fails:File#truncate truncates a file to the same size as the original file
fails:File#truncate raises an ArgumentError if not passed one argument
fails:File#truncate raises an Errno::EINVAL if the length argument is not valid
fails:File#truncate raises an IOError if file is closed
fails:File#truncate raises an IOError if file is not opened for writing
fails:File#truncate raises a TypeError if not passed an Integer type for the for the argument
4 changes: 0 additions & 4 deletions spec/truffle/tags/core/file/unlink_tags.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1 @@
fails:File.unlink returns 0 when called without arguments
fails:File.unlink deletes multiple files
fails:File.unlink raises an Errno::ENOENT when the given file doesn't exist
fails:File.unlink coerces a given parameter into a string if possible
fails:File.unlink accepts an object that has a #to_path method
2 changes: 0 additions & 2 deletions spec/truffle/tags/core/file/world_readable_tags.txt
Original file line number Diff line number Diff line change
@@ -3,5 +3,3 @@ fails:File.world_readable? returns nil if the file is chmod 000
fails:File.world_readable? returns nil if the file is chmod 700
fails:File.world_readable? returns a Fixnum if the file is chmod 644
fails:File.world_readable? returns a Fixnum if the file is a directory and chmod 644
fails:File.world_readable? coerces the argument with #to_path
fails:File.world_readable? returns nil if the file does not exist
2 changes: 0 additions & 2 deletions spec/truffle/tags/core/file/world_writable_tags.txt
Original file line number Diff line number Diff line change
@@ -3,5 +3,3 @@ fails:File.world_writable? returns nil if the file is chmod 000
fails:File.world_writable? returns nil if the file is chmod 700
fails:File.world_writable? returns a Fixnum if the file is chmod 777
fails:File.world_writable? returns a Fixnum if the file is a directory and chmod 777
fails:File.world_writable? coerces the argument with #to_path
fails:File.world_writable? returns nil if the file does not exist
5 changes: 0 additions & 5 deletions spec/truffle/tags/core/file/writable_real_tags.txt

This file was deleted.

3 changes: 0 additions & 3 deletions spec/truffle/tags/core/file/writable_tags.txt

This file was deleted.

9 changes: 0 additions & 9 deletions spec/truffle/tags/core/file/zero_tags.txt
Original file line number Diff line number Diff line change
@@ -1,11 +1,2 @@
fails:File.zero? returns true if the file is empty
fails:File.zero? returns false if the file is not empty
fails:File.zero? accepts an object that has a #to_path method
fails:File.zero? returns true for /dev/null
fails:File.zero? raises an ArgumentError if not passed one argument
fails:File.zero? raises a TypeError if not passed a String type
fails:File.zero? returns true inside a block opening a file if it is empty
fails:File.zero? returns false for a directory
fails:File.zero? returns false if the file does not exist
fails(windows):File.zero? returns true for NUL
fails(windows):File.zero? returns true for a directory
6 changes: 0 additions & 6 deletions spec/truffle/tags/core/io/advise_tags.txt
Original file line number Diff line number Diff line change
@@ -1,9 +1,3 @@
fails:IO#advise raises a TypeError if advise is not a Symbol
fails:IO#advise raises a TypeError if offsert cannot be coerced to an Integer
fails:IO#advise raises a TypeError if len cannot be coerced to an Integer
fails:IO#advise raises a RangeError if offset is too big
fails:IO#advise raises a RangeError if len is too big
fails:IO#advise raises a NotImplementedError if advise is not recognized
fails:IO#advise supports the normal advice type
fails:IO#advise supports the sequential advice type
fails:IO#advise supports the random advice type
4 changes: 0 additions & 4 deletions spec/truffle/tags/core/io/binmode_tags.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,2 @@
fails:IO#binmode returns self
fails:IO#binmode raises an IOError on closed stream
fails:IO#binmode sets external encoding to binary
fails:IO#binmode sets internal encoding to nil
fails:IO#binmode? is true after a call to IO#binmode
fails:IO#binmode? propagates to dup'ed IO objects
4 changes: 4 additions & 0 deletions spec/truffle/tags/core/io/binread_tags.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
fails:IO.binread reads the contents of a file
fails:IO.binread returns a String in ASCII-8BIT encoding
fails:IO.binread returns a String in ASCII-8BIT encoding regardless of Encoding.default_internal
fails:IO.binread raises an Errno::EINVAL when not passed a valid offset
10 changes: 0 additions & 10 deletions spec/truffle/tags/core/io/binwrite_tags.txt
Original file line number Diff line number Diff line change
@@ -1,11 +1 @@
fails:IO.binwrite coerces the argument to a string using to_s
fails:IO.binwrite returns the number of bytes written
fails:IO.binwrite creates a file if missing
fails:IO.binwrite creates file if missing even if offset given
fails:IO.binwrite truncates the file and writes the given string
fails:IO.binwrite doesn't truncate the file and writes the given string if an offset is given
fails:IO.binwrite doesn't truncate and writes at the given offset after passing empty opts
fails:IO.binwrite accepts a :mode option
fails:IO.binwrite raises an error if readonly mode is specified
fails:IO.binwrite truncates if empty :opts provided and offset skipped
fails:IO.binwrite needs to be reviewed for spec completeness
1 change: 0 additions & 1 deletion spec/truffle/tags/core/io/bytes_tags.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
fails:IO#bytes returns an enumerator of the next bytes from the stream
fails:IO#bytes yields each byte
fails:IO#bytes raises an IOError on closed stream
fails:IO#bytes raises an IOError on an enumerator for a stream that has been closed
3 changes: 0 additions & 3 deletions spec/truffle/tags/core/io/chars_tags.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
fails:IO#chars yields each character
fails:IO#chars returns an Enumerator when passed no block
fails:IO#chars returns itself
fails:IO#chars returns an enumerator for a closed stream
fails:IO#chars raises an IOError when an enumerator created on a closed stream is accessed
fails:IO#chars raises IOError on closed stream
fails:IO#chars does not yield any characters on an empty stream
2 changes: 0 additions & 2 deletions spec/truffle/tags/core/io/close_tags.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
fails:IO#close closes the stream
fails:IO#close returns nil
fails:IO#close raises an IOError reading from a closed IO
fails:IO#close raises an IOError writing to a closed IO
fails:IO#close raises an IOError if closed
fails:IO#close on an IO.popen stream clears #pid
1 change: 0 additions & 1 deletion spec/truffle/tags/core/io/closed_tags.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
fails:IO#closed? returns true on closed stream
fails:IO#closed? returns false on open stream
2 changes: 0 additions & 2 deletions spec/truffle/tags/core/io/codepoints_tags.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
fails:IO#codepoints returns an Enumerator when passed no block
fails:IO#codepoints yields each codepoint
fails:IO#codepoints yields each codepoint starting from the current position
fails:IO#codepoints raises an error if reading invalid sequence
fails:IO#codepoints does not change $_
fails:IO#codepoints raises an IOError when self is not readable
2 changes: 0 additions & 2 deletions spec/truffle/tags/core/io/constants_tags.txt

This file was deleted.

7 changes: 0 additions & 7 deletions spec/truffle/tags/core/io/copy_stream_tags.txt
Original file line number Diff line number Diff line change
@@ -1,34 +1,28 @@
fails:IO.copy_stream from an IO raises an IOError if the source IO is not open for reading
fails:IO.copy_stream from an IO does not close the source IO
fails:IO.copy_stream from an IO does not change the IO offset when an offset is specified
fails:IO.copy_stream from an IO does change the IO offset when an offset is not specified
fails:IO.copy_stream from an IO to a file name copies the entire IO contents to the file
fails:IO.copy_stream from an IO to a file name returns the number of bytes copied
fails:IO.copy_stream from an IO to a file name copies only length bytes when specified
fails:IO.copy_stream from an IO to a file name calls #to_path to convert on object to a file name
fails:IO.copy_stream from an IO to a file name raises a TypeError if #to_path does not return a String
fails:IO.copy_stream from an IO to a file name copies only length bytes from the offset
fails:IO.copy_stream from an IO to an IO copies the entire IO contents to the IO
fails:IO.copy_stream from an IO to an IO returns the number of bytes copied
fails:IO.copy_stream from an IO to an IO starts writing at the destination IO's current position
fails:IO.copy_stream from an IO to an IO leaves the destination IO position at the last write
fails:IO.copy_stream from an IO to an IO raises an IOError if the destination IO is not open for writing
fails:IO.copy_stream from an IO to an IO does not close the destination IO
fails:IO.copy_stream from an IO to an IO copies only length bytes when specified
fails:IO.copy_stream from an IO to an IO copies only length bytes from the offset
fails:IO.copy_stream from a file name calls #to_path to convert on object to a file name
fails:IO.copy_stream from a file name raises a TypeError if #to_path does not return a String
fails:IO.copy_stream from a file name to a file name copies the entire IO contents to the file
fails:IO.copy_stream from a file name to a file name returns the number of bytes copied
fails:IO.copy_stream from a file name to a file name copies only length bytes when specified
fails:IO.copy_stream from a file name to a file name calls #to_path to convert on object to a file name
fails:IO.copy_stream from a file name to a file name raises a TypeError if #to_path does not return a String
fails:IO.copy_stream from a file name to a file name copies only length bytes from the offset
fails:IO.copy_stream from a file name to an IO copies the entire IO contents to the IO
fails:IO.copy_stream from a file name to an IO returns the number of bytes copied
fails:IO.copy_stream from a file name to an IO starts writing at the destination IO's current position
fails:IO.copy_stream from a file name to an IO leaves the destination IO position at the last write
fails:IO.copy_stream from a file name to an IO raises an IOError if the destination IO is not open for writing
fails:IO.copy_stream from a file name to an IO does not close the destination IO
fails:IO.copy_stream from a file name to an IO copies only length bytes when specified
fails:IO.copy_stream from a file name to an IO copies only length bytes from the offset
@@ -47,6 +41,5 @@ fails:IO.copy_stream from a pipe IO to an IO raises an IOError if the destinatio
fails:IO.copy_stream from a pipe IO to an IO does not close the destination IO
fails:IO.copy_stream from a pipe IO to an IO copies only length bytes when specified
fails:IO.copy_stream with non-IO Objects calls #readpartial on the source Object if defined
fails:IO.copy_stream with non-IO Objects calls #read on the source Object
fails:IO.copy_stream with non-IO Objects calls #write on the destination Object
fails:IO.copy_stream with non-IO Objects does not call #pos on the source if no offset is given
3 changes: 0 additions & 3 deletions spec/truffle/tags/core/io/each_byte_tags.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1 @@
fails:IO#each_byte raises IOError on closed stream
fails:IO#each_byte yields each byte
fails:IO#each_byte returns an Enumerator when passed no block
fails:IO#each_byte returns self on an empty stream
3 changes: 0 additions & 3 deletions spec/truffle/tags/core/io/each_char_tags.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
fails:IO#each_char yields each character
fails:IO#each_char returns an Enumerator when passed no block
fails:IO#each_char returns itself
fails:IO#each_char returns an enumerator for a closed stream
fails:IO#each_char raises an IOError when an enumerator created on a closed stream is accessed
fails:IO#each_char raises IOError on closed stream
fails:IO#each_char does not yield any characters on an empty stream
2 changes: 0 additions & 2 deletions spec/truffle/tags/core/io/each_codepoint_tags.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
fails:IO#each_codepoint returns an Enumerator when passed no block
fails:IO#each_codepoint yields each codepoint
fails:IO#each_codepoint yields each codepoint starting from the current position
fails:IO#each_codepoint raises an error if reading invalid sequence
fails:IO#each_codepoint does not change $_
fails:IO#each_codepoint raises an IOError when self is not readable
13 changes: 0 additions & 13 deletions spec/truffle/tags/core/io/each_line_tags.txt
Original file line number Diff line number Diff line change
@@ -1,14 +1 @@
fails:IO#each_line with no separator yields each line to the passed block
fails:IO#each_line with no separator yields each line starting from the current position
fails:IO#each_line with no separator returns self
fails:IO#each_line with no separator does not change $_
fails:IO#each_line with no separator raises an IOError when self is not readable
fails:IO#each_line with no separator makes line count accessible via lineno
fails:IO#each_line with no separator makes line count accessible via $.
fails:IO#each_line with no separator returns an Enumerator when passed no block
fails:IO#each_line when passed a String containing one space as a separator uses the passed argument as the line separator
fails:IO#each_line when passed a String containing one space as a separator does not change $_
fails:IO#each_line when passed a String containing one space as a separator tries to convert the passed separator to a String using #to_str
fails:IO#each_line when passed nil as a separator yields self's content starting from the current position when the passed separator is nil
fails:IO#each_line when passed an empty String as a separator yields each paragraph
fails:IO#each_line uses $/ as the default line separator
13 changes: 0 additions & 13 deletions spec/truffle/tags/core/io/each_tags.txt
Original file line number Diff line number Diff line change
@@ -1,14 +1 @@
fails:IO#each with no separator yields each line to the passed block
fails:IO#each with no separator yields each line starting from the current position
fails:IO#each with no separator returns self
fails:IO#each with no separator does not change $_
fails:IO#each with no separator raises an IOError when self is not readable
fails:IO#each with no separator makes line count accessible via lineno
fails:IO#each with no separator makes line count accessible via $.
fails:IO#each with no separator returns an Enumerator when passed no block
fails:IO#each when passed a String containing one space as a separator uses the passed argument as the line separator
fails:IO#each when passed a String containing one space as a separator does not change $_
fails:IO#each when passed a String containing one space as a separator tries to convert the passed separator to a String using #to_str
fails:IO#each when passed nil as a separator yields self's content starting from the current position when the passed separator is nil
fails:IO#each when passed an empty String as a separator yields each paragraph
fails:IO#each uses $/ as the default line separator
6 changes: 0 additions & 6 deletions spec/truffle/tags/core/io/eof_tags.txt
Original file line number Diff line number Diff line change
@@ -1,14 +1,8 @@
fails:IO#eof? returns true on an empty stream that has just been opened
fails:IO#eof? raises IOError on stream not opened for reading
fails:IO#eof? returns false when not at end of file
fails:IO#eof? returns true after reading with read with no parameters
fails:IO#eof? returns true after reading with read
fails:IO#eof? returns true after reading with sysread
fails:IO#eof? returns true after reading with readlines
fails:IO#eof? returns false on just opened non-empty stream
fails:IO#eof? does not consume the data from the stream
fails:IO#eof? raises IOError on closed stream
fails:IO#eof? raises IOError on stream closed for reading by close_read
fails:IO#eof? returns true on one-byte stream after single-byte read
fails:IO#eof? returns true on receiving side of Pipe when writing side is closed
fails:IO#eof? returns false on receiving side of Pipe when writing side wrote some data
36 changes: 0 additions & 36 deletions spec/truffle/tags/core/io/external_encoding_tags.txt
Original file line number Diff line number Diff line change
@@ -1,58 +1,22 @@
fails:IO#external_encoding with 'r' mode when Encoding.default_internal is nil returns Encoding.default_external if the external encoding is not set
fails:IO#external_encoding with 'r' mode when Encoding.default_internal is nil returns Encoding.default_external when that encoding is changed after the instance is created
fails:IO#external_encoding with 'r' mode when Encoding.default_internal is nil returns the external encoding specified when the instance was created
fails:IO#external_encoding with 'r' mode when Encoding.default_internal is nil returns the encoding set by #set_encoding
fails:IO#external_encoding with 'r' mode when Encoding.default_external == Encoding.default_internal returns the value of Encoding.default_external when the instance was created
fails:IO#external_encoding with 'r' mode when Encoding.default_external == Encoding.default_internal returns the external encoding specified when the instance was created
fails:IO#external_encoding with 'r' mode when Encoding.default_external == Encoding.default_internal returns the encoding set by #set_encoding
fails:IO#external_encoding with 'r' mode when Encoding.default_external != Encoding.default_internal returns the external encoding specified when the instance was created
fails:IO#external_encoding with 'r' mode when Encoding.default_external != Encoding.default_internal returns the encoding set by #set_encoding
fails:IO#external_encoding with 'rb' mode returns Encoding::ASCII_8BIT
fails:IO#external_encoding with 'rb' mode returns the external encoding specified by the mode argument
fails:IO#external_encoding with 'r+' mode when Encoding.default_internal is nil returns nil
fails:IO#external_encoding with 'r+' mode when Encoding.default_internal is nil returns the external encoding specified when the instance was created
fails:IO#external_encoding with 'r+' mode when Encoding.default_internal is nil returns the encoding set by #set_encoding
fails:IO#external_encoding with 'r+' mode when Encoding.default_external != Encoding.default_internal returns the value of Encoding.default_external when the instance was created
fails:IO#external_encoding with 'r+' mode when Encoding.default_external != Encoding.default_internal returns the external encoding specified when the instance was created
fails:IO#external_encoding with 'r+' mode when Encoding.default_external != Encoding.default_internal returns the encoding set by #set_encoding
fails:IO#external_encoding with 'r+' mode when Encoding.default_external == Encoding.default_internal returns the value of Encoding.default_external when the instance was created
fails:IO#external_encoding with 'r+' mode when Encoding.default_external == Encoding.default_internal returns the external encoding specified when the instance was created
fails:IO#external_encoding with 'r+' mode when Encoding.default_external == Encoding.default_internal returns the encoding set by #set_encoding
fails:IO#external_encoding with 'w' mode when Encoding.default_internal is nil returns nil
fails:IO#external_encoding with 'w' mode when Encoding.default_internal is nil returns the external encoding specified when the instance was created
fails:IO#external_encoding with 'w' mode when Encoding.default_internal is nil returns the encoding set by #set_encoding
fails:IO#external_encoding with 'w' mode when Encoding.default_external != Encoding.default_internal returns the value of Encoding.default_external when the instance was created
fails:IO#external_encoding with 'w' mode when Encoding.default_external != Encoding.default_internal returns the external encoding specified when the instance was created
fails:IO#external_encoding with 'w' mode when Encoding.default_external != Encoding.default_internal returns the encoding set by #set_encoding
fails:IO#external_encoding with 'w' mode when Encoding.default_external == Encoding.default_internal returns the value of Encoding.default_external when the instance was created
fails:IO#external_encoding with 'w' mode when Encoding.default_external == Encoding.default_internal returns the external encoding specified when the instance was created
fails:IO#external_encoding with 'w' mode when Encoding.default_external == Encoding.default_internal returns the encoding set by #set_encoding
fails:IO#external_encoding with 'wb' mode returns Encoding::ASCII_8BIT
fails:IO#external_encoding with 'wb' mode returns the external encoding specified by the mode argument
fails:IO#external_encoding with 'w+' mode when Encoding.default_internal is nil returns nil
fails:IO#external_encoding with 'w+' mode when Encoding.default_internal is nil returns the external encoding specified when the instance was created
fails:IO#external_encoding with 'w+' mode when Encoding.default_internal is nil returns the encoding set by #set_encoding
fails:IO#external_encoding with 'w+' mode when Encoding.default_external != Encoding.default_internal returns the value of Encoding.default_external when the instance was created
fails:IO#external_encoding with 'w+' mode when Encoding.default_external != Encoding.default_internal returns the external encoding specified when the instance was created
fails:IO#external_encoding with 'w+' mode when Encoding.default_external != Encoding.default_internal returns the encoding set by #set_encoding
fails:IO#external_encoding with 'w+' mode when Encoding.default_external == Encoding.default_internal returns the value of Encoding.default_external when the instance was created
fails:IO#external_encoding with 'w+' mode when Encoding.default_external == Encoding.default_internal returns the external encoding specified when the instance was created
fails:IO#external_encoding with 'w+' mode when Encoding.default_external == Encoding.default_internal returns the encoding set by #set_encoding
fails:IO#external_encoding with 'a' mode when Encoding.default_internal is nil returns nil
fails:IO#external_encoding with 'a' mode when Encoding.default_internal is nil returns the external encoding specified when the instance was created
fails:IO#external_encoding with 'a' mode when Encoding.default_internal is nil returns the encoding set by #set_encoding
fails:IO#external_encoding with 'a' mode when Encoding.default_external != Encoding.default_internal returns the value of Encoding.default_external when the instance was created
fails:IO#external_encoding with 'a' mode when Encoding.default_external != Encoding.default_internal returns the external encoding specified when the instance was created
fails:IO#external_encoding with 'a' mode when Encoding.default_external != Encoding.default_internal returns the encoding set by #set_encoding
fails:IO#external_encoding with 'a' mode when Encoding.default_external == Encoding.default_internal returns the value of Encoding.default_external when the instance was created
fails:IO#external_encoding with 'a' mode when Encoding.default_external == Encoding.default_internal returns the external encoding specified when the instance was created
fails:IO#external_encoding with 'a' mode when Encoding.default_external == Encoding.default_internal returns the encoding set by #set_encoding
fails:IO#external_encoding with 'a+' mode when Encoding.default_internal is nil returns nil
fails:IO#external_encoding with 'a+' mode when Encoding.default_internal is nil returns the external encoding specified when the instance was created
fails:IO#external_encoding with 'a+' mode when Encoding.default_internal is nil returns the encoding set by #set_encoding
fails:IO#external_encoding with 'a+' mode when Encoding.default_external != Encoding.default_internal returns the value of Encoding.default_external when the instance was created
fails:IO#external_encoding with 'a+' mode when Encoding.default_external != Encoding.default_internal returns the external encoding specified when the instance was created
fails:IO#external_encoding with 'a+' mode when Encoding.default_external != Encoding.default_internal returns the encoding set by #set_encoding
fails:IO#external_encoding with 'a+' mode when Encoding.default_external == Encoding.default_internal returns the value of Encoding.default_external when the instance was created
fails:IO#external_encoding with 'a+' mode when Encoding.default_external == Encoding.default_internal returns the external encoding specified when the instance was created
fails:IO#external_encoding with 'a+' mode when Encoding.default_external == Encoding.default_internal returns the encoding set by #set_encoding
1 change: 0 additions & 1 deletion spec/truffle/tags/core/io/fileno_tags.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
fails:IO#fileno returns the numeric file descriptor of the given IO object
fails:IO#fileno raises IOError on closed stream
33 changes: 0 additions & 33 deletions spec/truffle/tags/core/io/for_fd_tags.txt
Original file line number Diff line number Diff line change
@@ -1,51 +1,18 @@
fails:IO.for_fd creates an IO instance from a Fixnum argument
fails:IO.for_fd calls #to_int on an object to convert to a Fixnum
fails:IO.for_fd accepts a :mode option
fails:IO.for_fd accepts a mode argument set to nil with a valid :mode option
fails:IO.for_fd accepts a mode argument with a :mode option set to nil
fails:IO.for_fd raises an error if passed modes two ways
fails:IO.for_fd uses the external encoding specified in the mode argument
fails:IO.for_fd uses the external and the internal encoding specified in the mode argument
fails:IO.for_fd uses the external encoding specified via the :external_encoding option
fails:IO.for_fd uses the internal encoding specified via the :internal_encoding option
fails:IO.for_fd uses the colon-separated encodings specified via the :encoding option
fails:IO.for_fd uses the :encoding option as the external encoding when only one is given
fails:IO.for_fd uses the :encoding options as the external encoding when it's an Encoding object
fails:IO.for_fd ingores the :encoding option when the :external_encoding option is present
fails:IO.for_fd ingores the :encoding option when the :internal_encoding option is present
fails:IO.for_fd uses the encoding specified via the :mode option hash
fails:IO.for_fd ignores the :internal_encoding option when the same as the external encoding
fails:IO.for_fd sets internal encoding to nil when passed '-'
fails:IO.for_fd raises an error if passed encodings two ways
fails:IO.for_fd sets binmode from mode string
fails:IO.for_fd does not set binmode without being asked
fails:IO.for_fd sets binmode from :binmode option
fails:IO.for_fd does not set binmode from false :binmode
fails:IO.for_fd raises an error if passed binary/text mode two ways
fails:IO.for_fd raises an error when trying to set both binmode and textmode
fails:IO.for_fd sets external encoding to binary with binmode in mode string
fails:IO.for_fd sets external encoding to binary with :binmode option
fails:IO.for_fd does not use binary encoding when mode encoding is specified
fails:IO.for_fd does not use binary encoding when :encoding option is specified
fails:IO.for_fd does not use binary encoding when :external_encoding option is specified
fails:IO.for_fd does not use binary encoding when :internal_encoding option is specified
fails:IO.for_fd accepts nil options
fails:IO.for_fd coerces mode with #to_str
fails:IO.for_fd coerces mode with #to_int
fails:IO.for_fd coerces mode with #to_str when passed in options
fails:IO.for_fd coerces mode with #to_int when passed in options
fails:IO.for_fd coerces :encoding option with #to_str
fails:IO.for_fd coerces :external_encoding option with #to_str
fails:IO.for_fd coerces :internal_encoding option with #to_str
fails:IO.for_fd coerces options as third argument with #to_hash
fails:IO.for_fd coerces options as second argument with #to_hash
fails:IO.for_fd raises ArgumentError if not passed a hash or nil for options
fails:IO.for_fd raises TypeError if passed a hash for mode and nil for options
fails:IO.for_fd accepts an :autoclose option
fails:IO.for_fd accepts any truthy option :autoclose
fails:IO.for_fd raises an Errno::EBADF if the file descriptor is not valid
fails:IO.for_fd raises an IOError if passed a closed stream
fails:IO.for_fd raises an Errno::EINVAL if the new mode is not compatible with the descriptor's current mode
fails:IO.for_fd raises ArgumentError if passed an empty mode string
fails:IO.for_fd creates an IO instance when STDOUT is closed
fails:IO.for_fd creates an IO instance when STDERR is closed
27 changes: 0 additions & 27 deletions spec/truffle/tags/core/io/foreach_tags.txt
Original file line number Diff line number Diff line change
@@ -1,32 +1,5 @@
fails:IO.foreach updates $. with each yield
fails:IO.foreach when the filename starts with | gets data from the standard out of the subprocess
fails:IO.foreach when the filename starts with | gets data from a fork when passed -
fails:IO.foreach sets $_ to nil
fails:IO.foreach returns an Enumerator when called without a block
fails:IO.foreach raises TypeError if the first parameter is nil
fails:IO.foreach raises an Errno::ENOENT if the file does not exist
fails:IO.foreach yields a single string with entire content when the separator is nil
fails:IO.foreach yields a sequence of paragraphs when the separator is an empty string
fails:IO.foreach when passed name calls #to_path to convert the name
fails:IO.foreach when passed name defaults to $/ as the separator
fails:IO.foreach when passed name, object calls #to_str to convert the object to a separator
fails:IO.foreach when passed name, object when the object is a Fixnum defaults to $/ as the separator
fails:IO.foreach when passed name, object when the object is a Fixnum uses the object as a limit if it is a Fixnum
fails:IO.foreach when passed name, object when the object is a String uses the value as the separator
fails:IO.foreach when passed name, object when the object is a String accepts non-ASCII data as separator
fails:IO.foreach when passed name, object when the object is a Hash uses the value as the options hash
fails:IO.foreach when passed name, object, object when the first object is a Fixnum uses the second object as an options Hash
fails:IO.foreach when passed name, object, object when the first object is a Fixnum calls #to_hash to convert the second object to a Hash
fails:IO.foreach when passed name, object, object when the first object is a String uses the second object as a limit if it is a Fixnum
fails:IO.foreach when passed name, object, object when the first object is a String calls #to_int to convert the second object
fails:IO.foreach when passed name, object, object when the first object is a String uses the second object as an options Hash
fails:IO.foreach when passed name, object, object when the first object is a String calls #to_hash to convert the second object to a Hash
fails:IO.foreach when passed name, object, object when the first object is not a String or Fixnum calls #to_str to convert the object to a String
fails:IO.foreach when passed name, object, object when the first object is not a String or Fixnum uses the second object as a limit if it is a Fixnum
fails:IO.foreach when passed name, object, object when the first object is not a String or Fixnum calls #to_int to convert the second object
fails:IO.foreach when passed name, object, object when the first object is not a String or Fixnum uses the second object as an options Hash
fails:IO.foreach when passed name, object, object when the first object is not a String or Fixnum calls #to_hash to convert the second object to a Hash
fails:IO.foreach when passed name, separator, limit, options calls #to_path to convert the name object
fails:IO.foreach when passed name, separator, limit, options calls #to_str to convert the separator object
fails:IO.foreach when passed name, separator, limit, options calls #to_int to convert the limit argument
fails:IO.foreach when passed name, separator, limit, options calls #to_hash to convert the options object
2 changes: 0 additions & 2 deletions spec/truffle/tags/core/io/getbyte_tags.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,2 @@
fails:IO#getbyte returns the next byte from the stream
fails:IO#getbyte returns nil when invoked at the end of the stream
fails:IO#getbyte raises an IOError on closed stream
fails:IO#getbyte returns nil on empty stream
2 changes: 0 additions & 2 deletions spec/truffle/tags/core/io/getc_tags.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,2 @@
fails:IO#getc returns the next character from the stream
fails:IO#getc returns nil when invoked at the end of the stream
fails:IO#getc raises IOError on closed stream
fails:IO#getc returns nil on empty stream
34 changes: 0 additions & 34 deletions spec/truffle/tags/core/io/gets_tags.txt
Original file line number Diff line number Diff line change
@@ -1,43 +1,9 @@
fails:IO#gets with ASCII separator returns the separator's character representation
fails:IO#gets assigns the returned line to $_
fails:IO#gets returns nil if called at the end of the stream
fails:IO#gets raises IOError on closed stream
fails:IO#gets with no separator returns the next line of string that is separated by $/
fails:IO#gets with no separator returns tainted strings
fails:IO#gets with no separator updates lineno with each invocation
fails:IO#gets with no separator updates $. with each invocation
fails:IO#gets with nil separator returns the entire contents
fails:IO#gets with nil separator returns tainted strings
fails:IO#gets with nil separator updates lineno with each invocation
fails:IO#gets with nil separator updates $. with each invocation
fails:IO#gets with an empty String separator returns the next paragraph
fails:IO#gets with an empty String separator reads until the beginning of the next paragraph
fails:IO#gets with an empty String separator returns tainted strings
fails:IO#gets with an empty String separator updates lineno with each invocation
fails:IO#gets with an empty String separator updates $. with each invocation
fails:IO#gets with an arbitrary String separator reads up to and including the separator
fails:IO#gets with an arbitrary String separator returns tainted strings
fails:IO#gets with an arbitrary String separator updates lineno with each invocation
fails:IO#gets with an arbitrary String separator updates $. with each invocation
fails:IO#gets raises an IOError if the stream is opened for append only
fails:IO#gets raises an IOError if the stream is opened for writing only
fails:IO#gets calls #to_int to convert a single object argument to an Integer limit
fails:IO#gets calls #to_int to convert the second object argument to an Integer limit
fails:IO#gets calls #to_str to convert the first argument to a String when passed a limit
fails:IO#gets reads to the default seperator when passed a single argument greater than the number of bytes to the separator
fails:IO#gets reads limit bytes when passed a single argument less than the number of bytes to the default separator
fails:IO#gets reads limit bytes when passed nil and a limit
fails:IO#gets reads all bytes when the limit is higher than the available bytes
fails:IO#gets reads until the next paragraph when passed '' and a limit greater than the next paragraph
fails:IO#gets reads limit bytes when passed '' and a limit less than the next paragraph
fails:IO#gets reads all bytes when pass a separator and reading more than all bytes
fails:IO#gets reads limit bytes and extra bytes when limit is reached not at character boundary
fails:IO#gets read limit bytes and extra bytes with maximum of 16
fails:IO#gets uses the default external encoding
fails:IO#gets uses the IO object's external encoding, when set
fails:IO#gets transcodes into the default internal encoding
fails:IO#gets transcodes into the IO object's internal encoding, when set
fails:IO#gets overwrites the default external encoding with the IO object's own external encoding
fails:IO#gets ignores the internal encoding if the default external encoding is ASCII-8BIT
fails:IO#gets ignores the internal encoding if the IO object's external encoding is ASCII-8BIT
fails:IO#gets transcodes to internal encoding if the IO object's external encoding is ASCII-8BIT
5 changes: 0 additions & 5 deletions spec/truffle/tags/core/io/initialize_tags.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,2 @@
fails:IO#initialize reassociates the IO instance with the new descriptor when passed a Fixnum
fails:IO#initialize calls #to_int to coerce the object passed as an fd
fails:IO#initialize raises a TypeError when passed an IO
fails:IO#initialize raises a TypeError when passed nil
fails:IO#initialize raises a TypeError when passed a String
fails:IO#initialize raises IOError on closed stream
fails:IO#initialize raises an Errno::EBADF when given an invalid file descriptor
48 changes: 0 additions & 48 deletions spec/truffle/tags/core/io/internal_encoding_tags.txt
Original file line number Diff line number Diff line change
@@ -1,78 +1,30 @@
fails:IO#internal_encoding with 'r' mode when Encoding.default_internal is not set returns nil if the internal encoding is not set
fails:IO#internal_encoding with 'r' mode when Encoding.default_internal is not set returns nil if Encoding.default_internal is changed after the instance is created
fails:IO#internal_encoding with 'r' mode when Encoding.default_internal is not set returns the value set when the instance was created
fails:IO#internal_encoding with 'r' mode when Encoding.default_internal is not set returns the value set by #set_encoding
fails:IO#internal_encoding with 'r' mode when Encoding.default_internal == Encoding.default_external returns nil
fails:IO#internal_encoding with 'r' mode when Encoding.default_internal == Encoding.default_external returns nil regardless of Encoding.default_internal changes
fails:IO#internal_encoding with 'r' mode when Encoding.default_internal != Encoding.default_external returns the value of Encoding.default_internal when the instance was created if the internal encoding is not set
fails:IO#internal_encoding with 'r' mode when Encoding.default_internal != Encoding.default_external does not change when Encoding.default_internal is changed
fails:IO#internal_encoding with 'r' mode when Encoding.default_internal != Encoding.default_external returns the internal encoding set when the instance was created
fails:IO#internal_encoding with 'r' mode when Encoding.default_internal != Encoding.default_external does not change when set and Encoding.default_internal is changed
fails:IO#internal_encoding with 'r' mode when Encoding.default_internal != Encoding.default_external returns the value set by #set_encoding
fails:IO#internal_encoding with 'r' mode when Encoding.default_internal != Encoding.default_external returns nil when Encoding.default_external is ASCII-8BIT and the internal encoding is not set
fails:IO#internal_encoding with 'r' mode when Encoding.default_internal != Encoding.default_external returns nil when the external encoding is ASCII-8BIT and the internal encoding is not set
fails:IO#internal_encoding with 'r+' mode when Encoding.default_internal is not set returns nil if the internal encoding is not set
fails:IO#internal_encoding with 'r+' mode when Encoding.default_internal is not set returns nil if Encoding.default_internal is changed after the instance is created
fails:IO#internal_encoding with 'r+' mode when Encoding.default_internal is not set returns the value set when the instance was created
fails:IO#internal_encoding with 'r+' mode when Encoding.default_internal is not set returns the value set by #set_encoding
fails:IO#internal_encoding with 'r+' mode when Encoding.default_internal == Encoding.default_external returns nil
fails:IO#internal_encoding with 'r+' mode when Encoding.default_internal == Encoding.default_external returns nil regardless of Encoding.default_internal changes
fails:IO#internal_encoding with 'r+' mode when Encoding.default_internal != Encoding.default_external returns the value of Encoding.default_internal when the instance was created if the internal encoding is not set
fails:IO#internal_encoding with 'r+' mode when Encoding.default_internal != Encoding.default_external does not change when Encoding.default_internal is changed
fails:IO#internal_encoding with 'r+' mode when Encoding.default_internal != Encoding.default_external returns the internal encoding set when the instance was created
fails:IO#internal_encoding with 'r+' mode when Encoding.default_internal != Encoding.default_external does not change when set and Encoding.default_internal is changed
fails:IO#internal_encoding with 'r+' mode when Encoding.default_internal != Encoding.default_external returns the value set by #set_encoding
fails:IO#internal_encoding with 'r+' mode when Encoding.default_internal != Encoding.default_external returns nil when Encoding.default_external is ASCII-8BIT and the internal encoding is not set
fails:IO#internal_encoding with 'r+' mode when Encoding.default_internal != Encoding.default_external returns nil when the external encoding is ASCII-8BIT and the internal encoding is not set
fails:IO#internal_encoding with 'w' mode when Encoding.default_internal is not set returns nil if the internal encoding is not set
fails:IO#internal_encoding with 'w' mode when Encoding.default_internal is not set returns nil if Encoding.default_internal is changed after the instance is created
fails:IO#internal_encoding with 'w' mode when Encoding.default_internal is not set returns the value set when the instance was created
fails:IO#internal_encoding with 'w' mode when Encoding.default_internal is not set returns the value set by #set_encoding
fails:IO#internal_encoding with 'w' mode when Encoding.default_internal == Encoding.default_external returns nil
fails:IO#internal_encoding with 'w' mode when Encoding.default_internal == Encoding.default_external returns nil regardless of Encoding.default_internal changes
fails:IO#internal_encoding with 'w' mode when Encoding.default_internal != Encoding.default_external returns the value of Encoding.default_internal when the instance was created if the internal encoding is not set
fails:IO#internal_encoding with 'w' mode when Encoding.default_internal != Encoding.default_external does not change when Encoding.default_internal is changed
fails:IO#internal_encoding with 'w' mode when Encoding.default_internal != Encoding.default_external returns the internal encoding set when the instance was created
fails:IO#internal_encoding with 'w' mode when Encoding.default_internal != Encoding.default_external does not change when set and Encoding.default_internal is changed
fails:IO#internal_encoding with 'w' mode when Encoding.default_internal != Encoding.default_external returns the value set by #set_encoding
fails:IO#internal_encoding with 'w' mode when Encoding.default_internal != Encoding.default_external returns nil when Encoding.default_external is ASCII-8BIT and the internal encoding is not set
fails:IO#internal_encoding with 'w' mode when Encoding.default_internal != Encoding.default_external returns nil when the external encoding is ASCII-8BIT and the internal encoding is not set
fails:IO#internal_encoding with 'w+' mode when Encoding.default_internal is not set returns nil if the internal encoding is not set
fails:IO#internal_encoding with 'w+' mode when Encoding.default_internal is not set returns nil if Encoding.default_internal is changed after the instance is created
fails:IO#internal_encoding with 'w+' mode when Encoding.default_internal is not set returns the value set when the instance was created
fails:IO#internal_encoding with 'w+' mode when Encoding.default_internal is not set returns the value set by #set_encoding
fails:IO#internal_encoding with 'w+' mode when Encoding.default_internal == Encoding.default_external returns nil
fails:IO#internal_encoding with 'w+' mode when Encoding.default_internal == Encoding.default_external returns nil regardless of Encoding.default_internal changes
fails:IO#internal_encoding with 'w+' mode when Encoding.default_internal != Encoding.default_external returns the value of Encoding.default_internal when the instance was created if the internal encoding is not set
fails:IO#internal_encoding with 'w+' mode when Encoding.default_internal != Encoding.default_external does not change when Encoding.default_internal is changed
fails:IO#internal_encoding with 'w+' mode when Encoding.default_internal != Encoding.default_external returns the internal encoding set when the instance was created
fails:IO#internal_encoding with 'w+' mode when Encoding.default_internal != Encoding.default_external does not change when set and Encoding.default_internal is changed
fails:IO#internal_encoding with 'w+' mode when Encoding.default_internal != Encoding.default_external returns the value set by #set_encoding
fails:IO#internal_encoding with 'w+' mode when Encoding.default_internal != Encoding.default_external returns nil when Encoding.default_external is ASCII-8BIT and the internal encoding is not set
fails:IO#internal_encoding with 'w+' mode when Encoding.default_internal != Encoding.default_external returns nil when the external encoding is ASCII-8BIT and the internal encoding is not set
fails:IO#internal_encoding with 'a' mode when Encoding.default_internal is not set returns nil if the internal encoding is not set
fails:IO#internal_encoding with 'a' mode when Encoding.default_internal is not set returns nil if Encoding.default_internal is changed after the instance is created
fails:IO#internal_encoding with 'a' mode when Encoding.default_internal is not set returns the value set when the instance was created
fails:IO#internal_encoding with 'a' mode when Encoding.default_internal is not set returns the value set by #set_encoding
fails:IO#internal_encoding with 'a' mode when Encoding.default_internal == Encoding.default_external returns nil
fails:IO#internal_encoding with 'a' mode when Encoding.default_internal == Encoding.default_external returns nil regardless of Encoding.default_internal changes
fails:IO#internal_encoding with 'a' mode when Encoding.default_internal != Encoding.default_external returns the value of Encoding.default_internal when the instance was created if the internal encoding is not set
fails:IO#internal_encoding with 'a' mode when Encoding.default_internal != Encoding.default_external does not change when Encoding.default_internal is changed
fails:IO#internal_encoding with 'a' mode when Encoding.default_internal != Encoding.default_external returns the internal encoding set when the instance was created
fails:IO#internal_encoding with 'a' mode when Encoding.default_internal != Encoding.default_external does not change when set and Encoding.default_internal is changed
fails:IO#internal_encoding with 'a' mode when Encoding.default_internal != Encoding.default_external returns the value set by #set_encoding
fails:IO#internal_encoding with 'a' mode when Encoding.default_internal != Encoding.default_external returns nil when Encoding.default_external is ASCII-8BIT and the internal encoding is not set
fails:IO#internal_encoding with 'a' mode when Encoding.default_internal != Encoding.default_external returns nil when the external encoding is ASCII-8BIT and the internal encoding is not set
fails:IO#internal_encoding with 'a+' mode when Encoding.default_internal is not set returns nil if the internal encoding is not set
fails:IO#internal_encoding with 'a+' mode when Encoding.default_internal is not set returns nil if Encoding.default_internal is changed after the instance is created
fails:IO#internal_encoding with 'a+' mode when Encoding.default_internal is not set returns the value set when the instance was created
fails:IO#internal_encoding with 'a+' mode when Encoding.default_internal is not set returns the value set by #set_encoding
fails:IO#internal_encoding with 'a+' mode when Encoding.default_internal == Encoding.default_external returns nil
fails:IO#internal_encoding with 'a+' mode when Encoding.default_internal == Encoding.default_external returns nil regardless of Encoding.default_internal changes
fails:IO#internal_encoding with 'a+' mode when Encoding.default_internal != Encoding.default_external returns the value of Encoding.default_internal when the instance was created if the internal encoding is not set
fails:IO#internal_encoding with 'a+' mode when Encoding.default_internal != Encoding.default_external does not change when Encoding.default_internal is changed
fails:IO#internal_encoding with 'a+' mode when Encoding.default_internal != Encoding.default_external returns the internal encoding set when the instance was created
fails:IO#internal_encoding with 'a+' mode when Encoding.default_internal != Encoding.default_external does not change when set and Encoding.default_internal is changed
fails:IO#internal_encoding with 'a+' mode when Encoding.default_internal != Encoding.default_external returns the value set by #set_encoding
fails:IO#internal_encoding with 'a+' mode when Encoding.default_internal != Encoding.default_external returns nil when Encoding.default_external is ASCII-8BIT and the internal encoding is not set
fails:IO#internal_encoding with 'a+' mode when Encoding.default_internal != Encoding.default_external returns nil when the external encoding is ASCII-8BIT and the internal encoding is not set
1 change: 0 additions & 1 deletion spec/truffle/tags/core/io/isatty_tags.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
fails:IO#isatty returns true if this stream is a terminal device (TTY)
fails:IO#isatty returns false if this stream is not a terminal device (TTY)
fails:IO#isatty raises IOError on closed stream
7 changes: 0 additions & 7 deletions spec/truffle/tags/core/io/lineno_tags.txt
Original file line number Diff line number Diff line change
@@ -1,9 +1,2 @@
fails:IO#lineno raises an IOError on a closed stream
fails:IO#lineno returns the current line number
fails:IO#lineno= raises an IOError on a closed stream
fails:IO#lineno= calls #to_int on a non-numeric argument
fails:IO#lineno= truncates a Float argument
fails:IO#lineno= raises TypeError on nil argument
fails:IO#lineno= sets the current line number to the given value
fails:IO#lineno= does not change $.
fails:IO#lineno= does not change $. until next read
3 changes: 0 additions & 3 deletions spec/truffle/tags/core/io/lines_tags.txt

This file was deleted.

33 changes: 0 additions & 33 deletions spec/truffle/tags/core/io/new_tags.txt
Original file line number Diff line number Diff line change
@@ -1,51 +1,18 @@
fails:IO.new creates an IO instance from a Fixnum argument
fails:IO.new calls #to_int on an object to convert to a Fixnum
fails:IO.new accepts a :mode option
fails:IO.new accepts a mode argument set to nil with a valid :mode option
fails:IO.new accepts a mode argument with a :mode option set to nil
fails:IO.new raises an error if passed modes two ways
fails:IO.new uses the external encoding specified in the mode argument
fails:IO.new uses the external and the internal encoding specified in the mode argument
fails:IO.new uses the external encoding specified via the :external_encoding option
fails:IO.new uses the internal encoding specified via the :internal_encoding option
fails:IO.new uses the colon-separated encodings specified via the :encoding option
fails:IO.new uses the :encoding option as the external encoding when only one is given
fails:IO.new uses the :encoding options as the external encoding when it's an Encoding object
fails:IO.new ingores the :encoding option when the :external_encoding option is present
fails:IO.new ingores the :encoding option when the :internal_encoding option is present
fails:IO.new uses the encoding specified via the :mode option hash
fails:IO.new ignores the :internal_encoding option when the same as the external encoding
fails:IO.new sets internal encoding to nil when passed '-'
fails:IO.new raises an error if passed encodings two ways
fails:IO.new sets binmode from mode string
fails:IO.new does not set binmode without being asked
fails:IO.new sets binmode from :binmode option
fails:IO.new does not set binmode from false :binmode
fails:IO.new raises an error if passed binary/text mode two ways
fails:IO.new raises an error when trying to set both binmode and textmode
fails:IO.new sets external encoding to binary with binmode in mode string
fails:IO.new sets external encoding to binary with :binmode option
fails:IO.new does not use binary encoding when mode encoding is specified
fails:IO.new does not use binary encoding when :encoding option is specified
fails:IO.new does not use binary encoding when :external_encoding option is specified
fails:IO.new does not use binary encoding when :internal_encoding option is specified
fails:IO.new accepts nil options
fails:IO.new coerces mode with #to_str
fails:IO.new coerces mode with #to_int
fails:IO.new coerces mode with #to_str when passed in options
fails:IO.new coerces mode with #to_int when passed in options
fails:IO.new coerces :encoding option with #to_str
fails:IO.new coerces :external_encoding option with #to_str
fails:IO.new coerces :internal_encoding option with #to_str
fails:IO.new coerces options as third argument with #to_hash
fails:IO.new coerces options as second argument with #to_hash
fails:IO.new raises ArgumentError if not passed a hash or nil for options
fails:IO.new raises TypeError if passed a hash for mode and nil for options
fails:IO.new accepts an :autoclose option
fails:IO.new accepts any truthy option :autoclose
fails:IO.new raises an Errno::EBADF if the file descriptor is not valid
fails:IO.new raises an IOError if passed a closed stream
fails:IO.new raises an Errno::EINVAL if the new mode is not compatible with the descriptor's current mode
fails:IO.new raises ArgumentError if passed an empty mode string
fails:IO.new creates an IO instance when STDOUT is closed
fails:IO.new creates an IO instance when STDERR is closed
37 changes: 0 additions & 37 deletions spec/truffle/tags/core/io/open_tags.txt
Original file line number Diff line number Diff line change
@@ -1,58 +1,21 @@
fails:IO.open creates an IO instance from a Fixnum argument
fails:IO.open calls #to_int on an object to convert to a Fixnum
fails:IO.open accepts a :mode option
fails:IO.open accepts a mode argument set to nil with a valid :mode option
fails:IO.open accepts a mode argument with a :mode option set to nil
fails:IO.open raises an error if passed modes two ways
fails:IO.open uses the external encoding specified in the mode argument
fails:IO.open uses the external and the internal encoding specified in the mode argument
fails:IO.open uses the external encoding specified via the :external_encoding option
fails:IO.open uses the internal encoding specified via the :internal_encoding option
fails:IO.open uses the colon-separated encodings specified via the :encoding option
fails:IO.open uses the :encoding option as the external encoding when only one is given
fails:IO.open uses the :encoding options as the external encoding when it's an Encoding object
fails:IO.open ingores the :encoding option when the :external_encoding option is present
fails:IO.open ingores the :encoding option when the :internal_encoding option is present
fails:IO.open uses the encoding specified via the :mode option hash
fails:IO.open ignores the :internal_encoding option when the same as the external encoding
fails:IO.open sets internal encoding to nil when passed '-'
fails:IO.open raises an error if passed encodings two ways
fails:IO.open sets binmode from mode string
fails:IO.open does not set binmode without being asked
fails:IO.open sets binmode from :binmode option
fails:IO.open does not set binmode from false :binmode
fails:IO.open raises an error if passed binary/text mode two ways
fails:IO.open raises an error when trying to set both binmode and textmode
fails:IO.open sets external encoding to binary with binmode in mode string
fails:IO.open sets external encoding to binary with :binmode option
fails:IO.open does not use binary encoding when mode encoding is specified
fails:IO.open does not use binary encoding when :encoding option is specified
fails:IO.open does not use binary encoding when :external_encoding option is specified
fails:IO.open does not use binary encoding when :internal_encoding option is specified
fails:IO.open accepts nil options
fails:IO.open coerces mode with #to_str
fails:IO.open coerces mode with #to_int
fails:IO.open coerces mode with #to_str when passed in options
fails:IO.open coerces mode with #to_int when passed in options
fails:IO.open coerces :encoding option with #to_str
fails:IO.open coerces :external_encoding option with #to_str
fails:IO.open coerces :internal_encoding option with #to_str
fails:IO.open coerces options as third argument with #to_hash
fails:IO.open coerces options as second argument with #to_hash
fails:IO.open raises ArgumentError if not passed a hash or nil for options
fails:IO.open raises TypeError if passed a hash for mode and nil for options
fails:IO.open accepts an :autoclose option
fails:IO.open accepts any truthy option :autoclose
fails:IO.open raises an Errno::EBADF if the file descriptor is not valid
fails:IO.open raises an IOError if passed a closed stream
fails:IO.open raises an Errno::EINVAL if the new mode is not compatible with the descriptor's current mode
fails:IO.open raises ArgumentError if passed an empty mode string
fails:IO.open calls #close after yielding to the block
fails:IO.open propagates an exception raised by #close that is not a StandardError
fails:IO.open does not propagate a StandardError raised by #close
fails:IO.open does not set last error when a StandardError raised by #close
fails:IO.open creates an IO instance when STDOUT is closed
fails:IO.open creates an IO instance when STDERR is closed
fails:IO.open propagates an exception raised by #close that is a StandardError
fails:IO.open does not propagate a IOError with 'closed stream' message raised by #close
fails:IO.open does not set last error when a IOError with 'closed stream' raised by #close
1 change: 0 additions & 1 deletion spec/truffle/tags/core/io/output_tags.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
fails:IO#<< writes an object to the IO stream
fails:IO#<< calls #to_s on the object to print it
fails:IO#<< raises an error if the stream is closed
1 change: 0 additions & 1 deletion spec/truffle/tags/core/io/pid_tags.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
fails:IO#pid returns nil for IO not associated with a process
fails:IO#pid returns the ID of a process associated with stream
fails:IO#pid raises an IOError on closed stream
3 changes: 0 additions & 3 deletions spec/truffle/tags/core/io/pos_tags.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
fails:IO#pos gets the offset
fails:IO#pos raises IOError on closed stream
fails:IO#pos resets #eof?
fails:IO#pos= sets the offset
fails:IO#pos= converts arguments to Integers
fails:IO#pos= does not accept Bignums that don't fit in a C long
fails:IO#pos= raises IOError on closed stream
3 changes: 0 additions & 3 deletions spec/truffle/tags/core/io/print_tags.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1 @@
fails:IO#print writes $_.to_s followed by $\ (if any) to the stream if no arguments given
fails:IO#print calls obj.to_s and not obj.to_str then writes the record separator
fails:IO#print writes each obj.to_s to the stream and appends $\ (if any) given multiple objects
fails:IO#print raises IOError on closed stream
8 changes: 0 additions & 8 deletions spec/truffle/tags/core/io/putc_tags.txt
Original file line number Diff line number Diff line change
@@ -1,9 +1 @@
fails:IO#putc calls #to_int to convert an object to an Integer
fails:IO#putc raises IOError on a closed stream
fails:IO#putc raises a TypeError when passed nil
fails:IO#putc raises a TypeError when passed false
fails:IO#putc raises a TypeError when passed true
fails:IO#putc with a Fixnum argument writes one character as a String
fails:IO#putc with a Fixnum argument writes the low byte as a String
fails:IO#putc with a String argument writes one character
fails:IO#putc with a String argument writes the first character
12 changes: 0 additions & 12 deletions spec/truffle/tags/core/io/puts_tags.txt
Original file line number Diff line number Diff line change
@@ -1,13 +1 @@
fails:IO#puts writes just a newline when given no args
fails:IO#puts writes just a newline when given just a newline
fails:IO#puts writes empty string with a newline when given nil as an arg
fails:IO#puts writes empty string with a newline when when given nil as multiple args
fails:IO#puts calls to_s before writing non-string objects
fails:IO#puts writes each arg if given several
fails:IO#puts flattens a nested array before writing it
fails:IO#puts writes nothing for an empty array
fails:IO#puts writes [...] for a recursive array arg
fails:IO#puts writes a newline after objects that do not end in newlines
fails:IO#puts does not write a newline after objects that end in newlines
fails:IO#puts ignores the $/ separator global
fails:IO#puts raises IOError on closed stream
64 changes: 0 additions & 64 deletions spec/truffle/tags/core/io/read_tags.txt
Original file line number Diff line number Diff line change
@@ -1,29 +1,7 @@
fails:IO.read reads the contents of a file
fails:IO.read calls #to_path on non-String arguments
fails:IO.read accepts an empty options Hash
fails:IO.read accepts a length, offset, and empty options Hash
fails:IO.read raises an IOError if the options Hash specifies write mode
fails:IO.read raises an IOError if the options Hash specifies append only mode
fails:IO.read reads the file if the options Hash includes read mode
fails:IO.read reads the file if the options Hash includes read/write mode
fails:IO.read reads the file if the options Hash includes read/write append mode
fails:IO.read treats second nil argument as no length limit
fails:IO.read treats third nil argument as 0
fails:IO.read reads the contents of a file up to a certain size when specified
fails:IO.read reads the contents of a file from an offset of a specific size when specified
fails:IO.read returns nil at end-of-file when length is passed
fails:IO.read raises an Errno::ENOENT when the requested file does not exist
fails:IO.read raises a TypeError when not passed a String type
fails:IO.read raises an ArgumentError when not passed a valid length
fails:IO.read raises an Errno::EINVAL when not passed a valid offset
fails:IO.read uses the external encoding specified via the :external_encoding option
fails:IO.read uses the external encoding specified via the :encoding option
fails:IO.read from a pipe runs the rest as a subprocess and returns the standard output
fails:IO.read from a pipe opens a pipe to a fork if the rest is -
fails:IO.read from a pipe reads only the specified number of bytes requested
fails:IO.read from a pipe raises Errno::ESPIPE if passed an offset
fails:IO.read on an empty file returns nil when length is passed
fails:IO.read on an empty file returns an empty string when no length is passed
fails:IO#read can be read from consecutively
fails:IO#read clears the output buffer if there is nothing to read
fails:IO#read consumes zero bytes when reading zero bytes
@@ -41,55 +19,13 @@ fails:IO#read returns an empty string when the current pos is bigger than the co
fails:IO#read returns nil at end-of-file with a length
fails:IO#read with length argument returns nil when the current pos is bigger than the content size
fails:IO#read raises IOError on closed stream
fails:IO#read with $KCODE set to UTF-8 ignores unicode encoding
fails:IO#read in binary mode does not transcode file contents when Encoding.default_internal is set
fails:IO#read in binary mode does not transcode file contents when an internal encoding is specified
fails:IO#read in text mode reads data according to the internal encoding
fails:IO.read with BOM reads a file without a bom
fails:IO.read with BOM reads a file with a utf-8 bom
fails:IO.read with BOM reads a file with a utf-16le bom
fails:IO.read with BOM reads a file with a utf-16be bom
fails:IO.read with BOM reads a file with a utf-32le bom
fails:IO.read with BOM reads a file with a utf-32be bom
fails:IO#read when IO#external_encoding and IO#internal_encoding are nil sets the String encoding to Encoding.default_external
fails:IO#read with internal encoding not specified does not transcode the String
fails:IO#read with internal encoding not specified sets the String encoding to the external encoding
fails:IO#read with internal encoding not specified reads bytes when passed a size
fails:IO#read with internal encoding not specified returns a String in ASCII-8BIT when passed a size
fails:IO#read with internal encoding not specified does not change the buffer's encoding when passed a limit
fails:IO#read with internal encoding not specified trucates the buffer but does not change the buffer's encoding when no data remains
fails:IO#read with internal encoding specified by open mode returns a transcoded String
fails:IO#read with internal encoding specified by open mode sets the String encoding to the internal encoding
fails:IO#read with internal encoding specified by open mode reads bytes when passed a size
fails:IO#read with internal encoding specified by open mode returns a String in ASCII-8BIT when passed a size
fails:IO#read with internal encoding specified by open mode does not change the buffer's encoding when passed a limit
fails:IO#read with internal encoding specified by open mode trucates the buffer but does not change the buffer's encoding when no data remains
fails:IO#read with internal encoding specified by open mode when passed nil for limit sets the buffer to a transcoded String
fails:IO#read with internal encoding specified by open mode when passed nil for limit sets the buffer's encoding to the internal encoding
fails:IO#read with internal encoding specified by mode: option returns a transcoded String
fails:IO#read with internal encoding specified by mode: option sets the String encoding to the internal encoding
fails:IO#read with internal encoding specified by mode: option reads bytes when passed a size
fails:IO#read with internal encoding specified by mode: option returns a String in ASCII-8BIT when passed a size
fails:IO#read with internal encoding specified by mode: option does not change the buffer's encoding when passed a limit
fails:IO#read with internal encoding specified by mode: option trucates the buffer but does not change the buffer's encoding when no data remains
fails:IO#read with internal encoding specified by mode: option when passed nil for limit sets the buffer to a transcoded String
fails:IO#read with internal encoding specified by mode: option when passed nil for limit sets the buffer's encoding to the internal encoding
fails:IO#read with internal encoding specified by internal_encoding: option returns a transcoded String
fails:IO#read with internal encoding specified by internal_encoding: option sets the String encoding to the internal encoding
fails:IO#read with internal encoding specified by internal_encoding: option reads bytes when passed a size
fails:IO#read with internal encoding specified by internal_encoding: option returns a String in ASCII-8BIT when passed a size
fails:IO#read with internal encoding specified by internal_encoding: option does not change the buffer's encoding when passed a limit
fails:IO#read with internal encoding specified by internal_encoding: option trucates the buffer but does not change the buffer's encoding when no data remains
fails:IO#read with internal encoding specified by internal_encoding: option when passed nil for limit sets the buffer to a transcoded String
fails:IO#read with internal encoding specified by internal_encoding: option when passed nil for limit sets the buffer's encoding to the internal encoding
fails:IO#read with internal encoding specified by encoding: option returns a transcoded String
fails:IO#read with internal encoding specified by encoding: option sets the String encoding to the internal encoding
fails:IO#read with internal encoding specified by encoding: option reads bytes when passed a size
fails:IO#read with internal encoding specified by encoding: option returns a String in ASCII-8BIT when passed a size
fails:IO#read with internal encoding specified by encoding: option does not change the buffer's encoding when passed a limit
fails:IO#read with internal encoding specified by encoding: option trucates the buffer but does not change the buffer's encoding when no data remains
fails:IO#read with internal encoding specified by encoding: option when passed nil for limit sets the buffer to a transcoded String
fails:IO#read with internal encoding specified by encoding: option when passed nil for limit sets the buffer's encoding to the internal encoding
fails:IO#read with large data reads all the data at once
fails:IO#read with large data reads only the requested number of bytes
fails(windows):IO#read on Windows normalizes line endings in text mode
2 changes: 0 additions & 2 deletions spec/truffle/tags/core/io/readbyte_tags.txt

This file was deleted.

3 changes: 0 additions & 3 deletions spec/truffle/tags/core/io/readchar_tags.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1 @@
fails:IO#readchar returns the next string from the stream
fails:IO#readchar raises an EOFError when invoked at the end of the stream
fails:IO#readchar raises IOError on closed stream
fails:IO#readchar raises EOFError on empty stream
4 changes: 0 additions & 4 deletions spec/truffle/tags/core/io/readline_tags.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,2 @@
fails:IO#readline returns the next line on the stream
fails:IO#readline goes back to first position after a rewind
fails:IO#readline returns characters after the position set by #seek
fails:IO#readline raises EOFError on end of stream
fails:IO#readline raises IOError on closed stream
fails:IO#readline assigns the returned line to $_
41 changes: 0 additions & 41 deletions spec/truffle/tags/core/io/readlines_tags.txt
Original file line number Diff line number Diff line change
@@ -1,49 +1,8 @@
fails:IO#readlines raises an IOError if the stream is closed
fails:IO#readlines when passed no arguments returns an Array containing lines based on $/
fails:IO#readlines when passed no arguments updates self's position
fails:IO#readlines when passed no arguments updates self's lineno based on the number of lines read
fails:IO#readlines when passed no arguments does not change $_
fails:IO#readlines when passed no arguments returns an empty Array when self is at the end
fails:IO#readlines when passed nil returns the remaining content as one line starting at the current position
fails:IO#readlines when passed an empty String returns an Array containing all paragraphs
fails:IO#readlines when passed a separator returns an Array containing lines based on the separator
fails:IO#readlines when passed a separator returns an empty Array when self is at the end
fails:IO#readlines when passed a separator updates self's lineno based on the number of lines read
fails:IO#readlines when passed a separator updates self's position based on the number of characters read
fails:IO#readlines when passed a separator does not change $_
fails:IO#readlines when passed a separator tries to convert the passed separator to a String using #to_str
fails:IO#readlines when passed a string that starts with a | gets data from the standard out of the subprocess
fails:IO#readlines when passed a string that starts with a | gets data from a fork when passed -
fails:IO#readlines raises an IOError if the stream is opened for append only
fails:IO#readlines raises an IOError if the stream is opened for write only
fails:IO.readlines raises an Errno::ENOENT if the file does not exist
fails:IO.readlines yields a single string with entire content when the separator is nil
fails:IO.readlines yields a sequence of paragraphs when the separator is an empty string
fails:IO.readlines when passed name calls #to_path to convert the name
fails:IO.readlines when passed name defaults to $/ as the separator
fails:IO.readlines when passed name, object calls #to_str to convert the object to a separator
fails:IO.readlines when passed name, object when the object is a Fixnum defaults to $/ as the separator
fails:IO.readlines when passed name, object when the object is a Fixnum uses the object as a limit if it is a Fixnum
fails:IO.readlines when passed name, object when the object is a String uses the value as the separator
fails:IO.readlines when passed name, object when the object is a String accepts non-ASCII data as separator
fails:IO.readlines when passed name, object when the object is a Hash uses the value as the options hash
fails:IO.readlines when passed name, object, object when the first object is a Fixnum uses the second object as an options Hash
fails:IO.readlines when passed name, object, object when the first object is a Fixnum calls #to_hash to convert the second object to a Hash
fails:IO.readlines when passed name, object, object when the first object is a String uses the second object as a limit if it is a Fixnum
fails:IO.readlines when passed name, object, object when the first object is a String calls #to_int to convert the second object
fails:IO.readlines when passed name, object, object when the first object is a String uses the second object as an options Hash
fails:IO.readlines when passed name, object, object when the first object is a String calls #to_hash to convert the second object to a Hash
fails:IO.readlines when passed name, object, object when the first object is not a String or Fixnum calls #to_str to convert the object to a String
fails:IO.readlines when passed name, object, object when the first object is not a String or Fixnum uses the second object as a limit if it is a Fixnum
fails:IO.readlines when passed name, object, object when the first object is not a String or Fixnum calls #to_int to convert the second object
fails:IO.readlines when passed name, object, object when the first object is not a String or Fixnum uses the second object as an options Hash
fails:IO.readlines when passed name, object, object when the first object is not a String or Fixnum calls #to_hash to convert the second object to a Hash
fails:IO.readlines when passed name, separator, limit, options calls #to_path to convert the name object
fails:IO.readlines when passed name, separator, limit, options calls #to_str to convert the separator object
fails:IO.readlines when passed name, separator, limit, options calls #to_int to convert the limit argument
fails:IO.readlines when passed name, separator, limit, options calls #to_hash to convert the options object
fails:IO.readlines encodes lines using the default external encoding
fails:IO.readlines encodes lines using the default internal encoding, when set
fails:IO.readlines ignores the default internal encoding if the external encoding is ASCII-8BIT
windows:IO.readlines does not change $_
windows:IO.readlines raises TypeError if the first parameter is nil
3 changes: 0 additions & 3 deletions spec/truffle/tags/core/io/rewind_tags.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1 @@
fails:IO#rewind positions the instance to the beginning of input
fails:IO#rewind positions the instance to the beginning of input and clears EOF
fails:IO#rewind sets lineno to 0
fails:IO#rewind raises IOError on closed stream
7 changes: 0 additions & 7 deletions spec/truffle/tags/core/io/seek_tags.txt
Original file line number Diff line number Diff line change
@@ -1,10 +1,3 @@
fails:IO#seek sets the offset
fails:IO#seek converts arguments to Integers
fails:IO#seek does not accept Bignums that don't fit in a C long
fails:IO#seek raises IOError on closed stream
fails:IO#seek moves the read position relative to the current position with SEEK_CUR
fails:IO#seek moves the read position relative to the start with SEEK_SET
fails:IO#seek moves the read position relative to the end with SEEK_END
fails:IO#seek moves the read position and clears EOF with SEEK_SET
fails:IO#seek moves the read position and clears EOF with SEEK_CUR
fails:IO#seek moves the read position and clears EOF with SEEK_END
12 changes: 0 additions & 12 deletions spec/truffle/tags/core/io/set_encoding_tags.txt
Original file line number Diff line number Diff line change
@@ -1,25 +1,13 @@
fails:IO#set_encoding when passed nil, nil with 'r' mode sets the encodings to the current Encoding defaults
fails:IO#set_encoding when passed nil, nil with 'r' mode prevents the #internal_encoding from changing when Encoding.default_internal is changed
fails:IO#set_encoding when passed nil, nil with 'r' mode allows the #external_encoding to change when Encoding.default_external is changed
fails:IO#set_encoding when passed nil, nil with 'rb' mode returns Encoding.default_external
fails:IO#set_encoding when passed nil, nil with 'r+' mode sets the encodings to nil
fails:IO#set_encoding when passed nil, nil with 'r+' mode prevents the encodings from changing when Encoding defaults are changed
fails:IO#set_encoding when passed nil, nil with 'r+' mode sets the encodings to the current Encoding defaults
fails:IO#set_encoding when passed nil, nil with 'w' mode sets the encodings to nil
fails:IO#set_encoding when passed nil, nil with 'w' mode prevents the encodings from changing when Encoding defaults are changed
fails:IO#set_encoding when passed nil, nil with 'w' mode sets the encodings to the current Encoding defaults
fails:IO#set_encoding when passed nil, nil with 'w+' mode sets the encodings to nil
fails:IO#set_encoding when passed nil, nil with 'w+' mode prevents the encodings from changing when Encoding defaults are changed
fails:IO#set_encoding when passed nil, nil with 'w+' mode sets the encodings to the current Encoding defaults
fails:IO#set_encoding when passed nil, nil with 'a' mode sets the encodings to nil
fails:IO#set_encoding when passed nil, nil with 'a' mode prevents the encodings from changing when Encoding defaults are changed
fails:IO#set_encoding when passed nil, nil with 'a' mode sets the encodings to the current Encoding defaults
fails:IO#set_encoding when passed nil, nil with 'a+' mode sets the encodings to nil
fails:IO#set_encoding when passed nil, nil with 'a+' mode prevents the encodings from changing when Encoding defaults are changed
fails:IO#set_encoding when passed nil, nil with 'a+' mode sets the encodings to the current Encoding defaults
fails:IO#set_encoding returns self
fails:IO#set_encoding sets the external encoding when passed an Encoding argument
fails:IO#set_encoding sets the external and internal encoding when passed two Encoding arguments
fails:IO#set_encoding sets the external encoding when passed the name of an Encoding
fails:IO#set_encoding ignores the internal encoding if the same as external when passed Encoding objects
fails:IO#set_encoding ignores the internal encoding if the same as external when passed encoding names separanted by ':'
3 changes: 0 additions & 3 deletions spec/truffle/tags/core/io/sync_tags.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,2 @@
fails:IO#sync= sets the sync mode to true or false
fails:IO#sync= accepts non-boolean arguments
fails:IO#sync= raises an IOError on closed stream
fails:IO#sync returns the current sync mode
fails:IO#sync raises an IOError on closed stream
6 changes: 0 additions & 6 deletions spec/truffle/tags/core/io/sysopen_tags.txt

This file was deleted.

2 changes: 0 additions & 2 deletions spec/truffle/tags/core/io/sysread_tags.txt
Original file line number Diff line number Diff line change
@@ -3,7 +3,5 @@ fails:IO#sysread on a file reads the specified number of bytes from the file to
fails:IO#sysread on a file coerces the second argument to string and uses it as a buffer
fails:IO#sysread on a file advances the position of the file by the specified number of bytes
fails:IO#sysread on a file reads normally even when called immediately after a buffered IO#read
fails:IO#sysread on a file does not raise error if called after IO#read followed by IO#write
fails:IO#sysread on a file does not raise error if called after IO#read followed by IO#syswrite
fails:IO#sysread on a file reads updated content after the flushed buffered IO#write
fails:IO#sysread on a file raises IOError on closed stream
5 changes: 0 additions & 5 deletions spec/truffle/tags/core/io/sysseek_tags.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
fails:IO#sysseek sets the offset
fails:IO#sysseek converts arguments to Integers
fails:IO#sysseek does not accept Bignums that don't fit in a C long
fails:IO#sysseek raises IOError on closed stream
fails:IO#sysseek moves the read position relative to the current position with SEEK_CUR
fails:IO#sysseek raises an error when called after buffered reads
fails:IO#sysseek moves the read position relative to the start with SEEK_SET
fails:IO#sysseek moves the read position relative to the end with SEEK_END
7 changes: 0 additions & 7 deletions spec/truffle/tags/core/io/syswrite_tags.txt
Original file line number Diff line number Diff line change
@@ -2,12 +2,5 @@ fails:IO#syswrite on a file writes all of the string's bytes but does not buffer
fails:IO#syswrite on a file warns if called immediately after a buffered IO#write
fails:IO#syswrite on a file does not warn if called after IO#write with intervening IO#sysread
fails:IO#syswrite on a file writes to the actual file position when called after buffered IO#read
fails:IO#syswrite coerces the argument to a string using to_s
fails:IO#syswrite checks if the file is writable if writing more than zero bytes
fails:IO#syswrite returns the number of bytes written
fails:IO#syswrite invokes to_s on non-String argument
fails:IO#syswrite writes all of the string's bytes without buffering if mode is sync
fails:IO#syswrite does not warn if called after IO#read
fails:IO#syswrite writes to the current position after IO#read
fails:IO#syswrite advances the file position by the count of given bytes
fails:IO#syswrite raises IOError on closed stream
1 change: 0 additions & 1 deletion spec/truffle/tags/core/io/tell_tags.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
fails:IO#tell gets the offset
fails:IO#tell raises IOError on closed stream
fails:IO#tell resets #eof?
1 change: 0 additions & 1 deletion spec/truffle/tags/core/io/to_i_tags.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
fails:IO#to_i returns the numeric file descriptor of the given IO object
fails:IO#to_i raises IOError on closed stream
2 changes: 0 additions & 2 deletions spec/truffle/tags/core/io/to_io_tags.txt

This file was deleted.

6 changes: 0 additions & 6 deletions spec/truffle/tags/core/io/try_convert_tags.txt

This file was deleted.

1 change: 0 additions & 1 deletion spec/truffle/tags/core/io/tty_tags.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
fails:IO#tty? returns true if this stream is a terminal device (TTY)
fails:IO#tty? returns false if this stream is not a terminal device (TTY)
fails:IO#tty? raises IOError on closed stream
1 change: 0 additions & 1 deletion spec/truffle/tags/core/io/ungetbyte_tags.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
fails:IO#ungetbyte does nothing when passed nil
fails:IO#ungetbyte puts back each byte in a String argument
fails:IO#ungetbyte calls #to_str to convert the argument
fails:IO#ungetbyte puts back one byte for an Integer argument
1 change: 0 additions & 1 deletion spec/truffle/tags/core/io/ungetc_tags.txt
Original file line number Diff line number Diff line change
@@ -5,7 +5,6 @@ fails:IO#ungetc pushes back one character when invoked on empty stream
fails:IO#ungetc affects EOF state
fails:IO#ungetc adjusts the stream position
fails:IO#ungetc makes subsequent unbuffered operations to raise IOError
fails:IO#ungetc does not affect the stream and returns nil when passed nil
fails:IO#ungetc puts one or more characters back in the stream
fails:IO#ungetc calls #to_str to convert the argument if it is not an Integer
fails:IO#ungetc returns nil when invoked on stream that was not yet read
9 changes: 0 additions & 9 deletions spec/truffle/tags/core/io/write_tags.txt
Original file line number Diff line number Diff line change
@@ -1,10 +1,5 @@
fails:IO#write on a file writes all of the string's bytes but buffers them
fails:IO#write on a file does not check if the file is writable if writing zero bytes
fails:IO#write on a file returns a length of 0 when writing a blank string
fails:IO#write on a file returns the number of bytes written
fails:IO#write on a file uses the encoding from the given option for non-ascii encoding
fails:IO#write on a file uses an :open_args option
fails:IO#write on a file raises a invalid byte sequence error if invalid bytes are being written
fails:IO#write on a file writes binary data if no encoding is given
fails:IO.write coerces the argument to a string using to_s
fails:IO.write returns the number of bytes written
@@ -14,11 +9,7 @@ fails:IO.write truncates the file and writes the given string
fails:IO.write doesn't truncate the file and writes the given string if an offset is given
fails:IO.write doesn't truncate and writes at the given offset after passing empty opts
fails:IO.write accepts a :mode option
fails:IO.write raises an error if readonly mode is specified
fails:IO.write truncates if empty :opts provided and offset skipped
fails:IO.write uses an :open_args option
fails:IO.write disregards other options if :open_args is given
fails:IO.write uses the given encoding and returns the number of bytes written
fails:IO.write writes binary data if no encoding is given
fails:IO#write coerces the argument to a string using to_s
fails:IO#write checks if the file is writable if writing more than zero bytes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
fails:ERB::DefMethod.def_erb_method define method to render eRuby file as an instance method of current module
Original file line number Diff line number Diff line change
@@ -74,12 +74,10 @@ public void init() {
CoreMethodNodeManager.addCoreMethodNodes(rubyObjectClass, ExceptionNodesFactory.getFactories());
CoreMethodNodeManager.addCoreMethodNodes(rubyObjectClass, FalseClassNodesFactory.getFactories());
CoreMethodNodeManager.addCoreMethodNodes(rubyObjectClass, FiberNodesFactory.getFactories());
CoreMethodNodeManager.addCoreMethodNodes(rubyObjectClass, FileNodesFactory.getFactories());
CoreMethodNodeManager.addCoreMethodNodes(rubyObjectClass, FixnumNodesFactory.getFactories());
CoreMethodNodeManager.addCoreMethodNodes(rubyObjectClass, FloatNodesFactory.getFactories());
CoreMethodNodeManager.addCoreMethodNodes(rubyObjectClass, HashNodesFactory.getFactories());
CoreMethodNodeManager.addCoreMethodNodes(rubyObjectClass, IntegerNodesFactory.getFactories());
CoreMethodNodeManager.addCoreMethodNodes(rubyObjectClass, IONodesFactory.getFactories());
CoreMethodNodeManager.addCoreMethodNodes(rubyObjectClass, KernelNodesFactory.getFactories());
CoreMethodNodeManager.addCoreMethodNodes(rubyObjectClass, MainNodesFactory.getFactories());
CoreMethodNodeManager.addCoreMethodNodes(rubyObjectClass, MatchDataNodesFactory.getFactories());
15 changes: 5 additions & 10 deletions truffle/src/main/java/org/jruby/truffle/nodes/RubyNode.java
Original file line number Diff line number Diff line change
@@ -129,10 +129,6 @@ public RubyFiber executeRubyFiber(VirtualFrame frame) throws UnexpectedResultExc
return RubyTypesGen.RUBYTYPES.expectRubyFiber(execute(frame));
}

public RubyFile executeRubyFile(VirtualFrame frame) throws UnexpectedResultException {
return RubyTypesGen.RUBYTYPES.expectRubyFile(execute(frame));
}

public RubyHash executeRubyHash(VirtualFrame frame) throws UnexpectedResultException {
return RubyTypesGen.RUBYTYPES.expectRubyHash(execute(frame));
}
@@ -359,11 +355,6 @@ public boolean isRubyFiber(Object value) {
return value instanceof RubyFiber;
}

@SuppressWarnings("static-method")
public boolean isRubyFile(Object value) {
return value instanceof RubyFile;
}

@SuppressWarnings("static-method")
public boolean isRubyHash(Object value) {
return value instanceof RubyHash;
@@ -463,6 +454,10 @@ public boolean isRubiniusUndefined(Object value) {
}

protected Object ruby(VirtualFrame frame, String expression, Object... arguments) {
return rubyWithSelf(frame, RubyArguments.getSelf(frame.getArguments()), expression, arguments);
}

protected Object rubyWithSelf(VirtualFrame frame, Object self, String expression, Object... arguments) {
notDesignedForCompilation();

final MaterializedFrame evalFrame = Truffle.getRuntime().createMaterializedFrame(
@@ -478,7 +473,7 @@ protected Object ruby(VirtualFrame frame, String expression, Object... arguments

final RubyBinding binding = new RubyBinding(
getContext().getCoreLibrary().getBindingClass(),
RubyArguments.getSelf(frame.getArguments()),
self,
evalFrame);

return getContext().eval(ByteList.create(expression), binding, true, "inline-ruby", this);
Original file line number Diff line number Diff line change
@@ -40,7 +40,6 @@
RubyClass.class, //
RubyException.class, //
RubyFiber.class, //
RubyFile.class, //
RubyHash.class, //
RubyMatchData.class, //
RubyModule.class, //
Original file line number Diff line number Diff line change
@@ -1296,13 +1296,17 @@ public abstract static class EachNode extends YieldingCoreMethodNode {
private final BranchProfile nextProfile = BranchProfile.create();
private final BranchProfile redoProfile = BranchProfile.create();

private final RubySymbol eachSymbol;

public EachNode(RubyContext context, SourceSection sourceSection) {
super(context, sourceSection);
eachSymbol = getContext().getSymbolTable().getSymbol("each");
}

public EachNode(EachNode prev) {
super(prev);
toEnumNode = prev.toEnumNode;
eachSymbol = prev.eachSymbol;
}

@Specialization
@@ -1312,7 +1316,7 @@ public Object eachEnumerator(VirtualFrame frame, RubyArray array, UndefinedPlace
toEnumNode = insert(DispatchHeadNodeFactory.createMethodCall(getContext()));
}

return toEnumNode.call(frame, array, "to_enum", null, getContext().getCoreLibrary().getEachSymbol());
return toEnumNode.call(frame, array, "to_enum", null, eachSymbol);
}

@Specialization(guards = "isNull")
265 changes: 0 additions & 265 deletions truffle/src/main/java/org/jruby/truffle/nodes/core/FileNodes.java

This file was deleted.

259 changes: 0 additions & 259 deletions truffle/src/main/java/org/jruby/truffle/nodes/core/IONodes.java

This file was deleted.

Loading

0 comments on commit 9fad714

Please sign in to comment.