chiark / gitweb /
v0.06
[nailing-cargo.git] / t / toml-test / valid / implicit-and-explicit-before.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                'a' => {
16                         'b' => {
17                                  'c' => {
18                                           'answer' => bless( {
19                                                                'code' => sub {
20                                                                              BEGIN {${^WARNING_BITS} = "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x15\x00\x04\x40\x05\x04\x54"}
21                                                                              use strict;
22                                                                              no feature ':all';
23                                                                              use feature ':5.16';
24                                                                              require Math::BigInt;
25                                                                              'Math::BigInt'->new('42')->beq($_);
26                                                                          },
27                                                                '_file' => '(eval 397)',
28                                                                'operator' => 'CODE(...)',
29                                                                'name' => '<Custom Code>',
30                                                                '_lines' => [
31                                                                              6
32                                                                            ]
33                                                              }, 'Test2::Compare::Custom' )
34                                         }
35                                },
36                         'better' => bless( {
37                                              '_lines' => [
38                                                            6
39                                                          ],
40                                              'operator' => 'CODE(...)',
41                                              'name' => '<Custom Code>',
42                                              '_file' => '(eval 396)',
43                                              'code' => sub {
44                                                            BEGIN {${^WARNING_BITS} = "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x15\x00\x04\x40\x05\x04\x54"}
45                                                            use strict;
46                                                            no feature ':all';
47                                                            use feature ':5.16';
48                                                            require Math::BigInt;
49                                                            'Math::BigInt'->new('43')->beq($_);
50                                                        }
51                                            }, 'Test2::Compare::Custom' )
52                       }
53              };
54
55
56 my $actual = from_toml(q{[a]
57 better = 43
58
59 [a.b.c]
60 answer = 42
61 });
62
63 is($actual, $expected1, 'implicit-and-explicit-before - from_toml') or do{
64   diag 'EXPECTED:';
65   diag Dumper($expected1);
66
67   diag 'ACTUAL:';
68   diag Dumper($actual);
69 };
70
71 is(eval{ from_toml(to_toml($actual)) }, $actual, 'implicit-and-explicit-before - to_toml') or do{
72   diag 'INPUT:';
73   diag Dumper($actual);
74
75   diag 'TOML OUTPUT:';
76   diag to_toml($actual);
77
78   diag 'REPARSED OUTPUT:';
79   diag Dumper(from_toml(to_toml($actual)));
80 };
81
82 done_testing;