codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
use v6; use StringIO; use Test; { my StringIO $io .= new("f"); nok $io.eof; ok $io.getc eq "f"; nok $io.eof; nok defined $io.getc; ok $io.eof; nok defined $io.getc; } { my StringIO $io .= new("foo\nbar"); nok $io.eof; ok $io.get eq "foo"; nok $io.eof; ok $io.get eq "bar"; ok $io.eof; nok defined $io.get; } { my StringIO $io .= new("foo\nbar\nbaz"); nok $io.eof; ok $io.lines.join("-") eq "foo-bar-baz"; ok $io.eof; nok $io.lines.Int != 0; } { my StringIO $io .= new("foo\nbar\nbaz"); nok $io.eof; ok $io.read(4).decode eq "foo\n"; nok $io.eof; ok $io.read(2).decode eq "ba"; nok $io.eof; ok $io.read(3).decode eq "r\nb"; nok $io.eof; ok $io.read(10).decode eq "az"; ok $io.eof; nok $io.read(1).bytes != 0; } { my StringIO $io .= new; nok $io.eof; ok $io.write("foobar".encode); nok $io.eof; ok $io.data eq "foobar"; nok $io.eof; ok $io.get eq "foobar"; ok $io.eof; # Writing to an eof'd StringIO uneofs it. ok $io.write("foobar".encode); nok $io.eof; ok $io.slurp eq "foobar"; ok $io.eof; # Fails in old rakudo # ok $io.write(''.encode.decode); ok $io.print(''); nok $io.eof; } { my StringIO $io .= new; nok $io.eof; ok $io.print("foo", "bar", "baz"); nok $io.eof; ok $io.slurp eq "foobarbaz"; ok $io.eof; ok $io.print("foo", "bar", "baz"); nok $io.eof; ok $io.slurp eq "foobarbaz"; ok $io.eof; ok $io.print('', '', ''); nok $io.eof; ok $io.slurp eq ''; ok $io.eof; nok defined $io.slurp; } { my StringIO $io .= new; my Str @stuff = <foo bar baz>; ok $io.print(@stuff); ok $io.data eq "foobarbaz"; } { my StringIO $io .= new; ok $io.say("foo", "bar", "baz"); ok $io.data eq "foobarbaz\n"; } { my StringIO $io .= new; nok $io ~~ :d; nok $io ~~ :e; nok $io ~~ :f; nok $io ~~ :l; ok $io ~~ :r; nok $io ~~ :s; nok $io ~~ :t; ok $io ~~ :w; nok $io ~~ :x; ok $io ~~ :z; $io.print("foo"); ok $io ~~ :s; nok $io ~~ :z; }
Private
[
?
]
Run code
Submit