| Index: third_party/WebKit/Source/core/timing/PerformanceBaseTest.cpp
|
| diff --git a/third_party/WebKit/Source/core/timing/PerformanceBaseTest.cpp b/third_party/WebKit/Source/core/timing/PerformanceBaseTest.cpp
|
| index 8b7c6f0b13804d40e1b98648d4a6fb13bda15221..4bbe857941d3358df74ed7fb771842e1b9e5334c 100644
|
| --- a/third_party/WebKit/Source/core/timing/PerformanceBaseTest.cpp
|
| +++ b/third_party/WebKit/Source/core/timing/PerformanceBaseTest.cpp
|
| @@ -5,8 +5,10 @@
|
| #include "core/timing/Performance.h"
|
|
|
| #include "core/timing/PerformanceBase.h"
|
| +#include "core/timing/PerformanceLongTaskTiming.h"
|
| #include "core/timing/PerformanceObserver.h"
|
| #include "core/timing/PerformanceObserverCallback.h"
|
| +#include "core/timing/PerformanceObserverInit.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
|
|
| namespace blink {
|
| @@ -22,6 +24,11 @@ public:
|
|
|
| int numObservers() { return m_observers.size(); }
|
|
|
| + int numLongTaskTimingEntries()
|
| + {
|
| + return m_longTaskTimingBuffer.size();
|
| + }
|
| +
|
| DEFINE_INLINE_TRACE()
|
| {
|
| PerformanceBase::trace(visitor);
|
| @@ -88,4 +95,23 @@ TEST_F(PerformanceBaseTest, Activate)
|
| EXPECT_EQ(0, m_base->numActiveObservers());
|
| }
|
|
|
| +TEST_F(PerformanceBaseTest, AddLongTaskTiming)
|
| +{
|
| + // Add a long task entry, but no observer registered.
|
| + m_base->addLongTaskTiming(1234, 5678, "www.foo.com/bar");
|
| + EXPECT_EQ(0, m_base->numLongTaskTimingEntries()); // has no effect
|
| +
|
| + // Make an observer for longtask
|
| + NonThrowableExceptionState exceptionState;
|
| + PerformanceObserverInit options;
|
| + Vector<String> entryTypeVec;
|
| + entryTypeVec.append("longtask");
|
| + options.setEntryTypes(entryTypeVec);
|
| + m_observer->observe(options, exceptionState);
|
| +
|
| + // Add a long task entry
|
| + m_base->addLongTaskTiming(1234, 5678, "www.foo.com/bar");
|
| + EXPECT_EQ(1, m_base->numLongTaskTimingEntries()); // added an entry
|
| +}
|
| +
|
| } // namespace blink
|
|
|