chiark / gitweb /
v0.06
[nailing-cargo.git] / t / toml-test / valid / datetime-timezone.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                'bestdayever' => bless( {
16                                          '_lines' => [
17                                                        11
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                                                        my $exp = 'DateTime::Format::RFC3339'->parse_datetime('2017-06-06T12:34:56-05:00');
25                                                        my $got = 'DateTime::Format::RFC3339'->parse_datetime($_);
26                                                        $exp->set_time_zone('UTC');
27                                                        $got->set_time_zone('UTC');
28                                                        return 'DateTime'->compare($got, $exp) == 0;
29                                                    },
30                                          '_file' => '(eval 372)',
31                                          'name' => '<Custom Code>',
32                                          'operator' => 'CODE(...)'
33                                        }, 'Test2::Compare::Custom' )
34              };
35
36
37 my $actual = from_toml(q{bestdayever = 2017-06-06T12:34:56-05:00
38 });
39
40 is($actual, $expected1, 'datetime-timezone - from_toml') or do{
41   diag 'EXPECTED:';
42   diag Dumper($expected1);
43
44   diag 'ACTUAL:';
45   diag Dumper($actual);
46 };
47
48 is(eval{ from_toml(to_toml($actual)) }, $actual, 'datetime-timezone - to_toml') or do{
49   diag 'INPUT:';
50   diag Dumper($actual);
51
52   diag 'TOML OUTPUT:';
53   diag to_toml($actual);
54
55   diag 'REPARSED OUTPUT:';
56   diag Dumper(from_toml(to_toml($actual)));
57 };
58
59 done_testing;