use v6-alpha; use Test; plan 9; # L if $*OS eq "browser" { skip_rest "Programs running in browsers don't have access to regular IO."; exit; } { my $contents = slurp "README"; ok index($contents, "Pugs") != -1, "slurp() worked"; } { dies_ok { slurp "does-not-exist" }, "slurp() on not-existant files fails"; } { dies_ok { slurp "t/" }, "slurp() on directories fails"; } # slurp in list context { my @slurped_lines = slurp "README"; ok +@slurped_lines > 50, "more than 50 lines in README file ?"; my $fh = open "README" err die; my @expected_lines = =$fh; $fh.close; is +@slurped_lines, +@expected_lines, "same number of lines read"; my $diff = 0; for 0..@slurped_lines-1 -> $i { $diff += @slurped_lines[$i] eq @expected_lines[$i] ?? 1 !! 0; } is $diff, 0, "all the lines are the same", :todo; # chomp does not work on arrays yet my @chomped_lines; for @slurped_lines -> $line { push @chomped_lines, chomp $line; } is_deeply @expected_lines, @chomped_lines, "same lines read with both slurp and via open"; my @dot_lines = "README".slurp; is +@dot_lines, +@expected_lines, "same number of lines read"; my $filename = "README"; my @var_dot_lines = $filename.slurp; is +@var_dot_lines, +@expected_lines, "same number of lines read"; }