Branch Coverage

t/svapi/io.cc
Criterion Covered Total %
branch 422 818 51.5


line true false branch
6 83 0 perlvars vars;
7 83 0 Io my(vars.io);
10 83 0 SECTION("ctor") {
83 0 SECTION("ctor") {
83 0 SECTION("ctor") {
83 0 SECTION("ctor") {
35 48 SECTION("ctor") {
11 35 0 SECTION("empty") {
35 0 SECTION("empty") {
35 0 SECTION("empty") {
35 0 SECTION("empty") {
1 34 SECTION("empty") {
13 1 0 REQUIRE(!o);
1 0 REQUIRE(!o);
1 0 REQUIRE(!o);
1 0 REQUIRE(!o);
0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
15 35 0 SECTION("SV") {
35 0 SECTION("SV") {
35 0 SECTION("SV") {
35 0 SECTION("SV") {
24 11 SECTION("SV") {
16 24 0 SECTION("undef") { Test::ctor(vars.undef, behaviour_t::EMPTY); }
24 0 SECTION("undef") { Test::ctor(vars.undef, behaviour_t::EMPTY); }
24 0 SECTION("undef") { Test::ctor(vars.undef, behaviour_t::EMPTY); }
24 0 SECTION("undef") { Test::ctor(vars.undef, behaviour_t::EMPTY); }
2 22 SECTION("undef") { Test::ctor(vars.undef, behaviour_t::EMPTY); }
2 0 SECTION("undef") { Test::ctor(vars.undef, behaviour_t::EMPTY); }
17 24 0 SECTION("number") { Test::ctor(vars.iv, behaviour_t::THROWS); }
24 0 SECTION("number") { Test::ctor(vars.iv, behaviour_t::THROWS); }
24 0 SECTION("number") { Test::ctor(vars.iv, behaviour_t::THROWS); }
24 0 SECTION("number") { Test::ctor(vars.iv, behaviour_t::THROWS); }
2 22 SECTION("number") { Test::ctor(vars.iv, behaviour_t::THROWS); }
2 0 SECTION("number") { Test::ctor(vars.iv, behaviour_t::THROWS); }
18 24 0 SECTION("string") { Test::ctor(vars.pv, behaviour_t::THROWS); }
24 0 SECTION("string") { Test::ctor(vars.pv, behaviour_t::THROWS); }
24 0 SECTION("string") { Test::ctor(vars.pv, behaviour_t::THROWS); }
24 0 SECTION("string") { Test::ctor(vars.pv, behaviour_t::THROWS); }
2 22 SECTION("string") { Test::ctor(vars.pv, behaviour_t::THROWS); }
2 0 SECTION("string") { Test::ctor(vars.pv, behaviour_t::THROWS); }
19 24 0 SECTION("RV") { Test::ctor(vars.rv, behaviour_t::THROWS); }
24 0 SECTION("RV") { Test::ctor(vars.rv, behaviour_t::THROWS); }
24 0 SECTION("RV") { Test::ctor(vars.rv, behaviour_t::THROWS); }
24 0 SECTION("RV") { Test::ctor(vars.rv, behaviour_t::THROWS); }
2 22 SECTION("RV") { Test::ctor(vars.rv, behaviour_t::THROWS); }
2 0 SECTION("RV") { Test::ctor(vars.rv, behaviour_t::THROWS); }
20 24 0 SECTION("AV") { Test::ctor((SV*)vars.av, behaviour_t::THROWS); }
24 0 SECTION("AV") { Test::ctor((SV*)vars.av, behaviour_t::THROWS); }
24 0 SECTION("AV") { Test::ctor((SV*)vars.av, behaviour_t::THROWS); }
24 0 SECTION("AV") { Test::ctor((SV*)vars.av, behaviour_t::THROWS); }
2 22 SECTION("AV") { Test::ctor((SV*)vars.av, behaviour_t::THROWS); }
2 0 SECTION("AV") { Test::ctor((SV*)vars.av, behaviour_t::THROWS); }
21 24 0 SECTION("HV") { Test::ctor((SV*)vars.hv, behaviour_t::THROWS); }
24 0 SECTION("HV") { Test::ctor((SV*)vars.hv, behaviour_t::THROWS); }
24 0 SECTION("HV") { Test::ctor((SV*)vars.hv, behaviour_t::THROWS); }
24 0 SECTION("HV") { Test::ctor((SV*)vars.hv, behaviour_t::THROWS); }
2 22 SECTION("HV") { Test::ctor((SV*)vars.hv, behaviour_t::THROWS); }
2 0 SECTION("HV") { Test::ctor((SV*)vars.hv, behaviour_t::THROWS); }
22 24 0 SECTION("OHV") { Test::ctor((SV*)vars.ohv, behaviour_t::THROWS); }
24 0 SECTION("OHV") { Test::ctor((SV*)vars.ohv, behaviour_t::THROWS); }
24 0 SECTION("OHV") { Test::ctor((SV*)vars.ohv, behaviour_t::THROWS); }
24 0 SECTION("OHV") { Test::ctor((SV*)vars.ohv, behaviour_t::THROWS); }
2 22 SECTION("OHV") { Test::ctor((SV*)vars.ohv, behaviour_t::THROWS); }
2 0 SECTION("OHV") { Test::ctor((SV*)vars.ohv, behaviour_t::THROWS); }
23 24 0 SECTION("SHV") { Test::ctor((SV*)vars.stash, behaviour_t::THROWS); }
24 0 SECTION("SHV") { Test::ctor((SV*)vars.stash, behaviour_t::THROWS); }
24 0 SECTION("SHV") { Test::ctor((SV*)vars.stash, behaviour_t::THROWS); }
24 0 SECTION("SHV") { Test::ctor((SV*)vars.stash, behaviour_t::THROWS); }
2 22 SECTION("SHV") { Test::ctor((SV*)vars.stash, behaviour_t::THROWS); }
2 0 SECTION("SHV") { Test::ctor((SV*)vars.stash, behaviour_t::THROWS); }
24 24 0 SECTION("CV") { Test::ctor((SV*)vars.cv, behaviour_t::THROWS); }
24 0 SECTION("CV") { Test::ctor((SV*)vars.cv, behaviour_t::THROWS); }
24 0 SECTION("CV") { Test::ctor((SV*)vars.cv, behaviour_t::THROWS); }
24 0 SECTION("CV") { Test::ctor((SV*)vars.cv, behaviour_t::THROWS); }
2 22 SECTION("CV") { Test::ctor((SV*)vars.cv, behaviour_t::THROWS); }
2 0 SECTION("CV") { Test::ctor((SV*)vars.cv, behaviour_t::THROWS); }
25 24 0 SECTION("GV") { Test::ctor((SV*)vars.iog, behaviour_t::VALID, vars.io); }
24 0 SECTION("GV") { Test::ctor((SV*)vars.iog, behaviour_t::VALID, vars.io); }
24 0 SECTION("GV") { Test::ctor((SV*)vars.iog, behaviour_t::VALID, vars.io); }
24 0 SECTION("GV") { Test::ctor((SV*)vars.iog, behaviour_t::VALID, vars.io); }
2 22 SECTION("GV") { Test::ctor((SV*)vars.iog, behaviour_t::VALID, vars.io); }
2 0 SECTION("GV") { Test::ctor((SV*)vars.iog, behaviour_t::VALID, vars.io); }
26 24 0 SECTION("R-GV") { Test::ctor((SV*)vars.iogr, behaviour_t::VALID, vars.io); }
24 0 SECTION("R-GV") { Test::ctor((SV*)vars.iogr, behaviour_t::VALID, vars.io); }
24 0 SECTION("R-GV") { Test::ctor((SV*)vars.iogr, behaviour_t::VALID, vars.io); }
24 0 SECTION("R-GV") { Test::ctor((SV*)vars.iogr, behaviour_t::VALID, vars.io); }
2 22 SECTION("R-GV") { Test::ctor((SV*)vars.iogr, behaviour_t::VALID, vars.io); }
2 0 SECTION("R-GV") { Test::ctor((SV*)vars.iogr, behaviour_t::VALID, vars.io); }
27 24 0 SECTION("IO") { Test::ctor((SV*)vars.io, behaviour_t::VALID); }
24 0 SECTION("IO") { Test::ctor((SV*)vars.io, behaviour_t::VALID); }
24 0 SECTION("IO") { Test::ctor((SV*)vars.io, behaviour_t::VALID); }
24 0 SECTION("IO") { Test::ctor((SV*)vars.io, behaviour_t::VALID); }
2 22 SECTION("IO") { Test::ctor((SV*)vars.io, behaviour_t::VALID); }
2 0 SECTION("IO") { Test::ctor((SV*)vars.io, behaviour_t::VALID); }
29 35 0 SECTION("GV") { Test::ctor(vars.iog, behaviour_t::VALID, vars.io); }
35 0 SECTION("GV") { Test::ctor(vars.iog, behaviour_t::VALID, vars.io); }
35 0 SECTION("GV") { Test::ctor(vars.iog, behaviour_t::VALID, vars.io); }
35 0 SECTION("GV") { Test::ctor(vars.iog, behaviour_t::VALID, vars.io); }
2 33 SECTION("GV") { Test::ctor(vars.iog, behaviour_t::VALID, vars.io); }
2 0 SECTION("GV") { Test::ctor(vars.iog, behaviour_t::VALID, vars.io); }
30 35 0 SECTION("IO") { Test::ctor(vars.io, behaviour_t::VALID); }
35 0 SECTION("IO") { Test::ctor(vars.io, behaviour_t::VALID); }
35 0 SECTION("IO") { Test::ctor(vars.io, behaviour_t::VALID); }
35 0 SECTION("IO") { Test::ctor(vars.io, behaviour_t::VALID); }
2 33 SECTION("IO") { Test::ctor(vars.io, behaviour_t::VALID); }
2 0 SECTION("IO") { Test::ctor(vars.io, behaviour_t::VALID); }
32 35 0 SECTION("Io") { Test::ctor(my, behaviour_t::VALID); }
35 0 SECTION("Io") { Test::ctor(my, behaviour_t::VALID); }
35 0 SECTION("Io") { Test::ctor(my, behaviour_t::VALID); }
35 0 SECTION("Io") { Test::ctor(my, behaviour_t::VALID); }
2 33 SECTION("Io") { Test::ctor(my, behaviour_t::VALID); }
2 0 SECTION("Io") { Test::ctor(my, behaviour_t::VALID); }
33 35 0 SECTION("valid Sv") { Test::ctor(oth_valid, behaviour_t::VALID); }
35 0 SECTION("valid Sv") { Test::ctor(oth_valid, behaviour_t::VALID); }
35 0 SECTION("valid Sv") { Test::ctor(oth_valid, behaviour_t::VALID); }
35 0 SECTION("valid Sv") { Test::ctor(oth_valid, behaviour_t::VALID); }
2 33 SECTION("valid Sv") { Test::ctor(oth_valid, behaviour_t::VALID); }
2 0 SECTION("valid Sv") { Test::ctor(oth_valid, behaviour_t::VALID); }
34 35 0 SECTION("invalid Sv") { Test::ctor(oth_invalid, behaviour_t::THROWS); }
35 0 SECTION("invalid Sv") { Test::ctor(oth_invalid, behaviour_t::THROWS); }
35 0 SECTION("invalid Sv") { Test::ctor(oth_invalid, behaviour_t::THROWS); }
35 0 SECTION("invalid Sv") { Test::ctor(oth_invalid, behaviour_t::THROWS); }
2 33 SECTION("invalid Sv") { Test::ctor(oth_invalid, behaviour_t::THROWS); }
2 0 SECTION("invalid Sv") { Test::ctor(oth_invalid, behaviour_t::THROWS); }
37 83 0 SECTION("operator=") {
83 0 SECTION("operator=") {
83 0 SECTION("operator=") {
83 0 SECTION("operator=") {
42 41 SECTION("operator=") {
38 42 0 Io o(eval_pv("*STDIN{IO}", 1));
42 0 Io o(eval_pv("*STDIN{IO}", 1));
39 42 0 SECTION("SV") {
42 0 SECTION("SV") {
42 0 SECTION("SV") {
42 0 SECTION("SV") {
24 18 SECTION("SV") {
40 24 0 SECTION("undef SV") { Test::assign(o, vars.undef, behaviour_t::EMPTY); }
24 0 SECTION("undef SV") { Test::assign(o, vars.undef, behaviour_t::EMPTY); }
24 0 SECTION("undef SV") { Test::assign(o, vars.undef, behaviour_t::EMPTY); }
24 0 SECTION("undef SV") { Test::assign(o, vars.undef, behaviour_t::EMPTY); }
2 22 SECTION("undef SV") { Test::assign(o, vars.undef, behaviour_t::EMPTY); }
2 0 SECTION("undef SV") { Test::assign(o, vars.undef, behaviour_t::EMPTY); }
41 24 0 SECTION("number SV") { Test::assign(o, vars.iv, behaviour_t::THROWS); }
24 0 SECTION("number SV") { Test::assign(o, vars.iv, behaviour_t::THROWS); }
24 0 SECTION("number SV") { Test::assign(o, vars.iv, behaviour_t::THROWS); }
24 0 SECTION("number SV") { Test::assign(o, vars.iv, behaviour_t::THROWS); }
2 22 SECTION("number SV") { Test::assign(o, vars.iv, behaviour_t::THROWS); }
2 0 SECTION("number SV") { Test::assign(o, vars.iv, behaviour_t::THROWS); }
42 24 0 SECTION("string SV") { Test::assign(o, vars.pv, behaviour_t::THROWS); }
24 0 SECTION("string SV") { Test::assign(o, vars.pv, behaviour_t::THROWS); }
24 0 SECTION("string SV") { Test::assign(o, vars.pv, behaviour_t::THROWS); }
24 0 SECTION("string SV") { Test::assign(o, vars.pv, behaviour_t::THROWS); }
2 22 SECTION("string SV") { Test::assign(o, vars.pv, behaviour_t::THROWS); }
2 0 SECTION("string SV") { Test::assign(o, vars.pv, behaviour_t::THROWS); }
43 24 0 SECTION("RV") { Test::assign(o, vars.rv, behaviour_t::THROWS); }
24 0 SECTION("RV") { Test::assign(o, vars.rv, behaviour_t::THROWS); }
24 0 SECTION("RV") { Test::assign(o, vars.rv, behaviour_t::THROWS); }
24 0 SECTION("RV") { Test::assign(o, vars.rv, behaviour_t::THROWS); }
2 22 SECTION("RV") { Test::assign(o, vars.rv, behaviour_t::THROWS); }
2 0 SECTION("RV") { Test::assign(o, vars.rv, behaviour_t::THROWS); }
44 24 0 SECTION("AV") { Test::assign(o, (SV*)vars.av, behaviour_t::THROWS); }
24 0 SECTION("AV") { Test::assign(o, (SV*)vars.av, behaviour_t::THROWS); }
24 0 SECTION("AV") { Test::assign(o, (SV*)vars.av, behaviour_t::THROWS); }
24 0 SECTION("AV") { Test::assign(o, (SV*)vars.av, behaviour_t::THROWS); }
2 22 SECTION("AV") { Test::assign(o, (SV*)vars.av, behaviour_t::THROWS); }
2 0 SECTION("AV") { Test::assign(o, (SV*)vars.av, behaviour_t::THROWS); }
45 24 0 SECTION("HV") { Test::assign(o, (SV*)vars.hv, behaviour_t::THROWS); }
24 0 SECTION("HV") { Test::assign(o, (SV*)vars.hv, behaviour_t::THROWS); }
24 0 SECTION("HV") { Test::assign(o, (SV*)vars.hv, behaviour_t::THROWS); }
24 0 SECTION("HV") { Test::assign(o, (SV*)vars.hv, behaviour_t::THROWS); }
2 22 SECTION("HV") { Test::assign(o, (SV*)vars.hv, behaviour_t::THROWS); }
2 0 SECTION("HV") { Test::assign(o, (SV*)vars.hv, behaviour_t::THROWS); }
46 24 0 SECTION("OHV") { Test::assign(o, (SV*)vars.ohv, behaviour_t::THROWS); }
24 0 SECTION("OHV") { Test::assign(o, (SV*)vars.ohv, behaviour_t::THROWS); }
24 0 SECTION("OHV") { Test::assign(o, (SV*)vars.ohv, behaviour_t::THROWS); }
24 0 SECTION("OHV") { Test::assign(o, (SV*)vars.ohv, behaviour_t::THROWS); }
2 22 SECTION("OHV") { Test::assign(o, (SV*)vars.ohv, behaviour_t::THROWS); }
2 0 SECTION("OHV") { Test::assign(o, (SV*)vars.ohv, behaviour_t::THROWS); }
47 24 0 SECTION("SHV") { Test::assign(o, (SV*)vars.stash, behaviour_t::THROWS); }
24 0 SECTION("SHV") { Test::assign(o, (SV*)vars.stash, behaviour_t::THROWS); }
24 0 SECTION("SHV") { Test::assign(o, (SV*)vars.stash, behaviour_t::THROWS); }
24 0 SECTION("SHV") { Test::assign(o, (SV*)vars.stash, behaviour_t::THROWS); }
2 22 SECTION("SHV") { Test::assign(o, (SV*)vars.stash, behaviour_t::THROWS); }
2 0 SECTION("SHV") { Test::assign(o, (SV*)vars.stash, behaviour_t::THROWS); }
48 24 0 SECTION("CV") { Test::assign(o, (SV*)vars.cv, behaviour_t::THROWS); }
24 0 SECTION("CV") { Test::assign(o, (SV*)vars.cv, behaviour_t::THROWS); }
24 0 SECTION("CV") { Test::assign(o, (SV*)vars.cv, behaviour_t::THROWS); }
24 0 SECTION("CV") { Test::assign(o, (SV*)vars.cv, behaviour_t::THROWS); }
2 22 SECTION("CV") { Test::assign(o, (SV*)vars.cv, behaviour_t::THROWS); }
2 0 SECTION("CV") { Test::assign(o, (SV*)vars.cv, behaviour_t::THROWS); }
49 24 0 SECTION("GV") { Test::assign(o, (SV*)vars.iog, behaviour_t::VALID, vars.io); }
24 0 SECTION("GV") { Test::assign(o, (SV*)vars.iog, behaviour_t::VALID, vars.io); }
24 0 SECTION("GV") { Test::assign(o, (SV*)vars.iog, behaviour_t::VALID, vars.io); }
24 0 SECTION("GV") { Test::assign(o, (SV*)vars.iog, behaviour_t::VALID, vars.io); }
2 22 SECTION("GV") { Test::assign(o, (SV*)vars.iog, behaviour_t::VALID, vars.io); }
2 0 SECTION("GV") { Test::assign(o, (SV*)vars.iog, behaviour_t::VALID, vars.io); }
50 24 0 SECTION("R-GV") { Test::assign(o, (SV*)vars.iogr, behaviour_t::VALID, vars.io); }
24 0 SECTION("R-GV") { Test::assign(o, (SV*)vars.iogr, behaviour_t::VALID, vars.io); }
24 0 SECTION("R-GV") { Test::assign(o, (SV*)vars.iogr, behaviour_t::VALID, vars.io); }
24 0 SECTION("R-GV") { Test::assign(o, (SV*)vars.iogr, behaviour_t::VALID, vars.io); }
2 22 SECTION("R-GV") { Test::assign(o, (SV*)vars.iogr, behaviour_t::VALID, vars.io); }
2 0 SECTION("R-GV") { Test::assign(o, (SV*)vars.iogr, behaviour_t::VALID, vars.io); }
51 24 0 SECTION("IO") { Test::assign(o, (SV*)vars.io, behaviour_t::VALID); }
24 0 SECTION("IO") { Test::assign(o, (SV*)vars.io, behaviour_t::VALID); }
24 0 SECTION("IO") { Test::assign(o, (SV*)vars.io, behaviour_t::VALID); }
24 0 SECTION("IO") { Test::assign(o, (SV*)vars.io, behaviour_t::VALID); }
2 22 SECTION("IO") { Test::assign(o, (SV*)vars.io, behaviour_t::VALID); }
2 0 SECTION("IO") { Test::assign(o, (SV*)vars.io, behaviour_t::VALID); }
53 42 0 SECTION("GV") { Test::assign(o, vars.iog, behaviour_t::VALID, vars.io); }
42 0 SECTION("GV") { Test::assign(o, vars.iog, behaviour_t::VALID, vars.io); }
42 0 SECTION("GV") { Test::assign(o, vars.iog, behaviour_t::VALID, vars.io); }
42 0 SECTION("GV") { Test::assign(o, vars.iog, behaviour_t::VALID, vars.io); }
2 40 SECTION("GV") { Test::assign(o, vars.iog, behaviour_t::VALID, vars.io); }
2 0 SECTION("GV") { Test::assign(o, vars.iog, behaviour_t::VALID, vars.io); }
54 42 0 SECTION("R-GV") { Test::assign(o, vars.iogr, behaviour_t::VALID, vars.io); }
42 0 SECTION("R-GV") { Test::assign(o, vars.iogr, behaviour_t::VALID, vars.io); }
42 0 SECTION("R-GV") { Test::assign(o, vars.iogr, behaviour_t::VALID, vars.io); }
42 0 SECTION("R-GV") { Test::assign(o, vars.iogr, behaviour_t::VALID, vars.io); }
2 40 SECTION("R-GV") { Test::assign(o, vars.iogr, behaviour_t::VALID, vars.io); }
2 0 SECTION("R-GV") { Test::assign(o, vars.iogr, behaviour_t::VALID, vars.io); }
55 42 0 SECTION("IO") { Test::assign(o, vars.io, behaviour_t::VALID); }
42 0 SECTION("IO") { Test::assign(o, vars.io, behaviour_t::VALID); }
42 0 SECTION("IO") { Test::assign(o, vars.io, behaviour_t::VALID); }
42 0 SECTION("IO") { Test::assign(o, vars.io, behaviour_t::VALID); }
2 40 SECTION("IO") { Test::assign(o, vars.io, behaviour_t::VALID); }
2 0 SECTION("IO") { Test::assign(o, vars.io, behaviour_t::VALID); }
56 42 0 SECTION("Glob") { Test::assign(o, my, behaviour_t::VALID); }
42 0 SECTION("Glob") { Test::assign(o, my, behaviour_t::VALID); }
42 0 SECTION("Glob") { Test::assign(o, my, behaviour_t::VALID); }
42 0 SECTION("Glob") { Test::assign(o, my, behaviour_t::VALID); }
4 38 SECTION("Glob") { Test::assign(o, my, behaviour_t::VALID); }
4 0 SECTION("Glob") { Test::assign(o, my, behaviour_t::VALID); }
57 42 0 SECTION("valid Sv") { Test::assign(o, oth_valid, behaviour_t::VALID); }
42 0 SECTION("valid Sv") { Test::assign(o, oth_valid, behaviour_t::VALID); }
42 0 SECTION("valid Sv") { Test::assign(o, oth_valid, behaviour_t::VALID); }
42 0 SECTION("valid Sv") { Test::assign(o, oth_valid, behaviour_t::VALID); }
4 38 SECTION("valid Sv") { Test::assign(o, oth_valid, behaviour_t::VALID); }
4 0 SECTION("valid Sv") { Test::assign(o, oth_valid, behaviour_t::VALID); }
58 42 0 SECTION("invalid Sv") { Test::assign(o, oth_invalid, behaviour_t::THROWS); }
42 0 SECTION("invalid Sv") { Test::assign(o, oth_invalid, behaviour_t::THROWS); }
42 0 SECTION("invalid Sv") { Test::assign(o, oth_invalid, behaviour_t::THROWS); }
42 0 SECTION("invalid Sv") { Test::assign(o, oth_invalid, behaviour_t::THROWS); }
4 38 SECTION("invalid Sv") { Test::assign(o, oth_invalid, behaviour_t::THROWS); }
4 0 SECTION("invalid Sv") { Test::assign(o, oth_invalid, behaviour_t::THROWS); }
61 83 0 SECTION("set") {
83 0 SECTION("set") {
83 0 SECTION("set") {
83 0 SECTION("set") {
1 82 SECTION("set") {
64 1 0 o.set(vars.iv); // no checks
65 1 0 REQUIRE(o);
1 0 REQUIRE(o);
1 0 REQUIRE(o);
1 0 REQUIRE(o);
0 0 REQUIRE(o);
0 0 REQUIRE(o);
66 1 0 REQUIRE(SvREFCNT(vars.iv) == cnt+1);
1 0 REQUIRE(SvREFCNT(vars.iv) == cnt+1);
1 0 REQUIRE(SvREFCNT(vars.iv) == cnt+1);
1 0 REQUIRE(SvREFCNT(vars.iv) == cnt+1);
1 0 REQUIRE(SvREFCNT(vars.iv) == cnt+1);
0 0 REQUIRE(SvREFCNT(vars.iv) == cnt+1);
0 0 REQUIRE(SvREFCNT(vars.iv) == cnt+1);
67 1 0 REQUIRE(o.get() == vars.iv);
1 0 REQUIRE(o.get() == vars.iv);
1 0 REQUIRE(o.get() == vars.iv);
1 0 REQUIRE(o.get() == vars.iv);
1 0 REQUIRE(o.get() == vars.iv);
0 0 REQUIRE(o.get() == vars.iv);
0 0 REQUIRE(o.get() == vars.iv);
70 83 0 SECTION("cast") {
83 0 SECTION("cast") {
83 0 SECTION("cast") {
83 0 SECTION("cast") {
2 81 SECTION("cast") {
71 2 0 Io o(vars.iogr);
73 2 0 SECTION("to SV") {
2 0 SECTION("to SV") {
2 0 SECTION("to SV") {
2 0 SECTION("to SV") {
1 1 SECTION("to SV") {
75 1 0 REQUIRE(sv == (SV*)vars.io);
1 0 REQUIRE(sv == (SV*)vars.io);
1 0 REQUIRE(sv == (SV*)vars.io);
1 0 REQUIRE(sv == (SV*)vars.io);
1 0 REQUIRE(sv == (SV*)vars.io);
0 0 REQUIRE(sv == (SV*)vars.io);
0 0 REQUIRE(sv == (SV*)vars.io);
76 1 0 REQUIRE(SvREFCNT(vars.io) == rcnt);
1 0 REQUIRE(SvREFCNT(vars.io) == rcnt);
1 0 REQUIRE(SvREFCNT(vars.io) == rcnt);
1 0 REQUIRE(SvREFCNT(vars.io) == rcnt);
1 0 REQUIRE(SvREFCNT(vars.io) == rcnt);
0 0 REQUIRE(SvREFCNT(vars.io) == rcnt);
0 0 REQUIRE(SvREFCNT(vars.io) == rcnt);
78 2 0 SECTION("to IO") {
2 0 SECTION("to IO") {
2 0 SECTION("to IO") {
2 0 SECTION("to IO") {
1 1 SECTION("to IO") {
80 1 0 REQUIRE(sv == vars.io);
1 0 REQUIRE(sv == vars.io);
1 0 REQUIRE(sv == vars.io);
1 0 REQUIRE(sv == vars.io);
1 0 REQUIRE(sv == vars.io);
0 0 REQUIRE(sv == vars.io);
0 0 REQUIRE(sv == vars.io);
81 1 0 REQUIRE(SvREFCNT(vars.io) == rcnt);
1 0 REQUIRE(SvREFCNT(vars.io) == rcnt);
1 0 REQUIRE(SvREFCNT(vars.io) == rcnt);
1 0 REQUIRE(SvREFCNT(vars.io) == rcnt);
1 0 REQUIRE(SvREFCNT(vars.io) == rcnt);
0 0 REQUIRE(SvREFCNT(vars.io) == rcnt);
0 0 REQUIRE(SvREFCNT(vars.io) == rcnt);
85 83 0 SECTION("get") {
83 0 SECTION("get") {
83 0 SECTION("get") {
83 0 SECTION("get") {
1 82 SECTION("get") {
86 1 0 Io o(vars.iog);
88 1 0 REQUIRE(o.get<>() == (SV*)vars.io);
1 0 REQUIRE(o.get<>() == (SV*)vars.io);
1 0 REQUIRE(o.get<>() == (SV*)vars.io);
1 0 REQUIRE(o.get<>() == (SV*)vars.io);
1 0 REQUIRE(o.get<>() == (SV*)vars.io);
0 0 REQUIRE(o.get<>() == (SV*)vars.io);
0 0 REQUIRE(o.get<>() == (SV*)vars.io);
89 1 0 REQUIRE(o.get() == (SV*)vars.io);
1 0 REQUIRE(o.get() == (SV*)vars.io);
1 0 REQUIRE(o.get() == (SV*)vars.io);
1 0 REQUIRE(o.get() == (SV*)vars.io);
1 0 REQUIRE(o.get() == (SV*)vars.io);
0 0 REQUIRE(o.get() == (SV*)vars.io);
0 0 REQUIRE(o.get() == (SV*)vars.io);
90 1 0 REQUIRE(o.get() == vars.io);
1 0 REQUIRE(o.get() == vars.io);
1 0 REQUIRE(o.get() == vars.io);
1 0 REQUIRE(o.get() == vars.io);
1 0 REQUIRE(o.get() == vars.io);
0 0 REQUIRE(o.get() == vars.io);
0 0 REQUIRE(o.get() == vars.io);
91 1 0 REQUIRE(SvREFCNT(vars.io) == rcnt);
1 0 REQUIRE(SvREFCNT(vars.io) == rcnt);
1 0 REQUIRE(SvREFCNT(vars.io) == rcnt);
1 0 REQUIRE(SvREFCNT(vars.io) == rcnt);
1 0 REQUIRE(SvREFCNT(vars.io) == rcnt);
0 0 REQUIRE(SvREFCNT(vars.io) == rcnt);
0 0 REQUIRE(SvREFCNT(vars.io) == rcnt);
94 83 0 SECTION("fileno") {
83 0 SECTION("fileno") {
83 0 SECTION("fileno") {
83 0 SECTION("fileno") {
1 82 SECTION("fileno") {
95 1 0 Io o(eval_pv("*STDIN{IO}", 1));
1 0 Io o(eval_pv("*STDIN{IO}", 1));
96 1 0 CHECK(o.fileno() == 0);
1 0 CHECK(o.fileno() == 0);
1 0 CHECK(o.fileno() == 0);
1 0 CHECK(o.fileno() == 0);
1 0 CHECK(o.fileno() == 0);
1 0 CHECK(o.fileno() == 0);
0 0 CHECK(o.fileno() == 0);
0 0 CHECK(o.fileno() == 0);
97 1 0 o = eval_pv("*STDOUT{IO}", 1);
1 0 o = eval_pv("*STDOUT{IO}", 1);
98 1 0 CHECK(o.fileno() == 1);
1 0 CHECK(o.fileno() == 1);
1 0 CHECK(o.fileno() == 1);
1 0 CHECK(o.fileno() == 1);
1 0 CHECK(o.fileno() == 1);
1 0 CHECK(o.fileno() == 1);
0 0 CHECK(o.fileno() == 1);
0 0 CHECK(o.fileno() == 1);
99 1 0 o = eval_pv("*STDERR{IO}", 1);
1 0 o = eval_pv("*STDERR{IO}", 1);
100 1 0 CHECK(o.fileno() == 2);
1 0 CHECK(o.fileno() == 2);
1 0 CHECK(o.fileno() == 2);
1 0 CHECK(o.fileno() == 2);
1 0 CHECK(o.fileno() == 2);
1 0 CHECK(o.fileno() == 2);
0 0 CHECK(o.fileno() == 2);
0 0 CHECK(o.fileno() == 2);
103 83 0 SECTION("iotype") {
83 0 SECTION("iotype") {
83 0 SECTION("iotype") {
83 0 SECTION("iotype") {
1 82 SECTION("iotype") {
104 1 0 Io o(eval_pv("*STDIN{IO}", 1));
1 0 Io o(eval_pv("*STDIN{IO}", 1));
105 1 0 CHECK(o.iotype() == IoTYPE_RDONLY);
1 0 CHECK(o.iotype() == IoTYPE_RDONLY);
1 0 CHECK(o.iotype() == IoTYPE_RDONLY);
1 0 CHECK(o.iotype() == IoTYPE_RDONLY);
1 0 CHECK(o.iotype() == IoTYPE_RDONLY);
0 0 CHECK(o.iotype() == IoTYPE_RDONLY);
0 0 CHECK(o.iotype() == IoTYPE_RDONLY);
106 1 0 o = eval_pv("*STDOUT{IO}", 1);
1 0 o = eval_pv("*STDOUT{IO}", 1);
107 1 0 CHECK(o.iotype() == IoTYPE_WRONLY);
1 0 CHECK(o.iotype() == IoTYPE_WRONLY);
1 0 CHECK(o.iotype() == IoTYPE_WRONLY);
1 0 CHECK(o.iotype() == IoTYPE_WRONLY);
1 0 CHECK(o.iotype() == IoTYPE_WRONLY);
0 0 CHECK(o.iotype() == IoTYPE_WRONLY);
0 0 CHECK(o.iotype() == IoTYPE_WRONLY);
109 34 0 }
34 0 }