1f3efcd01Safresh1use strict; 2f3efcd01Safresh1use warnings; 3f3efcd01Safresh1 4f3efcd01Safresh1use Test2::API qw/intercept/; 5f3efcd01Safresh1use Test::More; 6f3efcd01Safresh1 7f3efcd01Safresh1my @values = ( 8f3efcd01Safresh1 0, # false but defined -> inconsistent 9f3efcd01Safresh1 0.0, # false but defined -> inconsistent 10f3efcd01Safresh1 "0.0", # true -> TODO 11f3efcd01Safresh1 "this is why", # as expected 12f3efcd01Safresh1); 13f3efcd01Safresh1 14f3efcd01Safresh1for my $value (@values) { 15f3efcd01Safresh1 local $TODO = $value; 16f3efcd01Safresh1 my $x = defined($value) ? "\"$value\"" : 'UNDEF'; 17f3efcd01Safresh1 fail "Testing: $x"; 18f3efcd01Safresh1} 19f3efcd01Safresh1 20*de8cc8edSafresh1my $e = intercept { 21*de8cc8edSafresh1 local $TODO = ""; 22*de8cc8edSafresh1 fail "Testing: '\"\"'"; 23*de8cc8edSafresh1}; 24*de8cc8edSafresh1 25*de8cc8edSafresh1ok(!$e->[0]->effective_pass, "Test was not TODO when set to \"\""); 26*de8cc8edSafresh1like($e->[1]->message, qr/Failed test '/, "Did not add TODO to the diagnostics"); 27*de8cc8edSafresh1 28f3efcd01Safresh1done_testing; 29