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