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