1 // Copyright 2021 The PDFium Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "xfa/fxfa/parser/cxfa_timezoneprovider.h"
6
7 #include "testing/gtest/include/gtest/gtest.h"
8 #include "testing/scoped_set_tz.h"
9
TEST(CXFA_TimeZoneProviderTest,HourOffsets)10 TEST(CXFA_TimeZoneProviderTest, HourOffsets) {
11 {
12 ScopedSetTZ scoped_set_tz("UTC");
13 EXPECT_EQ(0, CXFA_TimeZoneProvider().GetTimeZoneInMinutes());
14 }
15 {
16 ScopedSetTZ scoped_set_tz("UTC+1");
17 EXPECT_EQ(-60, CXFA_TimeZoneProvider().GetTimeZoneInMinutes());
18 }
19 {
20 ScopedSetTZ scoped_set_tz("UTC-1");
21 EXPECT_EQ(60, CXFA_TimeZoneProvider().GetTimeZoneInMinutes());
22 }
23 {
24 ScopedSetTZ scoped_set_tz("UTC+14");
25 EXPECT_EQ(-840, CXFA_TimeZoneProvider().GetTimeZoneInMinutes());
26 }
27 {
28 ScopedSetTZ scoped_set_tz("UTC-14");
29 EXPECT_EQ(840, CXFA_TimeZoneProvider().GetTimeZoneInMinutes());
30 }
31 }
32
TEST(CXFA_TimeZoneProviderTest,HalfHourOffsets)33 TEST(CXFA_TimeZoneProviderTest, HalfHourOffsets) {
34 {
35 ScopedSetTZ scoped_set_tz("UTC+0:30");
36 EXPECT_EQ(-30, CXFA_TimeZoneProvider().GetTimeZoneInMinutes());
37 }
38 {
39 ScopedSetTZ scoped_set_tz("UTC-0:30");
40 EXPECT_EQ(30, CXFA_TimeZoneProvider().GetTimeZoneInMinutes());
41 }
42 {
43 ScopedSetTZ scoped_set_tz("UTC+1:30");
44 EXPECT_EQ(-90, CXFA_TimeZoneProvider().GetTimeZoneInMinutes());
45 }
46 {
47 ScopedSetTZ scoped_set_tz("UTC-1:30");
48 EXPECT_EQ(90, CXFA_TimeZoneProvider().GetTimeZoneInMinutes());
49 }
50 {
51 ScopedSetTZ scoped_set_tz("UTC+9:30");
52 EXPECT_EQ(-570, CXFA_TimeZoneProvider().GetTimeZoneInMinutes());
53 }
54 {
55 ScopedSetTZ scoped_set_tz("UTC-9:30");
56 EXPECT_EQ(570, CXFA_TimeZoneProvider().GetTimeZoneInMinutes());
57 }
58 }
59