| Index: base/time_unittest.cc
|
| diff --git a/base/time_unittest.cc b/base/time_unittest.cc
|
| deleted file mode 100644
|
| index 60f13debd6dbebbc64bd85be9ef5157afa213472..0000000000000000000000000000000000000000
|
| --- a/base/time_unittest.cc
|
| +++ /dev/null
|
| @@ -1,189 +0,0 @@
|
| -// Copyright 2004-2009 Google Inc.
|
| -//
|
| -// Licensed under the Apache License, Version 2.0 (the "License");
|
| -// you may not use this file except in compliance with the License.
|
| -// You may obtain a copy of the License at
|
| -//
|
| -// http://www.apache.org/licenses/LICENSE-2.0
|
| -//
|
| -// Unless required by applicable law or agreed to in writing, software
|
| -// distributed under the License is distributed on an "AS IS" BASIS,
|
| -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
| -// See the License for the specific language governing permissions and
|
| -// limitations under the License.
|
| -// ========================================================================
|
| -//
|
| -// Time unittest
|
| -
|
| -#include <atltime.h>
|
| -
|
| -#include "omaha/base/time.h"
|
| -#include "omaha/base/utils.h"
|
| -#include "omaha/testing/unit_test.h"
|
| -
|
| -namespace omaha {
|
| -
|
| -// Test generation of int32 time values (which uses Time64ToInt32 internally).
|
| -TEST(TimeTest, SystemTimeToInt32NearEpoch) {
|
| - // Try a simple value near the start of int32 time.
|
| - SYSTEMTIME system_time = {1970, // year
|
| - 1, // month (1 == January)
|
| - 0, // day of week (0 == Sunday)
|
| - 2, // day of month
|
| - 0, // hour
|
| - 0, // minute
|
| - 0, // second
|
| - 0}; // msec
|
| - system_time.wMilliseconds = 0;
|
| - int32 time1 = SystemTimeToInt32(&system_time);
|
| - system_time.wMilliseconds = 999;
|
| - int32 time2 = SystemTimeToInt32(&system_time);
|
| -
|
| - // Make sure result is independent of milliseconds value.
|
| - ASSERT_EQ(time1, time2);
|
| -
|
| - // 00:00:00 on 1970/01/02 should return the number of seconds in 1 day.
|
| - ASSERT_EQ(time1, (60*60*24));
|
| -}
|
| -
|
| -// Test an empirical value taken from running dumpbin.exe on a DLL.
|
| -// (IMPORTANT: ran this *after* setting machine's time zone to GMT,
|
| -// without daylight savings).
|
| -// 40AEE7AA time date stamp Sat May 22 05:39:54 2004
|
| -TEST(TimeTest, SystemTimeToInt32) {
|
| - SYSTEMTIME system_time = {2004, 5, 6, 22, 5, 39, 54, 0};
|
| - int32 time = SystemTimeToInt32(&system_time);
|
| - ASSERT_EQ(time, 0x40AEE7AA);
|
| -}
|
| -
|
| -// Test conversion between int32 and time64 values.
|
| -// By testing SystemTimeToInt32 above, we've already checked Time64ToInt32
|
| -// against empirical values, so it's okay to simply test back-and-forth
|
| -// conversion here.
|
| -TEST(TimeTest, Conversion) {
|
| - // Simple checks when starting with int32 values, because time64 has more
|
| - // precision.
|
| - ASSERT_EQ(Time64ToInt32(Int32ToTime64(0x12345678)), 0x12345678);
|
| - ASSERT_EQ(Time64ToInt32(Int32ToTime64(INT_MAX)), INT_MAX);
|
| - ASSERT_EQ(Time64ToInt32(Int32ToTime64(0)), 0);
|
| -
|
| - // Extra conversions when going opposite direction because int32 has less
|
| - // precision.
|
| - ASSERT_EQ(Int32ToTime64(Time64ToInt32(Int32ToTime64(0x12345678))),
|
| - Int32ToTime64(0x12345678));
|
| - ASSERT_EQ(Int32ToTime64(Time64ToInt32(Int32ToTime64(INT_MAX))),
|
| - Int32ToTime64(INT_MAX));
|
| - ASSERT_EQ(Int32ToTime64(Time64ToInt32(Int32ToTime64(0))),
|
| - Int32ToTime64(0));
|
| -}
|
| -
|
| -void TimeToStringTest(FILETIME *ft, bool daylight_savings_time) {
|
| - CTime t(*ft, daylight_savings_time);
|
| - CString date1(t.FormatGmt(_T("%a, %d %b %Y %H:%M:%S GMT")));
|
| - CString date2(ConvertTimeToGMTString(ft));
|
| -
|
| - ASSERT_STREQ(date1, date2);
|
| -}
|
| -
|
| -TEST(TimeTest, TimeToStringTest) {
|
| - bool daylight_savings_time = false;
|
| - TIME_ZONE_INFORMATION tz;
|
| - if (GetTimeZoneInformation(&tz) == TIME_ZONE_ID_DAYLIGHT) {
|
| - daylight_savings_time = true;
|
| - }
|
| -
|
| - FILETIME file_time;
|
| - ::GetSystemTimeAsFileTime(&file_time);
|
| - TimeToStringTest(&file_time, daylight_savings_time);
|
| -
|
| - uint64 t = FileTimeToTime64(file_time);
|
| -
|
| - // months
|
| - for (int i = 0; i < 13; i++) {
|
| - t += (24 * kHoursTo100ns) * 28;
|
| - Time64ToFileTime(t, &file_time);
|
| - TimeToStringTest(&file_time, daylight_savings_time);
|
| - }
|
| -
|
| - // days
|
| - for (int i = 0; i < 30; i++) {
|
| - t += (24 * kHoursTo100ns);
|
| - Time64ToFileTime(t, &file_time);
|
| - TimeToStringTest(&file_time, daylight_savings_time);
|
| - }
|
| -
|
| - // hours
|
| - for (int i = 0; i < 24; i++) {
|
| - t += (24 * kHoursTo100ns);
|
| - Time64ToFileTime(t, &file_time);
|
| - TimeToStringTest(&file_time, daylight_savings_time);
|
| - }
|
| -}
|
| -
|
| -TEST(TimeTest, RFC822TimeParsing) {
|
| - SYSTEMTIME time = {0};
|
| - ASSERT_TRUE(RFC822DateToSystemTime(_T("Mon, 16 May 2005 15:44:18 -0700"),
|
| - &time,
|
| - false));
|
| - ASSERT_EQ(time.wYear , 2005);
|
| - ASSERT_EQ(time.wMonth , 5);
|
| - ASSERT_EQ(time.wDay , 16);
|
| - ASSERT_EQ(time.wHour , 22);
|
| - ASSERT_EQ(time.wMinute , 44);
|
| - ASSERT_EQ(time.wSecond , 18);
|
| -
|
| - ASSERT_TRUE(RFC822DateToSystemTime(_T("Mon, 16 May 2005 15:44:18 -0700"),
|
| - &time,
|
| - true));
|
| - ASSERT_EQ(time.wYear , 2005);
|
| - ASSERT_EQ(time.wMonth , 5);
|
| - ASSERT_EQ(time.wDay , 16);
|
| - ASSERT_TRUE(time.wHour == 15 || time.wHour == 14); // daylight saving time
|
| - ASSERT_EQ(time.wMinute , 44);
|
| - ASSERT_EQ(time.wSecond , 18);
|
| -
|
| - ASSERT_TRUE(RFC822DateToSystemTime(_T("Tue, 17 May 2005 02:56:18 +0400"),
|
| - &time,
|
| - false));
|
| - ASSERT_EQ(time.wYear , 2005);
|
| - ASSERT_EQ(time.wMonth , 5);
|
| - ASSERT_EQ(time.wDay , 16);
|
| - ASSERT_EQ(time.wHour , 22);
|
| - ASSERT_EQ(time.wMinute , 56);
|
| - ASSERT_EQ(time.wSecond , 18);
|
| -
|
| - ASSERT_TRUE(RFC822DateToSystemTime(_T("Tue, 17 May 2005 02:56:18 +0400"),
|
| - &time,
|
| - true));
|
| - ASSERT_EQ(time.wYear , 2005);
|
| - ASSERT_EQ(time.wMonth , 5);
|
| - ASSERT_EQ(time.wDay , 16);
|
| - ASSERT_TRUE(time.wHour == 15 || time.wHour == 14); // daylight saving time
|
| - ASSERT_EQ(time.wMinute , 56);
|
| - ASSERT_EQ(time.wSecond , 18);
|
| -}
|
| -
|
| -TEST(TimeTest, FileTimeToInt64) {
|
| - {
|
| - FILETIME file_time = {0};
|
| - EXPECT_EQ(0, FileTimeToInt64(file_time));
|
| - }
|
| -
|
| - {
|
| - FILETIME file_time = {LONG_MAX, 0};
|
| - EXPECT_EQ(LONG_MAX, FileTimeToInt64(file_time));
|
| - }
|
| -
|
| - {
|
| - FILETIME file_time = {ULONG_MAX, 0};
|
| - EXPECT_EQ(ULONG_MAX, FileTimeToInt64(file_time));
|
| - }
|
| -
|
| - {
|
| - FILETIME file_time = {ULONG_MAX, ULONG_MAX};
|
| - EXPECT_EQ(kuint64max, FileTimeToInt64(file_time));
|
| - }
|
| -}
|
| -
|
| -} // namespace omaha
|
| -
|
|
|