fails:StringIO#initialize when passed [Object, mode] uses the passed Object as the StringIO backend
fails:StringIO#initialize when passed [Object, mode] sets the mode based on the passed mode
fails:StringIO#initialize when passed [Object, mode] allows passing the mode as an Integer
fails:StringIO#initialize when passed [Object, mode] tries to convert the passed mode to a String using #to_str
fails:StringIO#initialize when passed [Object, mode] raises an Errno::EACCES error when passed a frozen string with a write-mode
fails:StringIO#initialize when passed [Object] uses the passed Object as the StringIO backend
fails:StringIO#initialize when passed [Object] sets the mode to read-write
fails:StringIO#initialize when passed [Object] tries to convert the passed Object to a String using #to_str
fails:StringIO#initialize when passed [Object] automatically sets the mode to read-only when passed a frozen string
fails:StringIO#initialize when passed no arguments sets the mode to read-write
fails:StringIO#initialize when passed no arguments uses an empty String as the StringIO backend
