chiark / gitweb /
Add 'TOML-Tiny/' from commit 'dab92c92905923c50929c14cc59adadff5b9eedf'
[nailing-cargo.git] / TOML-Tiny / t / toml-test / valid / float.t
1 # File automatically generated from BurntSushi/toml-test
2 use utf8;
3 use Test2::V0;
4 use Data::Dumper;
5 use DateTime;
6 use DateTime::Format::RFC3339;
7 use Math::BigInt;
8 use Math::BigFloat;
9 use TOML::Tiny;
10
11 binmode STDIN,  ':encoding(UTF-8)';
12 binmode STDOUT, ':encoding(UTF-8)';
13
14 my $expected1 = {
15                'zero-intpart' => bless( {
16                                           'code' => sub {
17                                                         BEGIN {${^WARNING_BITS} = "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x15\x00\x04\x40\x05\x04\x54"}
18                                                         use strict;
19                                                         no feature ':all';
20                                                         use feature ':5.16';
21                                                         require Math::BigFloat;
22                                                         'Math::BigFloat'->new('0.123')->beq($_);
23                                                     },
24                                           '_file' => '(eval 383)',
25                                           'name' => '<Custom Code>',
26                                           'operator' => 'CODE(...)',
27                                           '_lines' => [
28                                                         6
29                                                       ]
30                                         }, 'Test2::Compare::Custom' ),
31                'pospi' => bless( {
32                                    'code' => sub {
33                                                  BEGIN {${^WARNING_BITS} = "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x15\x00\x04\x40\x05\x04\x54"}
34                                                  use strict;
35                                                  no feature ':all';
36                                                  use feature ':5.16';
37                                                  require Math::BigFloat;
38                                                  'Math::BigFloat'->new('3.14')->beq($_);
39                                              },
40                                    '_file' => '(eval 382)',
41                                    'name' => '<Custom Code>',
42                                    'operator' => 'CODE(...)',
43                                    '_lines' => [
44                                                  6
45                                                ]
46                                  }, 'Test2::Compare::Custom' ),
47                'negpi' => bless( {
48                                    '_lines' => [
49                                                  6
50                                                ],
51                                    'name' => '<Custom Code>',
52                                    'operator' => 'CODE(...)',
53                                    '_file' => '(eval 381)',
54                                    'code' => sub {
55                                                  BEGIN {${^WARNING_BITS} = "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x15\x00\x04\x40\x05\x04\x54"}
56                                                  use strict;
57                                                  no feature ':all';
58                                                  use feature ':5.16';
59                                                  require Math::BigFloat;
60                                                  'Math::BigFloat'->new('-3.14')->beq($_);
61                                              }
62                                  }, 'Test2::Compare::Custom' ),
63                'pi' => bless( {
64                                 'operator' => 'CODE(...)',
65                                 'name' => '<Custom Code>',
66                                 '_file' => '(eval 380)',
67                                 'code' => sub {
68                                               BEGIN {${^WARNING_BITS} = "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x15\x00\x04\x40\x05\x04\x54"}
69                                               use strict;
70                                               no feature ':all';
71                                               use feature ':5.16';
72                                               require Math::BigFloat;
73                                               'Math::BigFloat'->new('3.14')->beq($_);
74                                           },
75                                 '_lines' => [
76                                               6
77                                             ]
78                               }, 'Test2::Compare::Custom' )
79              };
80
81
82 my $actual = from_toml(q{pi = 3.14
83 pospi = +3.14
84 negpi = -3.14
85 zero-intpart = 0.123
86 });
87
88 is($actual, $expected1, 'float - from_toml') or do{
89   diag 'EXPECTED:';
90   diag Dumper($expected1);
91
92   diag 'ACTUAL:';
93   diag Dumper($actual);
94 };
95
96 is(eval{ from_toml(to_toml($actual)) }, $actual, 'float - to_toml') or do{
97   diag 'INPUT:';
98   diag Dumper($actual);
99
100   diag 'TOML OUTPUT:';
101   diag to_toml($actual);
102
103   diag 'REPARSED OUTPUT:';
104   diag Dumper(from_toml(to_toml($actual)));
105 };
106
107 done_testing;