blob: 232b2a6ce358c6dddd6bcb39c87a14802b4352e0 [file] [log] [blame]
// Copyright 2021 PDFium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "xfa/fxfa/parser/cxfa_timezoneprovider.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "testing/scoped_set_tz.h"
TEST(CXFA_TimeZoneProviderTest, HourOffsets) {
{
ScopedSetTZ scoped_set_tz("UTC");
EXPECT_EQ(0, CXFA_TimeZoneProvider().GetTimeZoneInMinutes());
}
{
ScopedSetTZ scoped_set_tz("UTC+1");
EXPECT_EQ(-60, CXFA_TimeZoneProvider().GetTimeZoneInMinutes());
}
{
ScopedSetTZ scoped_set_tz("UTC-1");
EXPECT_EQ(60, CXFA_TimeZoneProvider().GetTimeZoneInMinutes());
}
{
ScopedSetTZ scoped_set_tz("UTC+14");
EXPECT_EQ(-840, CXFA_TimeZoneProvider().GetTimeZoneInMinutes());
}
{
ScopedSetTZ scoped_set_tz("UTC-14");
EXPECT_EQ(840, CXFA_TimeZoneProvider().GetTimeZoneInMinutes());
}
}
TEST(CXFA_TimeZoneProviderTest, HalfHourOffsets) {
{
ScopedSetTZ scoped_set_tz("UTC+0:30");
EXPECT_EQ(-30, CXFA_TimeZoneProvider().GetTimeZoneInMinutes());
}
{
ScopedSetTZ scoped_set_tz("UTC-0:30");
EXPECT_EQ(30, CXFA_TimeZoneProvider().GetTimeZoneInMinutes());
}
{
ScopedSetTZ scoped_set_tz("UTC+1:30");
EXPECT_EQ(-90, CXFA_TimeZoneProvider().GetTimeZoneInMinutes());
}
{
ScopedSetTZ scoped_set_tz("UTC-1:30");
EXPECT_EQ(90, CXFA_TimeZoneProvider().GetTimeZoneInMinutes());
}
{
ScopedSetTZ scoped_set_tz("UTC+9:30");
EXPECT_EQ(-570, CXFA_TimeZoneProvider().GetTimeZoneInMinutes());
}
{
ScopedSetTZ scoped_set_tz("UTC-9:30");
EXPECT_EQ(570, CXFA_TimeZoneProvider().GetTimeZoneInMinutes());
}
}