File: %2301-basics.t%23

package info (click to toggle)
libdata-dmp-perl 0.242-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 184 kB
  • sloc: perl: 357; makefile: 2
file content (85 lines) | stat: -rw-r--r-- 2,135 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#!perl

use 5.010;
use strict;
use warnings;

use Data::Dmp qw(dd dmp dd_ellipsis dmp_ellipsis);
use Test::More 0.98;

# undef
is(dmp(undef), "undef");

# scalar
is(dmp(""), q[""]);
is(dmp("\n "), q["\n "]);
is(dmp("123"), q[123]);
is(dmp("0123"), q["0123"]);
is(dmp("1e2"), q["1e2"]);
is(dmp("Inf"), q["Inf"]);

subtest "OPT_STRINGIFY_NUMBERS=1" => sub {
    local $Data::Dmp::OPT_STRINGIFY_NUMBERS = 1;
    is(dmp("123"), q["123"]);
};

# scalar ref
is(dmp(\1), q[\\1]);

# ref
is(dmp(\\1), q[\\\\1]);

# array
is(dmp([]), q([]));
is(dmp([1,2,3]), q([1,2,3]));

# hash
is(dmp({}), q({}));
is(dmp({"0123"=>3,"1_2"=>4,23=>5,"3000000000"=>6,a=>1,"b c"=>2}),
   q({"0123"=>3,"1_2"=>4,23=>5,"3000000000"=>6,a=>1,"b c"=>2}));
subtest "dumping %+" => sub {
    "abc" =~ /(?<a>a)(?<b>b.*)/;
    is_deeply(dmp(\%+), '{a=>"a",b=>"bc"}');
};

# circular
{
    my $circ = [1]; push @$circ, $circ;
    is(dmp($circ), q(do{my$var=[1,'$var'];$var->[1]=$var;$var}));
    my $circ2 = {a=>$circ}; push @$circ, $circ2;
    is(dmp($circ),
       q(do{my$var=[1,'$var',{a=>'$var'}];$var->[1]=$var;$var->[2]{a}=$var;$var}));
}

# code
like(dmp(sub{my $foo=1}), qr/sub\s*{.*\$foo.*\}/);
subtest "OPT_REMOVE_PRAGMAS=1" => sub {
    local $Data::Dmp::OPT_REMOVE_PRAGMAS = 1;
    is(dmp(sub{}), 'sub{}');
    is(dmp(sub{$_[0]<=>$_[1]}), 'sub{$_[0] <=> $_[1]}');
    is(dmp(sub{ $a = uc($a); $b = uc($b); $a <=> $b; }), 'sub{$a = uc $a;$b = uc $b;$a <=> $b}');
};
subtest "OPT_DEPARSE=0" => sub {
    local $Data::Dmp::OPT_DEPARSE = 0;
    is(dmp(sub{}), 'sub{"DUMMY"}');
};

# XXX test OPT_PERL_VERSION

# object
is(dmp(bless({}, "Foo")), q(bless({},"Foo")));
is(dmp(bless(do{my$o=1;\$o}, "Foo")),     q(bless(do{my$o=1;\\$o},"Foo")));
is(dmp(bless(do{my$o=undef;\$o}, "Foo")), q(bless(do{my$o=undef;\\$o},"Foo")));

# regexp
is(dmp(qr/abc/i), q{qr(abc)i});

subtest "OPT_MAX_DUMP_LEN_BEFORE_ELLIPSIS" => sub {
    local $Data::Dmp::OPT_MAX_DUMP_LEN_BEFORE_ELLIPSIS = 10;
    is(dmp_ellipsis("a23"), q["a23"]);
    is(dmp_ellipsis("a234567890123"), q["a23456789...]);
    is(dmp         ("a234567890123"), q["a234567890123"]);
};

DONE_TESTING:
done_testing;