blob: 07a67a282df8af8f07a42e8c49e1feb6ec66f36a [file] [log] [blame]
// Copyright 2018 The Chromium OS 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 <stdlib.h>
#include <base/files/file_path.h>
#include <gtest/gtest.h>
#include "vm_tools/common/tzif_parser.h"
class TzifParserTest : public ::testing::Test {
public:
TzifParserTest() {
source_dir_ = base::FilePath(getenv("SRC")).Append("common");
}
protected:
base::FilePath source_dir_;
};
TEST_F(TzifParserTest, EST) {
std::string posix_string;
EXPECT_TRUE(TzifParser::GetPosixTimezone(source_dir_.Append("EST_test.tzif"),
&posix_string));
EXPECT_EQ(posix_string, "EST5");
}
TEST_F(TzifParserTest, TzifVersionTwo) {
std::string posix_string;
EXPECT_TRUE(TzifParser::GetPosixTimezone(
source_dir_.Append("Indian_Christmas_test.tzif"), &posix_string));
EXPECT_EQ(posix_string, "<+07>-7");
}
TEST_F(TzifParserTest, TzifVersionThree) {
std::string posix_string;
EXPECT_TRUE(TzifParser::GetPosixTimezone(
source_dir_.Append("Pacific_Fiji_test.tzif"), &posix_string));
EXPECT_EQ(posix_string, "<+12>-12<+13>,M11.1.0,M1.2.2/123");
}