diff options
Diffstat (limited to 'tests/auto/gui/text/qcssparser/tst_qcssparser.cpp')
-rw-r--r-- | tests/auto/gui/text/qcssparser/tst_qcssparser.cpp | 50 |
1 files changed, 42 insertions, 8 deletions
diff --git a/tests/auto/gui/text/qcssparser/tst_qcssparser.cpp b/tests/auto/gui/text/qcssparser/tst_qcssparser.cpp index 95d1557300..2301655909 100644 --- a/tests/auto/gui/text/qcssparser/tst_qcssparser.cpp +++ b/tests/auto/gui/text/qcssparser/tst_qcssparser.cpp @@ -120,6 +120,7 @@ static const char *tokenName(QCss::TokenType t) case QCss::PLUS: return "PLUS"; case QCss::GREATER: return "GREATER"; case QCss::COMMA: return "COMMA"; + case QCss::TILDE: return "TILDE"; case QCss::STRING: return "STRING"; case QCss::INVALID: return "INVALID"; case QCss::IDENT: return "IDENT"; @@ -480,7 +481,7 @@ void tst_QCssParser::selector_data() QCss::BasicSelector basic; basic.elementName = "p"; - basic.relationToNext = QCss::BasicSelector::MatchNextSelectorIfPreceeds; + basic.relationToNext = QCss::BasicSelector::MatchNextSelectorIfDirectAdjecent; sel.basicSelectors << basic; basic = QCss::BasicSelector(); @@ -572,14 +573,29 @@ void tst_QCssParser::selector_data() QCss::BasicSelector basic; basic.elementName = "e"; - basic.relationToNext = QCss::BasicSelector::MatchNextSelectorIfPreceeds; + basic.relationToNext = QCss::BasicSelector::MatchNextSelectorIfDirectAdjecent; sel.basicSelectors << basic; basic.elementName = "f"; basic.relationToNext = QCss::BasicSelector::NoRelation; sel.basicSelectors << basic; - QTest::newRow("precede") << QString("e + f") << sel; + QTest::newRow("lastsibling") << QString("e + f") << sel; + } + + { + QCss::Selector sel; + QCss::BasicSelector basic; + + basic.elementName = "e"; + basic.relationToNext = QCss::BasicSelector::MatchNextSelectorIfIndirectAdjecent; + sel.basicSelectors << basic; + + basic.elementName = "f"; + basic.relationToNext = QCss::BasicSelector::NoRelation; + sel.basicSelectors << basic; + + QTest::newRow("previoussibling") << QString("e ~ f") << sel; } { @@ -985,11 +1001,20 @@ void tst_QCssParser::styleSelector_data() QTest::newRow("attrmatch") << true << QString("[foo=bar]") << QString("<p foo=\"bar\" />") << QString(); QTest::newRow("noattrmatch") << false << QString("[foo=bar]") << QString("<p foo=\"xyz\" />") << QString(); - QTest::newRow("contains") << true << QString("[foo~=bar]") << QString("<p foo=\"baz bleh bar\" />") << QString(); - QTest::newRow("notcontains") << false << QString("[foo~=bar]") << QString("<p foo=\"test\" />") << QString(); + QTest::newRow("includes") << true << QString("[foo~=bar]") << QString("<p foo=\"baz bleh bar\" />") << QString(); + QTest::newRow("notincludes") << false << QString("[foo~=bar]") << QString("<p foo=\"bazblehbar\" />") << QString(); + + QTest::newRow("dashmatch") << true << QString("[foo|=bar]") << QString("<p foo=\"bar-bleh\" />") << QString(); + QTest::newRow("nodashmatch") << false << QString("[foo|=bar]") << QString("<p foo=\"barbleh\" />") << QString(); + + QTest::newRow("beginswith") << true << QString("[foo^=bar]") << QString("<p foo=\"barbleh\" />") << QString(); + QTest::newRow("nobeginswith") << false << QString("[foo^=bar]") << QString("<p foo=\"blehbleh\" />") << QString(); - QTest::newRow("beingswith") << true << QString("[foo|=bar]") << QString("<p foo=\"bar-bleh\" />") << QString(); - QTest::newRow("notbeingswith") << false << QString("[foo|=bar]") << QString("<p foo=\"bleh-bar\" />") << QString(); + QTest::newRow("endswith") << true << QString("[foo$=bar]") << QString("<p foo=\"barbar\" />") << QString(); + QTest::newRow("noendswith") << false << QString("[foo$=bar]") << QString("<p foo=\"blehbleh\" />") << QString(); + + QTest::newRow("contains") << true << QString("[foo*=bar]") << QString("<p foo=\"blehbarbleh\" />") << QString(); + QTest::newRow("nocontains") << false << QString("[foo*=bar]") << QString("<p foo=\"blehbleh\" />") << QString(); QTest::newRow("attr2") << true << QString("[bar=foo]") << QString("<p bleh=\"bar\" bar=\"foo\" />") << QString(); @@ -1070,10 +1095,19 @@ void tst_QCssParser::styleSelector_data() << QString("<p1 /><p2 />") << QString("p2"); - QTest::newRow("noprevioussibling") << false << QString("p2 + p1") + QTest::newRow("notprevioussibling") << false << QString("p2 + p1") << QString("<p1 /><p2 />") << QString("p2"); + QTest::newRow("anyprevioussibling") << true << QString("p1 ~ p3") + << QString("<p1 /><p2 /><p3 />") + << QString("p3"); + + QTest::newRow("noprevioussibling") << false << QString("p3 ~ p2") + << QString("<p1 /><p2 /><p3 />") + << QString("p3"); + + QTest::newRow("ancestry_firstmismatch") << false << QString("parent child[foo=bar]") << QString("<parent><child /></parent>") << QString("parent/child"); |