1// Copyright (c) 2009 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#include "chrome/browser/sync/util/crypto_helpers.h" 6#include "testing/gtest/include/gtest/gtest.h" 7 8TEST(ChecksumTest, MD5ChecksumTest) { 9 uint8 buffer[256]; 10 for (unsigned int i = 0; i < arraysize(buffer); ++i) { 11 buffer[i] = i; 12 } 13 MD5Calculator md5; 14 md5.AddData(buffer, arraysize(buffer)); 15 std::string checksum("e2c865db4162bed963bfaa9ef6ac18f0"); 16 ASSERT_EQ(checksum, md5.GetHexDigest()); 17} 18 19TEST(CryptoHelpers, GetRandomBytes) { 20 for (int i = 1; i < 25; ++i) { 21 std::string random_bytes(i+1, ' '); 22 do { 23 GetRandomBytes(&random_bytes[0], i); 24 ASSERT_EQ(random_bytes[i], ' '); 25 } while (random_bytes[i - 1] == ' '); 26 } 27} 28