From 1fefe0a25580f80c335b772dc52074ba644ae0cf Mon Sep 17 00:00:00 2001 From: Zoffix Znet Date: Sun, 16 Sep 2018 21:13:20 -0400 Subject: [PATCH] [v6.d REVIEW] Appendicise "-" magic open string cover tests This feature is deprecated in 6.d Orig: https://github.com/perl6/roast/commit/60a7a88e4 --- APPENDICES/A03-older-specs/01-misc.t | 66 ++++++++++++++++++++++++++-- S32-io/open.t | 62 +------------------------- 2 files changed, 64 insertions(+), 64 deletions(-) diff --git a/APPENDICES/A03-older-specs/01-misc.t b/APPENDICES/A03-older-specs/01-misc.t index 21d6be49cd..55974731bd 100644 --- a/APPENDICES/A03-older-specs/01-misc.t +++ b/APPENDICES/A03-older-specs/01-misc.t @@ -1,6 +1,66 @@ use v6.c; - +use lib $?FILE.IO.parent(3).add: 'packages'; use Test; -plan 1; +use Test::Util; + +plan 2; + +# RT #131503 +#?rakudo.jvm skip "Unsupported VM encoding 'utf8-c8'" +#?DOES 1 +{ + subtest '.open with "-" as path uses $*IN/$*OUT' => { + plan 2; + subtest 'STDOUT' => { plan 3; + temp $*OUT = make-temp-file.open: :w; + is-deeply '-'.IO.open(:bin, :w), $*OUT, 'returned handle is STDOUT'; + is-deeply $*OUT.encoding, Nil, 'set binary mode'; + '-'.IO.open: :enc, :w; + is-deeply $*OUT.encoding, 'utf8-c8', 'changed encoding'; + } + subtest 'STDIN' => { plan 3; + temp $*IN = make-temp-file(:content).open; + is-deeply '-'.IO.open(:bin), $*IN, 'returned handle is STDIN'; + is-deeply $*IN.encoding, Nil, 'set binary mode'; + '-'.IO.open: :enc; + is-deeply $*IN.encoding, 'utf8-c8', 'changed encoding'; + } + } +} + +#?rakudo.jvm skip "Unsupported VM encoding 'utf8-c8'" +#?DOES 1 +{ + subtest '.open with "-" as path can open closed $*IN/$*OUT' => { + plan 3; + subtest 'STDOUT' => { plan 4; + temp $*OUT = IO::Handle.new: :path(make-temp-file); + is-deeply '-'.IO.open(:bin, :w), $*OUT, 'returned handle is STDOUT'; + is-deeply $*OUT.opened, True, '$*OUT is now opened'; + is-deeply $*OUT.encoding, Nil, 'set binary mode'; + '-'.IO.open: :enc, :w; + is-deeply $*OUT.encoding, 'utf8-c8', 'changed encoding'; + } + subtest 'STDIN' => { plan 4; + temp $*IN = IO::Handle.new: :path(make-temp-file :content); + is-deeply '-'.IO.open(:bin), $*IN, 'returned handle is STDIN'; + is-deeply $*IN.opened, True, '$*IN is now opened'; + is-deeply $*IN.encoding, Nil, 'set binary mode'; + '-'.IO.open: :enc; + is-deeply $*IN.encoding, 'utf8-c8', 'changed encoding'; + } -ok 1; + is_run 「 + $*IN = IO::Handle.new: :path('-'.IO); + $*OUT = IO::Handle.new: :path('-'.IO); + my $w = '-'.IO.open: :w; + my $r = '-'.IO.open; + $r.get.say; + $*IN.slurp(:close).say; + $w.put: 'meow $w'; + $*OUT.put: 'meow $*OUT'; + 」, "foo\nbar\nber", { + :out("foo\nbar\nber\nmeow \$w\nmeow \$*OUT\n"), :err(''), :0status + }, 「can use unopened handle with path '-'.IO」; + } +} diff --git a/S32-io/open.t b/S32-io/open.t index 30f19fcf04..158fddc8df 100644 --- a/S32-io/open.t +++ b/S32-io/open.t @@ -3,7 +3,7 @@ use lib $?FILE.IO.parent(2).add("packages"); use Test; use Test::Util; -plan 19; +plan 17; ################################################################################################### # @@ -228,66 +228,6 @@ subtest '.open uses attributes by default' => { $fh.close; } -# RT #131503 -#?rakudo.jvm skip "Unsupported VM encoding 'utf8-c8'" -#?DOES 1 -{ - subtest '.open with "-" as path uses $*IN/$*OUT' => { - plan 2; - subtest 'STDOUT' => { plan 3; - temp $*OUT = make-temp-file.open: :w; - is-deeply '-'.IO.open(:bin, :w), $*OUT, 'returned handle is STDOUT'; - is-deeply $*OUT.encoding, Nil, 'set binary mode'; - '-'.IO.open: :enc, :w; - is-deeply $*OUT.encoding, 'utf8-c8', 'changed encoding'; - } - subtest 'STDIN' => { plan 3; - temp $*IN = make-temp-file(:content).open; - is-deeply '-'.IO.open(:bin), $*IN, 'returned handle is STDIN'; - is-deeply $*IN.encoding, Nil, 'set binary mode'; - '-'.IO.open: :enc; - is-deeply $*IN.encoding, 'utf8-c8', 'changed encoding'; - } - } -} - -#?rakudo.jvm skip "Unsupported VM encoding 'utf8-c8'" -#?DOES 1 -{ - subtest '.open with "-" as path can open closed $*IN/$*OUT' => { - plan 3; - subtest 'STDOUT' => { plan 4; - temp $*OUT = IO::Handle.new: :path(make-temp-file); - is-deeply '-'.IO.open(:bin, :w), $*OUT, 'returned handle is STDOUT'; - is-deeply $*OUT.opened, True, '$*OUT is now opened'; - is-deeply $*OUT.encoding, Nil, 'set binary mode'; - '-'.IO.open: :enc, :w; - is-deeply $*OUT.encoding, 'utf8-c8', 'changed encoding'; - } - subtest 'STDIN' => { plan 4; - temp $*IN = IO::Handle.new: :path(make-temp-file :content); - is-deeply '-'.IO.open(:bin), $*IN, 'returned handle is STDIN'; - is-deeply $*IN.opened, True, '$*IN is now opened'; - is-deeply $*IN.encoding, Nil, 'set binary mode'; - '-'.IO.open: :enc; - is-deeply $*IN.encoding, 'utf8-c8', 'changed encoding'; - } - - is_run 「 - $*IN = IO::Handle.new: :path('-'.IO); - $*OUT = IO::Handle.new: :path('-'.IO); - my $w = '-'.IO.open: :w; - my $r = '-'.IO.open; - $r.get.say; - $*IN.slurp(:close).say; - $w.put: 'meow $w'; - $*OUT.put: 'meow $*OUT'; - 」, "foo\nbar\nber", { - :out("foo\nbar\nber\nmeow \$w\nmeow \$*OUT\n"), :err(''), :0status - }, 「can use unopened handle with path '-'.IO」; - } -} - # RT #131755 subtest '.DESTROY does not close standard handles' => { plan 3;