void tst_Lookup::document_functionAt_1() { const QByteArray source = "\n" "void Foo::Bar() {\n" // line 1 " \n" // line 2 " for (int i=0; i < 10; ++i) {\n" " \n" // line 4 " }\n" "}\n"; // line 7 Document::Ptr doc = Document::create("document_functionAt_1"); doc->setUtf8Source(source); doc->parse(); doc->check(); QVERIFY(doc->diagnosticMessages().isEmpty()); QCOMPARE(doc->functionAt(1, 2), QString()); QCOMPARE(doc->functionAt(1, 11), QString(QLatin1String("Foo::Bar"))); QCOMPARE(doc->functionAt(2, 2), QString(QLatin1String("Foo::Bar"))); QCOMPARE(doc->functionAt(3, 10), QString(QLatin1String("Foo::Bar"))); QCOMPARE(doc->functionAt(4, 3), QString(QLatin1String("Foo::Bar"))); QCOMPARE(doc->functionAt(6, 1), QString(QLatin1String("Foo::Bar"))); }
void tst_Lookup::document_functionAt() { QFETCH(QByteArray, source); QFETCH(int, line); QFETCH(int, column); QFETCH(QString, expectedFunction); QFETCH(int, expectedOpeningDeclaratorParenthesisLine); QFETCH(int, expectedClosingBraceLine); Document::Ptr doc = Document::create("document_functionAt"); doc->setUtf8Source(source); doc->parse(); doc->check(); QVERIFY(doc->diagnosticMessages().isEmpty()); int actualOpeningDeclaratorParenthesisLine = -1; int actualClosingBraceLine = -1; const QString actualFunction = doc->functionAt(line, column, &actualOpeningDeclaratorParenthesisLine, &actualClosingBraceLine); QCOMPARE(actualFunction, expectedFunction); QCOMPARE(actualOpeningDeclaratorParenthesisLine, expectedOpeningDeclaratorParenthesisLine); QCOMPARE(actualClosingBraceLine, expectedClosingBraceLine); }