diff options
Diffstat (limited to 'Source/WebKit/chromium/tests/MemoryInstrumentationTest.cpp')
-rw-r--r-- | Source/WebKit/chromium/tests/MemoryInstrumentationTest.cpp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/Source/WebKit/chromium/tests/MemoryInstrumentationTest.cpp b/Source/WebKit/chromium/tests/MemoryInstrumentationTest.cpp index 052936dab..b5b50bf7d 100644 --- a/Source/WebKit/chromium/tests/MemoryInstrumentationTest.cpp +++ b/Source/WebKit/chromium/tests/MemoryInstrumentationTest.cpp @@ -38,6 +38,9 @@ #include <wtf/HashSet.h> #include <wtf/RefCounted.h> #include <wtf/Vector.h> +#include <wtf/text/AtomicString.h> +#include <wtf/text/StringImpl.h> +#include <wtf/text/WTFString.h> using namespace WebCore; @@ -224,5 +227,33 @@ TEST(MemoryInstrumentationTest, visitFirstMemberInNonVirtualClass) EXPECT_EQ(2, visitedObjects.size()); } +TEST(MemoryInstrumentationTest, visitStrings) +{ + { + VisitedObjects visitedObjects; + MemoryInstrumentationImpl impl(visitedObjects); + String string("string"); + impl.addRootObject(string); + EXPECT_EQ(string.impl()->sizeInBytes(), impl.reportedSizeForAllTypes()); + EXPECT_EQ(2, visitedObjects.size()); + } + { + VisitedObjects visitedObjects; + MemoryInstrumentationImpl impl(visitedObjects); + String string("string"); + impl.addRootObject(&string); + EXPECT_EQ(string.impl()->sizeInBytes() + sizeof(String), impl.reportedSizeForAllTypes()); + EXPECT_EQ(2, visitedObjects.size()); + } + { + VisitedObjects visitedObjects; + MemoryInstrumentationImpl impl(visitedObjects); + AtomicString string("string"); + impl.addRootObject(&string); + EXPECT_EQ(string.impl()->sizeInBytes() + sizeof(AtomicString), impl.reportedSizeForAllTypes()); + EXPECT_EQ(2, visitedObjects.size()); + } +} + } // namespace |