Example #1
0
TEST_F(ScrollStateTest, ConsumeDeltaNative)
{
    const float deltaX = 12.3;
    const float deltaY = 3.9;

    const float deltaXToConsume = 1.2;
    const float deltaYToConsume = 2.3;

    RefPtrWillBeRawPtr<ScrollState> scrollState = ScrollState::create(deltaX, deltaY, 0, 0, 0,
        false, false);
    EXPECT_FLOAT_EQ(deltaX, scrollState->deltaX());
    EXPECT_FLOAT_EQ(deltaY, scrollState->deltaY());
    EXPECT_FALSE(scrollState->deltaConsumedForScrollSequence());
    EXPECT_FALSE(scrollState->fullyConsumed());

    scrollState->consumeDeltaNative(0, 0);
    EXPECT_FLOAT_EQ(deltaX, scrollState->deltaX());
    EXPECT_FLOAT_EQ(deltaY, scrollState->deltaY());
    EXPECT_FALSE(scrollState->deltaConsumedForScrollSequence());
    EXPECT_FALSE(scrollState->fullyConsumed());

    scrollState->consumeDeltaNative(deltaXToConsume, 0);
    EXPECT_FLOAT_EQ(deltaX - deltaXToConsume, scrollState->deltaX());
    EXPECT_FLOAT_EQ(deltaY, scrollState->deltaY());
    EXPECT_TRUE(scrollState->deltaConsumedForScrollSequence());
    EXPECT_FALSE(scrollState->fullyConsumed());

    scrollState->consumeDeltaNative(0, deltaYToConsume);
    EXPECT_FLOAT_EQ(deltaX - deltaXToConsume, scrollState->deltaX());
    EXPECT_FLOAT_EQ(deltaY - deltaYToConsume, scrollState->deltaY());
    EXPECT_TRUE(scrollState->deltaConsumedForScrollSequence());
    EXPECT_FALSE(scrollState->fullyConsumed());

    scrollState->consumeDeltaNative(scrollState->deltaX(), scrollState->deltaY());
    EXPECT_TRUE(scrollState->deltaConsumedForScrollSequence());
    EXPECT_TRUE(scrollState->fullyConsumed());
}