chiark / gitweb /
f153e979352cfabee94f518cceb19535759fd23e
[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 TOML::Tiny;
6
7 binmode STDIN,  ':encoding(UTF-8)';
8 binmode STDOUT, ':encoding(UTF-8)';
9
10 my $expected1 = {
11                'bestdayever' => bless( {
12                                          '_lines' => [
13                                                        11
14                                                      ],
15                                          'code' => sub {
16                                                        BEGIN {${^WARNING_BITS} = "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x15\x00\x04\x40\x05\x04\x54"}
17                                                        use strict;
18                                                        no feature ':all';
19                                                        use feature ':5.16';
20                                                        my $exp = 'DateTime::Format::RFC3339'->parse_datetime('2017-06-06T12:34:56-05:00');
21                                                        my $got = 'DateTime::Format::RFC3339'->parse_datetime($_);
22                                                        $exp->set_time_zone('UTC');
23                                                        $got->set_time_zone('UTC');
24                                                        return 'DateTime'->compare($got, $exp) == 0;
25                                                    },
26                                          'operator' => 'CODE(...)',
27                                          'name' => '<Custom Code>',
28                                          '_file' => '(eval 372)'
29                                        }, 'Test2::Compare::Custom' )
30              };
31
32
33 my $actual = from_toml(q{bestdayever = 2017-06-06T12:34:56-05:00
34 });
35
36 is($actual, $expected1, 'datetime-timezone - from_toml') or do{
37   diag 'EXPECTED:';
38   diag Dumper($expected1);
39
40   diag 'ACTUAL:';
41   diag Dumper($actual);
42 };
43
44 is(eval{ from_toml(to_toml($actual)) }, $actual, 'datetime-timezone - to_toml') or do{
45   diag 'INPUT:';
46   diag Dumper($actual);
47
48   diag 'TOML OUTPUT:';
49   diag to_toml($actual);
50
51   diag 'REPARSED OUTPUT:';
52   diag Dumper(from_toml(to_toml($actual)));
53 };
54
55 done_testing;