From baad2097a709f90a63f9608542fd701fcc64746e Mon Sep 17 00:00:00 2001 From: John Ralls Date: Mon, 18 Dec 2017 10:15:05 -0800 Subject: [PATCH] Add tests for GMT and GMT+7 timezones. --- libgnucash/engine/test/gtest-gnc-timezone.cpp | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/libgnucash/engine/test/gtest-gnc-timezone.cpp b/libgnucash/engine/test/gtest-gnc-timezone.cpp index 0703333012..d499544a29 100644 --- a/libgnucash/engine/test/gtest-gnc-timezone.cpp +++ b/libgnucash/engine/test/gtest-gnc-timezone.cpp @@ -67,10 +67,35 @@ TEST(gnc_timezone_constructors, test_posix_timezone) TZ_Ptr tz = tzp.get(2006); EXPECT_EQ(tz->std_zone_abbrev(), "FST"); EXPECT_EQ(tz->dst_zone_abbrev(), "FDT"); + EXPECT_TRUE(tz->has_dst()); EXPECT_EQ(tz->base_utc_offset().hours(), 8L); EXPECT_EQ(tz->dst_offset().hours(), 7L); } +TEST(gnc_timezone_constructors, test_gmt_timezone) +{ + std::string timezone("GMT"); + TimeZoneProvider tzp(timezone); + TZ_Ptr tz = tzp.get(2006); + EXPECT_EQ(tz->std_zone_abbrev(), "GMT"); + EXPECT_FALSE(tz->has_dst()); + EXPECT_EQ(tz->dst_zone_abbrev(), ""); + EXPECT_EQ(tz->base_utc_offset().hours(), 0L); + EXPECT_EQ(tz->dst_offset().hours(), 0L); +} + +TEST(gnc_timezone_constructors, test_GMT_plus_7_timezone) +{ + std::string timezone("Etc/GMT+7"); + TimeZoneProvider tzp(timezone); + TZ_Ptr tz = tzp.get(2006); + EXPECT_EQ(tz->std_zone_abbrev(), "-07"); + EXPECT_EQ(tz->dst_zone_abbrev(), ""); + EXPECT_FALSE(tz->has_dst()); + EXPECT_EQ(tz->base_utc_offset().hours(), -7); + EXPECT_EQ(tz->dst_offset().hours(), 0L); +} + TEST(gnc_timezone_constructors, test_IANA_Belize_tz) { TimeZoneProvider tzp("America/Belize");