blob: 64886b42aadafa49ae3e37144575794755bdc9ce [file] [log] [blame]
// Copyright (c) 2011 The Chromium 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 "base/build_time.h"
#if !defined(DONT_EMBED_BUILD_METADATA)
#include "base/generated_build_date.h"
#endif
#include "base/time/time.h"
#include "testing/gtest/include/gtest/gtest.h"
TEST(BuildTime, DateLooksValid) {
#if !defined(DONT_EMBED_BUILD_METADATA)
char build_date[] = BUILD_DATE;
#else
char build_date[] = "Sep 02 2008 05:00:00";
#endif
EXPECT_EQ(20u, strlen(build_date));
EXPECT_EQ(' ', build_date[3]);
EXPECT_EQ(' ', build_date[6]);
EXPECT_EQ(' ', build_date[11]);
EXPECT_EQ('0', build_date[12]);
EXPECT_EQ('5', build_date[13]);
EXPECT_EQ(':', build_date[14]);
EXPECT_EQ('0', build_date[15]);
EXPECT_EQ('0', build_date[16]);
EXPECT_EQ(':', build_date[17]);
EXPECT_EQ('0', build_date[18]);
EXPECT_EQ('0', build_date[19]);
}
TEST(BuildTime, InThePast) {
EXPECT_LT(base::GetBuildTime(), base::Time::Now());
EXPECT_LT(base::GetBuildTime(), base::Time::NowFromSystemTime());
}
#if !defined(DONT_EMBED_BUILD_METADATA)
TEST(BuildTime, NotTooFar) {
// BuildTime must be less than 45 days old.
base::Time cutoff(base::Time::Now() - base::TimeDelta::FromDays(45));
EXPECT_GT(base::GetBuildTime(), cutoff);
}
#endif