| // Copyright (c) 2009 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 "chrome/browser/sync/util/crypto_helpers.h" |
| #include "testing/gtest/include/gtest/gtest.h" |
| |
| TEST(ChecksumTest, MD5ChecksumTest) { |
| uint8 buffer[256]; |
| for (unsigned int i = 0; i < arraysize(buffer); ++i) { |
| buffer[i] = i; |
| } |
| MD5Calculator md5; |
| md5.AddData(buffer, arraysize(buffer)); |
| std::string checksum("e2c865db4162bed963bfaa9ef6ac18f0"); |
| ASSERT_EQ(checksum, md5.GetHexDigest()); |
| } |
| |
| TEST(CryptoHelpers, GetRandomBytes) { |
| for (int i = 1; i < 25; ++i) { |
| std::string random_bytes(i+1, ' '); |
| do { |
| GetRandomBytes(&random_bytes[0], i); |
| ASSERT_EQ(random_bytes[i], ' '); |
| } while (random_bytes[i - 1] == ' '); |
| } |
| } |