TEST_F(PerformanceObserverTest, Enqueue) {
  V8TestingScope scope;
  initialize(scope.getScriptState());

  Persistent<PerformanceEntry> entry = PerformanceMark::create("m", 1234);
  EXPECT_EQ(0, numPerformanceEntries());

  m_observer->enqueuePerformanceEntry(*entry);
  EXPECT_EQ(1, numPerformanceEntries());
}
TEST_F(PerformanceObserverTest, Observe) {
  V8TestingScope scope;
  initialize(scope.getScriptState());

  NonThrowableExceptionState exceptionState;
  PerformanceObserverInit options;
  Vector<String> entryTypeVec;
  entryTypeVec.append("mark");
  options.setEntryTypes(entryTypeVec);

  m_observer->observe(options, exceptionState);
  EXPECT_TRUE(isRegistered());
}
Example #3
0
TEST_F(PerformanceBaseTest, Register) {
  V8TestingScope scope;
  initialize(scope.getScriptState());

  EXPECT_EQ(0, m_base->numObservers());
  EXPECT_EQ(0, m_base->numActiveObservers());

  m_base->registerPerformanceObserver(*m_observer.get());
  EXPECT_EQ(1, m_base->numObservers());
  EXPECT_EQ(0, m_base->numActiveObservers());

  m_base->unregisterPerformanceObserver(*m_observer.get());
  EXPECT_EQ(0, m_base->numObservers());
  EXPECT_EQ(0, m_base->numActiveObservers());
}
Example #4
0
TEST_F(PerformanceBaseTest, AddLongTaskTiming) {
  V8TestingScope scope;
  initialize(scope.getScriptState());

  // Add a long task entry, but no observer registered.
  m_base->addLongTaskTiming(1234, 5678, "www.foo.com/bar", nullptr);
  EXPECT_FALSE(m_base->hasPerformanceObserverFor(PerformanceEntry::LongTask));
  EXPECT_EQ(0, numPerformanceEntriesInObserver());  // 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);

  EXPECT_TRUE(m_base->hasPerformanceObserverFor(PerformanceEntry::LongTask));
  // Add a long task entry
  m_base->addLongTaskTiming(1234, 5678, "www.foo.com/bar", nullptr);
  EXPECT_EQ(1, numPerformanceEntriesInObserver());  // added an entry
}