File: 10_error_dumper.t

package info (click to toggle)
libdancer-perl 1.3521%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 2,460 kB
  • sloc: perl: 7,436; xml: 2,211; sh: 54; makefile: 32; sql: 5
file content (49 lines) | stat: -rw-r--r-- 818 bytes parent folder | download | duplicates (5)
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
use strict;
use warnings;

use Test::More;
use Dancer::Error;
use Dancer::ModuleLoader;

plan tests => 5;

my $error_obj = Dancer::Error->new(
    code => '404',
    pass => 'secret',
    deep => {
        pass => 'secret'
    },
);

isa_ok( $error_obj, 'Dancer::Error' );

my $censored = $error_obj->dumper;

like(
    $censored,
    qr/\QNote: Values of 2 sensitive-looking keys hidden\E/,
    'Data was censored in the output',
);

is(
    $error_obj->{'pass'},
    'secret',
    'Original data was not overwritten',
);

is(
    $error_obj->{'deep'}{'pass'},
    'secret',
    'Censoring of complex data structures works fine',
);

my %recursive;
$recursive{foo}{bar}{baz}  = 1;
$recursive{foo}{bar}{oops} = $recursive{foo};

$censored = Dancer::Error::_censor( \%recursive );

pass "recursive censored hash";

1;