Index: base/metrics/bucket_ranges_unittest.cc |
=================================================================== |
--- base/metrics/bucket_ranges_unittest.cc (revision 148055) |
+++ base/metrics/bucket_ranges_unittest.cc (working copy) |
@@ -71,5 +71,21 @@ |
EXPECT_TRUE(ranges.HasValidChecksum()); |
} |
+// Table was generated similarly to sample code for CRC-32 given on: |
+// http://www.w3.org/TR/PNG/#D-CRCAppendix. |
+TEST(HistogramTest, Crc32TableTest) { |
+ for (int i = 0; i < 256; ++i) { |
+ uint32 checksum = i; |
+ for (int j = 0; j < 8; ++j) { |
+ const uint32 kReversedPolynomial = 0xedb88320L; |
+ if (checksum & 1) |
+ checksum = kReversedPolynomial ^ (checksum >> 1); |
+ else |
+ checksum >>= 1; |
+ } |
+ EXPECT_EQ(kCrcTable[i], checksum); |
+ } |
+} |
+ |
} // namespace |
} // namespace base |