UnTODO passing tests.
[p5sagit/Devel-Declare.git] / t / quote.t
1 use strict;
2 use warnings;
3 use Test::More tests => 14;
4
5 use Devel::Declare 'method' => sub {};
6
7 sub test_eval;
8
9 TODO: {
10     local $TODO = "dd_ck_const doesn't special-case ops created in quotelike contexts";
11     test_eval 'qq/method/';
12     test_eval '`method`';
13     test_eval 'qx/method/';
14
15 }
16
17 # these ones work OK
18 test_eval 'qr/method/';
19 test_eval '/method/';
20 test_eval 's/method//';
21 test_eval 'tr/method/METHOD/';
22 test_eval 'q/method/';
23 test_eval "'method'";
24 test_eval '"method"';
25 test_eval 'qw/method/';
26 test_eval '<<method;
27 tum ti tum
28 method';
29 test_eval 'no warnings "reserved"; open method, "</dev/null"';
30 test_eval '<method>';
31
32 sub test_eval {
33     my $what = shift;
34     eval $what;
35     ok !$@, "$what" or d($@);
36 }
37 {
38   my %seen;
39   sub d { # diag the error the first time we get it
40     my $err = shift;
41     $err =~s/ at .*$//;
42     $seen{$err}++ or diag $err;
43   }
44 }