zzag added a comment.

    void DecorationButtonTest::testContains_data()
    {
        QTest::addColumn<QRectF>("geometry");
        QTest::addColumn<QPointF>("pos");
        QTest::addColumn<bool>("contains");
    
        QTest::newRow("left edge (integer)")   << QRectF(0, 0, 10, 10) << 
QPointF(0, 5) << true;
        QTest::newRow("top edge (integer)")    << QRectF(0, 0, 10, 10) << 
QPointF(5, 0) << true;
        QTest::newRow("right edge (integer)")  << QRectF(0, 0, 10, 10) << 
QPointF(9, 5) << true;
        QTest::newRow("bottom edge (integer)") << QRectF(0, 0, 10, 10) << 
QPointF(5, 9) << true;
        QTest::newRow("inside (integer)")      << QRectF(0, 0, 10, 10) << 
QPointF(5, 5) << true;
    
        QTest::newRow("outside 1 (integer)") << QRectF(0, 0, 10, 10) << 
QPointF(-1, 5) << false;
        QTest::newRow("outside 2 (integer)") << QRectF(0, 0, 10, 10) << 
QPointF(5, -1) << false;
        QTest::newRow("outside 3 (integer)") << QRectF(0, 0, 10, 10) << 
QPointF(10, 5) << false;
        QTest::newRow("outside 4 (integer)") << QRectF(0, 0, 10, 10) << 
QPointF(5, 10) << false;
    
        const qreal eps = 1e-3;
        QTest::newRow("left edge (float)")   << QRectF(0.1, 0.1, 10.0, 10.0) << 
QPointF(0.1, 5.1)        << true;
        QTest::newRow("top edge (float)")    << QRectF(0.1, 0.1, 10.0, 10.0) << 
QPointF(5.1, 0.1)        << true;
        QTest::newRow("right edge (float)")  << QRectF(0.1, 0.1, 10.0, 10.0) << 
QPointF(10.1 - eps, 5.1) << true;
        QTest::newRow("bottom edge (float)") << QRectF(0.1, 0.1, 10.0, 10.0) << 
QPointF(5.1, 10.1 - eps) << true;
        QTest::newRow("inside (float)")      << QRectF(0.1, 0.1, 10.0, 10.0) << 
QPointF(5.0, 5.0)        << true;
    
        QTest::newRow("outside 1 (float)") << QRectF(0.1, 0.1, 10.0, 10.0) << 
QPointF(0.1 - eps, 5.1)  << false;
        QTest::newRow("outside 2 (float)") << QRectF(0.1, 0.1, 10.0, 10.0) << 
QPointF(5.1, 0.1 - eps)  << false;
        QTest::newRow("outside 3 (float)") << QRectF(0.1, 0.1, 10.0, 10.0) << 
QPointF(10.1, 5.1)       << false;
        QTest::newRow("outside 4 (float)") << QRectF(0.1, 0.1, 10.0, 10.0) << 
QPointF(5.1, 10.1)       << false;
        QTest::newRow("outside 5 (float)") << QRectF(0.1, 0.1, 10.0, 10.0) << 
QPointF(10.1 + eps, 5.1) << false;
        QTest::newRow("outside 6 (float)") << QRectF(0.1, 0.1, 10.0, 10.0) << 
QPointF(5.1, 10.1 + eps) << false;
    }
    
    void DecorationButtonTest::testContains()
    {
        MockBridge bridge;
        MockDecoration mockDecoration(&bridge);
    
        QFETCH(QRectF, geometry);
        MockButton button(KDecoration2::DecorationButtonType::Custom, 
&mockDecoration);
        button.setGeometry(geometry);
        button.setEnabled(true);
        button.setVisible(true);
    
        QFETCH(QPointF, pos);
        QTEST(button.contains(pos), "contains");
    }

REPOSITORY
  R129 Window Decoration Library

REVISION DETAIL
  https://phabricator.kde.org/D15907

To: romangg, #kwin, zzag, davidedmundson
Cc: plasma-devel, jraleigh, GB_2, ragreen, Pitel, ZrenBot, lesliezhai, 
ali-mohamed, jensreuterberg, abetts, sebas, apol, mart

Reply via email to