From 1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c Mon Sep 17 00:00:00 2001 From: Lorry Tar Creator Date: Tue, 27 Jun 2017 06:07:23 +0000 Subject: webkitgtk-2.16.5 --- Tools/TestWebKitAPI/Tests/WTF/StringHasher.cpp | 63 ++++++++++++++++++++------ 1 file changed, 50 insertions(+), 13 deletions(-) (limited to 'Tools/TestWebKitAPI/Tests/WTF/StringHasher.cpp') diff --git a/Tools/TestWebKitAPI/Tests/WTF/StringHasher.cpp b/Tools/TestWebKitAPI/Tests/WTF/StringHasher.cpp index a4d223c99..5985b026a 100644 --- a/Tools/TestWebKitAPI/Tests/WTF/StringHasher.cpp +++ b/Tools/TestWebKitAPI/Tests/WTF/StringHasher.cpp @@ -25,7 +25,7 @@ #include "config.h" -#include +#include namespace TestWebKitAPI { @@ -264,6 +264,43 @@ TEST(WTF, StringHasher_addCharacters) hasher.addCharacters(testBUChars + 3); ASSERT_EQ(testBHash5, hasher.hash()); ASSERT_EQ(testBHash5 & 0xFFFFFF, hasher.hashWithTop8BitsMasked()); + + // Hashing zero characters after hashing other characters. + hasher = StringHasher(); + hasher.addCharacters(nullLChars, 0); + hasher.addCharacters(nullLChars, 0); + ASSERT_EQ(emptyStringHash, hasher.hash()); + ASSERT_EQ(emptyStringHash & 0xFFFFFF, hasher.hashWithTop8BitsMasked()); + + hasher = StringHasher(); + hasher.addCharacters(testALChars, 1); + hasher.addCharacters(nullLChars, 0); + ASSERT_EQ(testAHash1, hasher.hash()); + ASSERT_EQ(testAHash1 & 0xFFFFFF, hasher.hashWithTop8BitsMasked()); + + hasher = StringHasher(); + hasher.addCharacters(testALChars, 2); + hasher.addCharacters(nullLChars, 0); + ASSERT_EQ(testAHash2, hasher.hash()); + ASSERT_EQ(testAHash2 & 0xFFFFFF, hasher.hashWithTop8BitsMasked()); + + hasher = StringHasher(); + hasher.addCharacters(testAUChars, 3); + hasher.addCharacters(nullLChars, 0); + ASSERT_EQ(testAHash3, hasher.hash()); + ASSERT_EQ(testAHash3 & 0xFFFFFF, hasher.hashWithTop8BitsMasked()); + + hasher = StringHasher(); + hasher.addCharacters(testALChars, 4); + hasher.addCharacters(nullLChars, 0); + ASSERT_EQ(testAHash4, hasher.hash()); + ASSERT_EQ(testAHash4 & 0xFFFFFF, hasher.hashWithTop8BitsMasked()); + + hasher = StringHasher(); + hasher.addCharacters(testALChars, 5); + hasher.addCharacters(nullLChars, 0); + ASSERT_EQ(testAHash5, hasher.hash()); + ASSERT_EQ(testAHash5 & 0xFFFFFF, hasher.hashWithTop8BitsMasked()); } TEST(WTF, StringHasher_addCharactersAssumingAligned) @@ -427,18 +464,18 @@ TEST(WTF, StringHasher_computeHashAndMaskTop8Bits) TEST(WTF, StringHasher_hashMemory) { - ASSERT_EQ(emptyStringHash & 0xFFFFFF, StringHasher::hashMemory(0, 0)); - ASSERT_EQ(emptyStringHash & 0xFFFFFF, StringHasher::hashMemory(nullUChars, 0)); - ASSERT_EQ(emptyStringHash & 0xFFFFFF, StringHasher::hashMemory<0>(0)); - ASSERT_EQ(emptyStringHash & 0xFFFFFF, StringHasher::hashMemory<0>(nullUChars)); - - ASSERT_EQ(singleNullCharacterHash & 0xFFFFFF, StringHasher::hashMemory(nullUChars, 2)); - ASSERT_EQ(singleNullCharacterHash & 0xFFFFFF, StringHasher::hashMemory<2>(nullUChars)); - - ASSERT_EQ(testAHash5 & 0xFFFFFF, StringHasher::hashMemory(testAUChars, 10)); - ASSERT_EQ(testAHash5 & 0xFFFFFF, StringHasher::hashMemory<10>(testAUChars)); - ASSERT_EQ(testBHash5 & 0xFFFFFF, StringHasher::hashMemory(testBUChars, 10)); - ASSERT_EQ(testBHash5 & 0xFFFFFF, StringHasher::hashMemory<10>(testBUChars)); + ASSERT_EQ(emptyStringHash, StringHasher::hashMemory(0, 0)); + ASSERT_EQ(emptyStringHash, StringHasher::hashMemory(nullUChars, 0)); + ASSERT_EQ(emptyStringHash, StringHasher::hashMemory<0>(0)); + ASSERT_EQ(emptyStringHash, StringHasher::hashMemory<0>(nullUChars)); + + ASSERT_EQ(singleNullCharacterHash, StringHasher::hashMemory(nullUChars, 2)); + ASSERT_EQ(singleNullCharacterHash, StringHasher::hashMemory<2>(nullUChars)); + + ASSERT_EQ(testAHash5, StringHasher::hashMemory(testAUChars, 10)); + ASSERT_EQ(testAHash5, StringHasher::hashMemory<10>(testAUChars)); + ASSERT_EQ(testBHash5, StringHasher::hashMemory(testBUChars, 10)); + ASSERT_EQ(testBHash5, StringHasher::hashMemory<10>(testBUChars)); } } // namespace TestWebKitAPI -- cgit v1.2.1