chiark / gitweb /
v0.06
[nailing-cargo.git] / t / toml-test / valid / float-underscore.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                'after' => bless( {
16                                    '_file' => '(eval 393)',
17                                    'code' => sub {
18                                                  BEGIN {${^WARNING_BITS} = "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x15\x00\x04\x40\x05\x04\x54"}
19                                                  use strict;
20                                                  no feature ':all';
21                                                  use feature ':5.16';
22                                                  require Math::BigFloat;
23                                                  'Math::BigFloat'->new('3141.5927')->beq($_);
24                                              },
25                                    'name' => '<Custom Code>',
26                                    'operator' => 'CODE(...)',
27                                    '_lines' => [
28                                                  6
29                                                ]
30                                  }, 'Test2::Compare::Custom' ),
31                'before' => bless( {
32                                     '_lines' => [
33                                                   6
34                                                 ],
35                                     'operator' => 'CODE(...)',
36                                     'name' => '<Custom Code>',
37                                     'code' => sub {
38                                                   BEGIN {${^WARNING_BITS} = "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x15\x00\x04\x40\x05\x04\x54"}
39                                                   use strict;
40                                                   no feature ':all';
41                                                   use feature ':5.16';
42                                                   require Math::BigFloat;
43                                                   'Math::BigFloat'->new('3141.5927')->beq($_);
44                                               },
45                                     '_file' => '(eval 392)'
46                                   }, 'Test2::Compare::Custom' ),
47                'exponent' => bless( {
48                                       '_lines' => [
49                                                     6
50                                                   ],
51                                       '_file' => '(eval 391)',
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('3e14')->beq($_);
59                                                 },
60                                       'operator' => 'CODE(...)',
61                                       'name' => '<Custom Code>'
62                                     }, 'Test2::Compare::Custom' )
63              };
64
65
66 my $actual = from_toml(q{before = 3_141.5927
67 after = 3141.592_7
68 exponent = 3e1_4
69 });
70
71 is($actual, $expected1, 'float-underscore - from_toml') or do{
72   diag 'EXPECTED:';
73   diag Dumper($expected1);
74
75   diag 'ACTUAL:';
76   diag Dumper($actual);
77 };
78
79 is(eval{ from_toml(to_toml($actual)) }, $actual, 'float-underscore - to_toml') or do{
80   diag 'INPUT:';
81   diag Dumper($actual);
82
83   diag 'TOML OUTPUT:';
84   diag to_toml($actual);
85
86   diag 'REPARSED OUTPUT:';
87   diag Dumper(from_toml(to_toml($actual)));
88 };
89
90 done_testing;