diff options
Diffstat (limited to 'spec/ruby/core/io/fixtures')
-rw-r--r-- | spec/ruby/core/io/fixtures/bom_UTF-16BE.txt | bin | 0 -> 20 bytes | |||
-rw-r--r-- | spec/ruby/core/io/fixtures/bom_UTF-16LE.txt | bin | 0 -> 20 bytes | |||
-rw-r--r-- | spec/ruby/core/io/fixtures/bom_UTF-32BE.txt | bin | 0 -> 40 bytes | |||
-rw-r--r-- | spec/ruby/core/io/fixtures/bom_UTF-32LE.txt | bin | 0 -> 40 bytes | |||
-rw-r--r-- | spec/ruby/core/io/fixtures/bom_UTF-8.txt | 1 | ||||
-rw-r--r-- | spec/ruby/core/io/fixtures/classes.rb | 177 | ||||
-rw-r--r-- | spec/ruby/core/io/fixtures/copy_stream.txt | 6 | ||||
-rw-r--r-- | spec/ruby/core/io/fixtures/empty.txt | 0 | ||||
-rw-r--r-- | spec/ruby/core/io/fixtures/incomplete.txt | 1 | ||||
-rw-r--r-- | spec/ruby/core/io/fixtures/lines.txt | 9 | ||||
-rw-r--r-- | spec/ruby/core/io/fixtures/no_bom_UTF-8.txt | 1 | ||||
-rw-r--r-- | spec/ruby/core/io/fixtures/numbered_lines.txt | 5 | ||||
-rw-r--r-- | spec/ruby/core/io/fixtures/one_byte.txt | 1 | ||||
-rw-r--r-- | spec/ruby/core/io/fixtures/read_binary.txt | 1 | ||||
-rw-r--r-- | spec/ruby/core/io/fixtures/read_euc_jp.txt | 1 | ||||
-rw-r--r-- | spec/ruby/core/io/fixtures/read_text.txt | 1 | ||||
-rw-r--r-- | spec/ruby/core/io/fixtures/reopen_stdout.rb | 3 |
17 files changed, 207 insertions, 0 deletions
diff --git a/spec/ruby/core/io/fixtures/bom_UTF-16BE.txt b/spec/ruby/core/io/fixtures/bom_UTF-16BE.txt Binary files differnew file mode 100644 index 0000000000..c7c42e9de4 --- /dev/null +++ b/spec/ruby/core/io/fixtures/bom_UTF-16BE.txt diff --git a/spec/ruby/core/io/fixtures/bom_UTF-16LE.txt b/spec/ruby/core/io/fixtures/bom_UTF-16LE.txt Binary files differnew file mode 100644 index 0000000000..53642b6984 --- /dev/null +++ b/spec/ruby/core/io/fixtures/bom_UTF-16LE.txt diff --git a/spec/ruby/core/io/fixtures/bom_UTF-32BE.txt b/spec/ruby/core/io/fixtures/bom_UTF-32BE.txt Binary files differnew file mode 100644 index 0000000000..c5efe6c278 --- /dev/null +++ b/spec/ruby/core/io/fixtures/bom_UTF-32BE.txt diff --git a/spec/ruby/core/io/fixtures/bom_UTF-32LE.txt b/spec/ruby/core/io/fixtures/bom_UTF-32LE.txt Binary files differnew file mode 100644 index 0000000000..1168384393 --- /dev/null +++ b/spec/ruby/core/io/fixtures/bom_UTF-32LE.txt diff --git a/spec/ruby/core/io/fixtures/bom_UTF-8.txt b/spec/ruby/core/io/fixtures/bom_UTF-8.txt new file mode 100644 index 0000000000..ca971bef61 --- /dev/null +++ b/spec/ruby/core/io/fixtures/bom_UTF-8.txt @@ -0,0 +1 @@ +UTF-8 diff --git a/spec/ruby/core/io/fixtures/classes.rb b/spec/ruby/core/io/fixtures/classes.rb new file mode 100644 index 0000000000..fb431d5023 --- /dev/null +++ b/spec/ruby/core/io/fixtures/classes.rb @@ -0,0 +1,177 @@ +# -*- encoding: utf-8 -*- + +module IOSpecs + class SubIO < IO + end + + def self.collector + Proc.new { |x| ScratchPad << x } + end + + def self.lines + [ "Voici la ligne une.\n", + "Qui \303\250 la linea due.\n", + "\n", + "\n", + "Aqu\303\255 est\303\241 la l\303\255nea tres.\n", + "Hier ist Zeile vier.\n", + "\n", + "Est\303\241 aqui a linha cinco.\n", + "Here is line six.\n" ] + end + + def self.lines_limit + [ "Voici la l", + "igne une.\n", + "Qui è la ", + "linea due.", + "\n", + "\n", + "\n", + "Aquí está", + " la línea", + " tres.\n", + "Hier ist Z", + "eile vier.", + "\n", + "\n", + "Está aqui", + " a linha c", + "inco.\n", + "Here is li", + "ne six.\n" ] + end + + def self.lines_space_separator_limit + [ "Voici ", + "la ", + "ligne ", + "une.\nQui ", + "è ", + "la ", + "linea ", + "due.\n\n\nAqu", + "í ", + "está ", + "la ", + "línea ", + "tres.\nHier", + " ", + "ist ", + "Zeile ", + "vier.\n\nEst", + "á ", + "aqui ", + "a ", + "linha ", + "cinco.\nHer", + "e ", + "is ", + "line ", + "six.\n" ] + end + + def self.lines_r_separator + [ "Voici la ligne une.\nQui \303\250 la linea due.\n\n\nAqu\303\255 est\303\241 la l\303\255nea tr", + "es.\nHier", + " ist Zeile vier", + ".\n\nEst\303\241 aqui a linha cinco.\nHer", + "e is line six.\n" ] + end + + def self.lines_empty_separator + [ "Voici la ligne une.\nQui \303\250 la linea due.\n\n", + "Aqu\303\255 est\303\241 la l\303\255nea tres.\nHier ist Zeile vier.\n\n", + "Est\303\241 aqui a linha cinco.\nHere is line six.\n" ] + end + + def self.lines_space_separator + [ "Voici ", "la ", "ligne ", "une.\nQui ", + "\303\250 ", "la ", "linea ", "due.\n\n\nAqu\303\255 ", + "est\303\241 ", "la ", "l\303\255nea ", "tres.\nHier ", + "ist ", "Zeile ", "vier.\n\nEst\303\241 ", "aqui ", "a ", + "linha ", "cinco.\nHere ", "is ", "line ", "six.\n" ] + end + + def self.lines_arbitrary_separator + [ "Voici la ligne une.\nQui \303\250", + " la linea due.\n\n\nAqu\303\255 est\303\241 la l\303\255nea tres.\nHier ist Zeile vier.\n\nEst\303\241 aqui a linha cinco.\nHere is line six.\n" ] + end + + def self.paragraphs + [ "Voici la ligne une.\nQui \303\250 la linea due.\n\n", + "Aqu\303\255 est\303\241 la l\303\255nea tres.\nHier ist Zeile vier.\n\n", + "Est\303\241 aqui a linha cinco.\nHere is line six.\n" ] + end + + # Creates an IO instance for an existing fixture file. The + # file should obviously not be deleted. + def self.io_fixture(name, options_or_mode="r:utf-8") + path = fixture __FILE__, name + name = path if File.exist? path + new_io name, options_or_mode + end + + # Returns a closed instance of IO that was opened to reference + # a fixture file (i.e. the IO instance was perfectly valid at + # one point but is now closed). + def self.closed_io + io = io_fixture "lines.txt" + io.close + io + end + + # Creates a pipe-based IO fixture containing the specified + # contents + def self.pipe_fixture(content) + source, sink = IO.pipe + sink.write content + sink.close + source + end + + # Defines +method+ on +obj+ using the provided +block+. This + # special helper is needed for e.g. IO.open specs to avoid + # mock methods preventing IO#close from running. + def self.io_mock(obj, method, &block) + obj.singleton_class.send(:define_method, method, &block) + end + + module CopyStream + def self.from=(from) + @from = from + end + + def self.from + @from + end + end + + class CopyStreamRead + def initialize(io) + @io = io + end + + def read(size, buf=nil) + @io.read size, buf + end + + def send(*args) + raise "send called" + end + end + + class CopyStreamReadPartial + def initialize(io) + @io = io + end + + def readpartial(size, buf=nil) + @io.readpartial size, buf + end + + def send(*args) + raise "send called" + end + end +end diff --git a/spec/ruby/core/io/fixtures/copy_stream.txt b/spec/ruby/core/io/fixtures/copy_stream.txt new file mode 100644 index 0000000000..a2d827b351 --- /dev/null +++ b/spec/ruby/core/io/fixtures/copy_stream.txt @@ -0,0 +1,6 @@ +Line one + +Line three +Line four + +Line last diff --git a/spec/ruby/core/io/fixtures/empty.txt b/spec/ruby/core/io/fixtures/empty.txt new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/spec/ruby/core/io/fixtures/empty.txt diff --git a/spec/ruby/core/io/fixtures/incomplete.txt b/spec/ruby/core/io/fixtures/incomplete.txt new file mode 100644 index 0000000000..23d432f642 --- /dev/null +++ b/spec/ruby/core/io/fixtures/incomplete.txt @@ -0,0 +1 @@ +
\ No newline at end of file diff --git a/spec/ruby/core/io/fixtures/lines.txt b/spec/ruby/core/io/fixtures/lines.txt new file mode 100644 index 0000000000..0959997e7b --- /dev/null +++ b/spec/ruby/core/io/fixtures/lines.txt @@ -0,0 +1,9 @@ +Voici la ligne une. +Qui è la linea due. + + +Aquí está la línea tres. +Hier ist Zeile vier. + +Está aqui a linha cinco. +Here is line six. diff --git a/spec/ruby/core/io/fixtures/no_bom_UTF-8.txt b/spec/ruby/core/io/fixtures/no_bom_UTF-8.txt new file mode 100644 index 0000000000..7edc66b06a --- /dev/null +++ b/spec/ruby/core/io/fixtures/no_bom_UTF-8.txt @@ -0,0 +1 @@ +UTF-8 diff --git a/spec/ruby/core/io/fixtures/numbered_lines.txt b/spec/ruby/core/io/fixtures/numbered_lines.txt new file mode 100644 index 0000000000..70e49a3d98 --- /dev/null +++ b/spec/ruby/core/io/fixtures/numbered_lines.txt @@ -0,0 +1,5 @@ +Line 1: One +Line 2: Two +Line 3: Three +Line 4: Four +Line 5: Five diff --git a/spec/ruby/core/io/fixtures/one_byte.txt b/spec/ruby/core/io/fixtures/one_byte.txt new file mode 100644 index 0000000000..56a6051ca2 --- /dev/null +++ b/spec/ruby/core/io/fixtures/one_byte.txt @@ -0,0 +1 @@ +1
\ No newline at end of file diff --git a/spec/ruby/core/io/fixtures/read_binary.txt b/spec/ruby/core/io/fixtures/read_binary.txt new file mode 100644 index 0000000000..fa036dca4b --- /dev/null +++ b/spec/ruby/core/io/fixtures/read_binary.txt @@ -0,0 +1 @@ +abcdef diff --git a/spec/ruby/core/io/fixtures/read_euc_jp.txt b/spec/ruby/core/io/fixtures/read_euc_jp.txt new file mode 100644 index 0000000000..0e17cd717a --- /dev/null +++ b/spec/ruby/core/io/fixtures/read_euc_jp.txt @@ -0,0 +1 @@ +꤬Ȥ diff --git a/spec/ruby/core/io/fixtures/read_text.txt b/spec/ruby/core/io/fixtures/read_text.txt new file mode 100644 index 0000000000..5a7a80f6e4 --- /dev/null +++ b/spec/ruby/core/io/fixtures/read_text.txt @@ -0,0 +1 @@ +abcâdef diff --git a/spec/ruby/core/io/fixtures/reopen_stdout.rb b/spec/ruby/core/io/fixtures/reopen_stdout.rb new file mode 100644 index 0000000000..506ba072bd --- /dev/null +++ b/spec/ruby/core/io/fixtures/reopen_stdout.rb @@ -0,0 +1,3 @@ +STDOUT.reopen ARGV[0] +system "echo from system" +exec "echo from exec" |