File: 20_de.t

package info (click to toggle)
libdata-messagepack-perl 1.02-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,060 kB
  • sloc: ansic: 5,697; perl: 1,123; makefile: 10
file content (33 lines) | stat: -rw-r--r-- 783 bytes parent folder | download | duplicates (7)
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
#!perl
# from Data::Encoder's msgpack driver tests
use strict;
use warnings;
use Config;
use if $Config{nvsize} > 8,
    'Test::More', skip_all => 'long double is not supported';
use Test::More;
use Data::MessagePack;

sub d {
    my($dm, $value) = @_;
    my $binary = $dm->encode($value);
    diag('binary: ', join ' ',
        map { sprintf '%02X', ord $_ } split //, $binary);
}

my $dm = Data::MessagePack->new(
    utf8           => 1,
    prefer_integer => 1,
    canonical      => 1,
);

my $d = { a => 0.11, b => "\x{3042}" };

is_deeply $dm->decode( $dm->encode($d) ), $d;

is $dm->decode( $dm->encode(0.1) ),   0.1   or d($dm, 0.1);
is $dm->decode( $dm->encode(0.11) ),  0.11  or d($dm, 0.11);
is $dm->decode( $dm->encode(0.111) ), 0.111 or d($dm, 0.111);

done_testing;