chiark / gitweb /
7e9308ad7b744577e0c8d8396e91953b79b1fa33
[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 TOML::Tiny;
6
7 binmode STDIN,  ':encoding(UTF-8)';
8 binmode STDOUT, ':encoding(UTF-8)';
9
10 my $expected1 = {
11                'before' => bless( {
12                                     '_file' => '(eval 393)',
13                                     'code' => sub {
14                                                   BEGIN {${^WARNING_BITS} = "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x15\x00\x04\x40\x05\x04\x54"}
15                                                   use strict;
16                                                   no feature ':all';
17                                                   use feature ':5.16';
18                                                   require Math::BigFloat;
19                                                   'Math::BigFloat'->new('3141.5927')->beq($_);
20                                               },
21                                     '_lines' => [
22                                                   6
23                                                 ],
24                                     'name' => '<Custom Code>',
25                                     'operator' => 'CODE(...)'
26                                   }, 'Test2::Compare::Custom' ),
27                'after' => bless( {
28                                    '_lines' => [
29                                                  6
30                                                ],
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('3141.5927')->beq($_);
38                                              },
39                                    'operator' => 'CODE(...)',
40                                    'name' => '<Custom Code>',
41                                    '_file' => '(eval 392)'
42                                  }, 'Test2::Compare::Custom' ),
43                'exponent' => bless( {
44                                       '_file' => '(eval 391)',
45                                       'operator' => 'CODE(...)',
46                                       'name' => '<Custom Code>',
47                                       'code' => sub {
48                                                     BEGIN {${^WARNING_BITS} = "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x15\x00\x04\x40\x05\x04\x54"}
49                                                     use strict;
50                                                     no feature ':all';
51                                                     use feature ':5.16';
52                                                     require Math::BigFloat;
53                                                     'Math::BigFloat'->new('3e14')->beq($_);
54                                                 },
55                                       '_lines' => [
56                                                     6
57                                                   ]
58                                     }, 'Test2::Compare::Custom' )
59              };
60
61
62 my $actual = from_toml(q{before = 3_141.5927
63 after = 3141.592_7
64 exponent = 3e1_4
65 });
66
67 is($actual, $expected1, 'float-underscore - from_toml') or do{
68   diag 'EXPECTED:';
69   diag Dumper($expected1);
70
71   diag 'ACTUAL:';
72   diag Dumper($actual);
73 };
74
75 is(eval{ from_toml(to_toml($actual)) }, $actual, 'float-underscore - to_toml') or do{
76   diag 'INPUT:';
77   diag Dumper($actual);
78
79   diag 'TOML OUTPUT:';
80   diag to_toml($actual);
81
82   diag 'REPARSED OUTPUT:';
83   diag Dumper(from_toml(to_toml($actual)));
84 };
85
86 done_testing;