time-test.cc revision 1a23f9c274071a91edde9fc28895c45940d4e90d
11a23f9c274071a91edde9fc28895c45940d4e90dVictor Zverovich/*
21a23f9c274071a91edde9fc28895c45940d4e90dVictor Zverovich Time formatting tests
31a23f9c274071a91edde9fc28895c45940d4e90dVictor Zverovich
41a23f9c274071a91edde9fc28895c45940d4e90dVictor Zverovich Copyright (c) 2012 - 2016, Victor Zverovich
51a23f9c274071a91edde9fc28895c45940d4e90dVictor Zverovich All rights reserved.
61a23f9c274071a91edde9fc28895c45940d4e90dVictor Zverovich
71a23f9c274071a91edde9fc28895c45940d4e90dVictor Zverovich For the license information refer to format.h.
81a23f9c274071a91edde9fc28895c45940d4e90dVictor Zverovich */
91a23f9c274071a91edde9fc28895c45940d4e90dVictor Zverovich
101a23f9c274071a91edde9fc28895c45940d4e90dVictor Zverovich#include "gmock/gmock.h"
111a23f9c274071a91edde9fc28895c45940d4e90dVictor Zverovich#include "fmt/time.h"
121a23f9c274071a91edde9fc28895c45940d4e90dVictor Zverovich
131a23f9c274071a91edde9fc28895c45940d4e90dVictor ZverovichTEST(TimeTest, Format) {
141a23f9c274071a91edde9fc28895c45940d4e90dVictor Zverovich  std::tm tm = std::tm();
151a23f9c274071a91edde9fc28895c45940d4e90dVictor Zverovich  tm.tm_year = 116;
161a23f9c274071a91edde9fc28895c45940d4e90dVictor Zverovich  tm.tm_mon  = 3;
171a23f9c274071a91edde9fc28895c45940d4e90dVictor Zverovich  tm.tm_mday = 25;
181a23f9c274071a91edde9fc28895c45940d4e90dVictor Zverovich  EXPECT_EQ("The date is 2016-04-25.",
191a23f9c274071a91edde9fc28895c45940d4e90dVictor Zverovich            fmt::format("The date is {:%Y-%m-%d}.", tm));
201a23f9c274071a91edde9fc28895c45940d4e90dVictor Zverovich}
211a23f9c274071a91edde9fc28895c45940d4e90dVictor Zverovich
221a23f9c274071a91edde9fc28895c45940d4e90dVictor ZverovichTEST(TimeTest, GrowBuffer) {
231a23f9c274071a91edde9fc28895c45940d4e90dVictor Zverovich  std::string s = "{:";
241a23f9c274071a91edde9fc28895c45940d4e90dVictor Zverovich  for (int i = 0; i < 30; ++i)
251a23f9c274071a91edde9fc28895c45940d4e90dVictor Zverovich    s += "%c";
261a23f9c274071a91edde9fc28895c45940d4e90dVictor Zverovich  s += "}\n";
271a23f9c274071a91edde9fc28895c45940d4e90dVictor Zverovich  std::time_t t = std::time(0);
281a23f9c274071a91edde9fc28895c45940d4e90dVictor Zverovich  fmt::format(s, *std::localtime(&t));
291a23f9c274071a91edde9fc28895c45940d4e90dVictor Zverovich}
30