Index: base/rand_util_unittest.cc |
=================================================================== |
--- base/rand_util_unittest.cc (revision 83409) |
+++ base/rand_util_unittest.cc (working copy) |
@@ -1,4 +1,4 @@ |
-// Copyright (c) 2008 The Chromium Authors. All rights reserved. |
+// 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. |
@@ -22,12 +22,25 @@ |
} |
TEST(RandUtilTest, RandDouble) { |
- // Force 64-bit precision, making sure we're not in a 80-bit FPU register. |
- volatile double number = base::RandDouble(); |
- EXPECT_GT(1.0, number); |
- EXPECT_LE(0.0, number); |
+ // Force 64-bit precision, making sure we're not in a 80-bit FPU register. |
+ volatile double number = base::RandDouble(); |
+ EXPECT_GT(1.0, number); |
+ EXPECT_LE(0.0, number); |
} |
+TEST(RandUtilTest, RandBytesAsString) { |
+ std::string random_string = base::RandBytesAsString(0); |
+ EXPECT_EQ(0U, random_string.size()); |
+ random_string = base::RandBytesAsString(145); |
+ EXPECT_EQ(145U, random_string.size()); |
+ char accumulator = 0; |
+ for (size_t i = 0; i < random_string.size(); ++i) |
+ accumulator |= random_string[i]; |
+ // In theory this test can fail, but it won't before the universe dies of |
+ // heat death. |
+ EXPECT_NE(0, accumulator); |
+} |
+ |
// Make sure that it is still appropriate to use RandGenerator in conjunction |
// with std::random_shuffle(). |
TEST(RandUtilTest, RandGeneratorForRandomShuffle) { |