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