Home | History | Annotate | Download | only in util
      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 
      8 TEST(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 
     19 TEST(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