chiark / gitweb /
Move unused dependency to test deps
[nailing-cargo.git] / t / toml-test / valid / float-exponent.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                'lower' => bless( {
16                                    'operator' => 'CODE(...)',
17                                    'name' => '<Custom Code>',
18                                    'code' => sub {
19                                                  BEGIN {${^WARNING_BITS} = "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x15\x00\x04\x40\x05\x04\x54"}
20                                                  use strict;
21                                                  no feature ':all';
22                                                  use feature ':5.16';
23                                                  require Math::BigFloat;
24                                                  'Math::BigFloat'->new('300.0')->beq($_);
25                                              },
26                                    '_file' => '(eval 389)',
27                                    '_lines' => [
28                                                  6
29                                                ]
30                                  }, 'Test2::Compare::Custom' ),
31                'pointupper' => bless( {
32                                         '_lines' => [
33                                                       6
34                                                     ],
35                                         'name' => '<Custom Code>',
36                                         'operator' => 'CODE(...)',
37                                         '_file' => '(eval 390)',
38                                         'code' => sub {
39                                                       BEGIN {${^WARNING_BITS} = "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x15\x00\x04\x40\x05\x04\x54"}
40                                                       use strict;
41                                                       no feature ':all';
42                                                       use feature ':5.16';
43                                                       require Math::BigFloat;
44                                                       'Math::BigFloat'->new('310.0')->beq($_);
45                                                   }
46                                       }, 'Test2::Compare::Custom' ),
47                'upper' => bless( {
48                                    '_lines' => [
49                                                  6
50                                                ],
51                                    '_file' => '(eval 384)',
52                                    'code' => sub {
53                                                  BEGIN {${^WARNING_BITS} = "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x15\x00\x04\x40\x05\x04\x54"}
54                                                  use strict;
55                                                  no feature ':all';
56                                                  use feature ':5.16';
57                                                  require Math::BigFloat;
58                                                  'Math::BigFloat'->new('300.0')->beq($_);
59                                              },
60                                    'name' => '<Custom Code>',
61                                    'operator' => 'CODE(...)'
62                                  }, 'Test2::Compare::Custom' ),
63                'pointlower' => bless( {
64                                         '_lines' => [
65                                                       6
66                                                     ],
67                                         '_file' => '(eval 385)',
68                                         'code' => sub {
69                                                       BEGIN {${^WARNING_BITS} = "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x15\x00\x04\x40\x05\x04\x54"}
70                                                       use strict;
71                                                       no feature ':all';
72                                                       use feature ':5.16';
73                                                       require Math::BigFloat;
74                                                       'Math::BigFloat'->new('310.0')->beq($_);
75                                                   },
76                                         'operator' => 'CODE(...)',
77                                         'name' => '<Custom Code>'
78                                       }, 'Test2::Compare::Custom' ),
79                'zero' => bless( {
80                                   '_lines' => [
81                                                 6
82                                               ],
83                                   'code' => sub {
84                                                 BEGIN {${^WARNING_BITS} = "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x15\x00\x04\x40\x05\x04\x54"}
85                                                 use strict;
86                                                 no feature ':all';
87                                                 use feature ':5.16';
88                                                 require Math::BigFloat;
89                                                 'Math::BigFloat'->new('3.0')->beq($_);
90                                             },
91                                   '_file' => '(eval 387)',
92                                   'name' => '<Custom Code>',
93                                   'operator' => 'CODE(...)'
94                                 }, 'Test2::Compare::Custom' ),
95                'neg' => bless( {
96                                  'operator' => 'CODE(...)',
97                                  'name' => '<Custom Code>',
98                                  'code' => sub {
99                                                BEGIN {${^WARNING_BITS} = "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x15\x00\x04\x40\x05\x04\x54"}
100                                                use strict;
101                                                no feature ':all';
102                                                use feature ':5.16';
103                                                require Math::BigFloat;
104                                                'Math::BigFloat'->new('0.03')->beq($_);
105                                            },
106                                  '_file' => '(eval 386)',
107                                  '_lines' => [
108                                                6
109                                              ]
110                                }, 'Test2::Compare::Custom' ),
111                'pos' => bless( {
112                                  'operator' => 'CODE(...)',
113                                  'name' => '<Custom Code>',
114                                  '_file' => '(eval 388)',
115                                  'code' => sub {
116                                                BEGIN {${^WARNING_BITS} = "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x15\x00\x04\x40\x05\x04\x54"}
117                                                use strict;
118                                                no feature ':all';
119                                                use feature ':5.16';
120                                                require Math::BigFloat;
121                                                'Math::BigFloat'->new('300.0')->beq($_);
122                                            },
123                                  '_lines' => [
124                                                6
125                                              ]
126                                }, 'Test2::Compare::Custom' )
127              };
128
129
130 my $actual = from_toml(q{lower = 3e2
131 upper = 3E2
132 neg = 3e-2
133 pos = 3E+2
134 zero = 3e0
135 pointlower = 3.1e2
136 pointupper = 3.1E2
137 });
138
139 is($actual, $expected1, 'float-exponent - from_toml') or do{
140   diag 'EXPECTED:';
141   diag Dumper($expected1);
142
143   diag 'ACTUAL:';
144   diag Dumper($actual);
145 };
146
147 is(eval{ from_toml(to_toml($actual)) }, $actual, 'float-exponent - to_toml') or do{
148   diag 'INPUT:';
149   diag Dumper($actual);
150
151   diag 'TOML OUTPUT:';
152   diag to_toml($actual);
153
154   diag 'REPARSED OUTPUT:';
155   diag Dumper(from_toml(to_toml($actual)));
156 };
157
158 done_testing;