chiark / gitweb /
8d7cc4aa05525f94376f410e10a26a4eb3e24bf4
[nailing-cargo.git] / t / toml-test / valid / arrays-hetergeneous.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                'mixed' => [
12                             [
13                               bless( {
14                                        'name' => '<Custom Code>',
15                                        'operator' => 'CODE(...)',
16                                        '_lines' => [
17                                                      6
18                                                    ],
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('1')->beq($_);
26                                                  },
27                                        '_file' => '(eval 362)'
28                                      }, 'Test2::Compare::Custom' ),
29                               bless( {
30                                        'name' => '<Custom Code>',
31                                        'operator' => 'CODE(...)',
32                                        '_lines' => [
33                                                      6
34                                                    ],
35                                        'code' => sub {
36                                                      BEGIN {${^WARNING_BITS} = "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x15\x00\x04\x40\x05\x04\x54"}
37                                                      use strict;
38                                                      no feature ':all';
39                                                      use feature ':5.16';
40                                                      require Math::BigInt;
41                                                      'Math::BigInt'->new('2')->beq($_);
42                                                  },
43                                        '_file' => '(eval 363)'
44                                      }, 'Test2::Compare::Custom' )
45                             ],
46                             [
47                               'a',
48                               'b'
49                             ],
50                             [
51                               bless( {
52                                        '_file' => '(eval 364)',
53                                        'name' => '<Custom Code>',
54                                        'operator' => 'CODE(...)',
55                                        '_lines' => [
56                                                      6
57                                                    ],
58                                        'code' => sub {
59                                                      BEGIN {${^WARNING_BITS} = "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x15\x00\x04\x40\x05\x04\x54"}
60                                                      use strict;
61                                                      no feature ':all';
62                                                      use feature ':5.16';
63                                                      require Math::BigFloat;
64                                                      'Math::BigFloat'->new('1.1')->beq($_);
65                                                  }
66                                      }, 'Test2::Compare::Custom' ),
67                               bless( {
68                                        'code' => sub {
69                                                      BEGIN {${^WARNING_BITS} = "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x15\x00\x04\x40\x05\x04\x54"}
70                                                      use strict;
71                                                      no feature ':all';
72                                                      use feature ':5.16';
73                                                      require Math::BigFloat;
74                                                      'Math::BigFloat'->new('2.1')->beq($_);
75                                                  },
76                                        '_lines' => [
77                                                      6
78                                                    ],
79                                        'operator' => 'CODE(...)',
80                                        'name' => '<Custom Code>',
81                                        '_file' => '(eval 365)'
82                                      }, 'Test2::Compare::Custom' )
83                             ]
84                           ]
85              };
86
87
88 my $actual = from_toml(q{mixed = [[1, 2], ["a", "b"], [1.1, 2.1]]
89 });
90
91 is($actual, $expected1, 'arrays-hetergeneous - from_toml') or do{
92   diag 'EXPECTED:';
93   diag Dumper($expected1);
94
95   diag 'ACTUAL:';
96   diag Dumper($actual);
97 };
98
99 is(eval{ from_toml(to_toml($actual)) }, $actual, 'arrays-hetergeneous - to_toml') or do{
100   diag 'INPUT:';
101   diag Dumper($actual);
102
103   diag 'TOML OUTPUT:';
104   diag to_toml($actual);
105
106   diag 'REPARSED OUTPUT:';
107   diag Dumper(from_toml(to_toml($actual)));
108 };
109
110 done_testing;