Index: net/cert/ct_log_response_parser_unittest.cc |
diff --git a/net/cert/ct_log_response_parser_unittest.cc b/net/cert/ct_log_response_parser_unittest.cc |
index fad759019acbf9b3861aae2984cc518c7c513e5d..e505b051f4db6d52ca431815ff97073083781960 100644 |
--- a/net/cert/ct_log_response_parser_unittest.cc |
+++ b/net/cert/ct_log_response_parser_unittest.cc |
@@ -95,6 +95,23 @@ TEST(CTLogResponseParserTest, FailsToParseIncorrectLengthRootHash) { |
ASSERT_FALSE(FillSignedTreeHead(*too_short_hash_json.get(), &tree_head)); |
} |
+TEST(CTLogResponseParserTest, ParsesJsonSTHWithLargeTimestamp) { |
+ SignedTreeHead tree_head; |
+ |
+ scoped_ptr<base::Value> large_timestamp_json = |
+ ParseJson(CreateSignedTreeHeadJsonString( |
+ 100, INT64_C(1) << 34, GetSampleSTHSHA256RootHash(), |
+ GetSampleSTHTreeHeadSignature())); |
+ |
+ ASSERT_TRUE(FillSignedTreeHead(*large_timestamp_json.get(), &tree_head)); |
+ |
+ base::Time expected_time = |
+ base::Time::UnixEpoch() + |
+ base::TimeDelta::FromMilliseconds(INT64_C(1) << 34); |
+ |
+ EXPECT_EQ(tree_head.timestamp, expected_time); |
+} |
+ |
TEST(CTLogResponseParserTest, ParsesConsistencyProofSuccessfully) { |
std::string first(32, 'a'); |
std::string second(32, 'b'); |