File: xe19_xs_and_suportbypp.t

package info (click to toggle)
libjson-perl 4.02000-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 600 kB
  • sloc: perl: 1,958; makefile: 2
file content (33 lines) | stat: -rw-r--r-- 646 bytes parent folder | download | duplicates (2)
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
# https://rt.cpan.org/Public/Bug/Display.html?id=52847

use strict;
use Test::More;

BEGIN { plan tests => 2 };
BEGIN { $ENV{PERL_JSON_BACKEND} ||= 1; }

use JSON -support_by_pp;

SKIP: {
    skip "can't use JSON::XS.", 2, unless( JSON->backend->is_xs );

    my $json = JSON->new->allow_barekey;

note explain test($json, q!{foo:"foo"}!);
    for (1..2) {
        is_deeply( test($json, q!{foo:"foo"}!   ), {foo=>'foo'} );
        JSON->new->allow_singlequote(0);
    }
}


sub test {
    my ($coder, $str) = @_;
    my $rv;
    return $rv if eval { $rv = $coder->decode($str); 1 };
    chomp( my $e = $@ );
    return "died with \"$e\"";
};