diff options
Diffstat (limited to 'crypto/nss_util_unittest.cc')
-rw-r--r-- | crypto/nss_util_unittest.cc | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/crypto/nss_util_unittest.cc b/crypto/nss_util_unittest.cc new file mode 100644 index 0000000..cc24b61 --- /dev/null +++ b/crypto/nss_util_unittest.cc @@ -0,0 +1,40 @@ +// 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 "crypto/nss_util.h" + +#include <prtime.h> + +#include "base/time.h" +#include "testing/gtest/include/gtest/gtest.h" + +namespace crypto { + +TEST(NSSUtilTest, PRTimeConversion) { + EXPECT_EQ(base::Time::UnixEpoch(), PRTimeToBaseTime(0)); + EXPECT_EQ(0, BaseTimeToPRTime(base::Time::UnixEpoch())); + + PRExplodedTime prxtime; + prxtime.tm_params.tp_gmt_offset = 0; + prxtime.tm_params.tp_dst_offset = 0; + base::Time::Exploded exploded; + prxtime.tm_year = exploded.year = 2011; + exploded.month = 12; + prxtime.tm_month = 11; + prxtime.tm_wday = exploded.day_of_week = 0; // Should be unusued. + prxtime.tm_mday = exploded.day_of_month = 10; + prxtime.tm_hour = exploded.hour = 2; + prxtime.tm_min = exploded.minute = 52; + prxtime.tm_sec = exploded.second = 19; + exploded.millisecond = 342; + prxtime.tm_usec = 342000; + + PRTime pr_time = PR_ImplodeTime(&prxtime); + base::Time base_time = base::Time::FromUTCExploded(exploded); + + EXPECT_EQ(base_time, PRTimeToBaseTime(pr_time)); + EXPECT_EQ(pr_time, BaseTimeToPRTime(base_time)); +} + +} // namespace crypto |