chiark / gitweb /
82602e2576524a8fb1d1ee717f206c3a0bb2db81
[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 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                                                                '_file' => '(eval 396)',
16                                                                'code' => sub {
17                                                                              BEGIN {${^WARNING_BITS} = "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x15\x00\x04\x40\x05\x04\x54"}
18                                                                              use strict;
19                                                                              no feature ':all';
20                                                                              use feature ':5.16';
21                                                                              require Math::BigInt;
22                                                                              'Math::BigInt'->new('42')->beq($_);
23                                                                          },
24                                                                '_lines' => [
25                                                                              6
26                                                                            ],
27                                                                'operator' => 'CODE(...)',
28                                                                'name' => '<Custom Code>'
29                                                              }, 'Test2::Compare::Custom' )
30                                         }
31                                },
32                         'better' => bless( {
33                                              '_file' => '(eval 397)',
34                                              'code' => sub {
35                                                            BEGIN {${^WARNING_BITS} = "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x15\x00\x04\x40\x05\x04\x54"}
36                                                            use strict;
37                                                            no feature ':all';
38                                                            use feature ':5.16';
39                                                            require Math::BigInt;
40                                                            'Math::BigInt'->new('43')->beq($_);
41                                                        },
42                                              '_lines' => [
43                                                            6
44                                                          ],
45                                              'operator' => 'CODE(...)',
46                                              'name' => '<Custom Code>'
47                                            }, 'Test2::Compare::Custom' )
48                       }
49              };
50
51
52 my $actual = from_toml(q{[a]
53 better = 43
54
55 [a.b.c]
56 answer = 42
57 });
58
59 is($actual, $expected1, 'implicit-and-explicit-before - 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-before - 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;