#include "third_party/blink/renderer/core/paint/timing/first_meaningful_paint_detector.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/blink/renderer/core/paint/paint_event.h"
#include "third_party/blink/renderer/core/paint/timing/paint_timing.h"
#include "third_party/blink/renderer/core/testing/page_test_base.h"
#include "third_party/blink/renderer/platform/wtf/text/string_builder.h"
namespace blink {
class FirstMeaningfulPaintDetectorTest : public PageTestBase { … };
TEST_F(FirstMeaningfulPaintDetectorTest, NoFirstPaint) { … }
TEST_F(FirstMeaningfulPaintDetectorTest, OneLayout) { … }
TEST_F(FirstMeaningfulPaintDetectorTest, TwoLayoutsSignificantSecond) { … }
TEST_F(FirstMeaningfulPaintDetectorTest, TwoLayoutsSignificantFirst) { … }
TEST_F(FirstMeaningfulPaintDetectorTest, FirstMeaningfulPaintCandidate) { … }
TEST_F(FirstMeaningfulPaintDetectorTest,
OnlyOneFirstMeaningfulPaintCandidateBeforeNetworkStable) { … }
TEST_F(FirstMeaningfulPaintDetectorTest,
NetworkStableBeforeFirstContentfulPaint) { … }
TEST_F(FirstMeaningfulPaintDetectorTest,
FirstMeaningfulPaintShouldNotBeBeforeFirstContentfulPaint) { … }
TEST_F(FirstMeaningfulPaintDetectorTest,
FirstMeaningfulPaintAfterUserInteraction) { … }
TEST_F(FirstMeaningfulPaintDetectorTest, UserInteractionBeforeFirstPaint) { … }
TEST_F(FirstMeaningfulPaintDetectorTest,
WaitForSingleOutstandingPresentationPromiseAfterNetworkStable) { … }
TEST_F(FirstMeaningfulPaintDetectorTest,
WaitForMultipleOutstandingPresentationPromisesAfterNetworkStable) { … }
TEST_F(FirstMeaningfulPaintDetectorTest,
WaitForFirstContentfulPaintPresentationpAfterNetworkStable) { … }
TEST_F(
FirstMeaningfulPaintDetectorTest,
ProvisionalTimestampChangesAfterNetworkQuietWithOutstandingPresentationPromise) { … }
}