Commit | Line | Data |
---|---|---|
fa421ef9 CS |
1 | #!./perl |
2 | # Test for malfunctions of utf8 cache | |
3 | ||
4 | BEGIN { | |
5 | chdir 't' if -d 't'; | |
6 | @INC = '../lib'; | |
7 | } | |
8 | ||
9 | unless (eval { require Devel::Peek }) { | |
10 | print "# Without Devel::Peek, never mind\n"; | |
11 | print "1..0\n"; | |
12 | exit; | |
13 | } | |
14 | print "1..1\n"; | |
15 | ||
16 | my $pid = open CHILD, '-|'; | |
17 | die "kablam: $!\n" unless defined $pid; | |
18 | unless ($pid) { | |
19 | open STDERR, ">&STDOUT"; | |
20 | $a = "hello \x{1234}"; | |
21 | for (1..2) { | |
22 | bar(substr($a, $_, 1)); | |
23 | } | |
24 | sub bar { | |
25 | $_[0] = "\x{4321}"; | |
26 | Devel::Peek::Dump($_[0]); | |
27 | } | |
28 | exit; | |
29 | } | |
30 | ||
31 | { local $/; $_ = <CHILD> } | |
32 | ||
33 | my $utf8magic = qr{ ^ \s+ MAGIC \s = .* \n | |
34 | \s+ MG_VIRTUAL \s = .* \n | |
35 | \s+ MG_TYPE \s = \s PERL_MAGIC_utf8 .* \n | |
36 | \s+ MG_LEN \s = .* \n }xm; | |
37 | ||
38 | if (m{ $utf8magic $utf8magic }x) { | |
39 | print "not "; | |
40 | } | |
41 | print "ok 1\n"; |