From 8828a2fa38dd4a0f03b85e60c9ddbb74bbfa28f2 Mon Sep 17 00:00:00 2001
From: Erik Verbruggen <erik.verbruggen@digia.com>
Date: Fri, 12 Jul 2013 12:35:49 +0200
Subject: [PATCH] C++: add test for TranslationUnit::getPosition bug

This test is marked as failing, because the bug is still there. To be
fixed when we re-use the generated token stream of the preprocessor as
input for the parser.

Task-number: QTCREATORBUG-9799
Change-Id: I454a9939aa188a6ff934a11699232f39c828bc7b
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
---
 tests/auto/cplusplus/ast/tst_ast.cpp | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/tests/auto/cplusplus/ast/tst_ast.cpp b/tests/auto/cplusplus/ast/tst_ast.cpp
index fff4aa3ddf9..6bfda0f5035 100644
--- a/tests/auto/cplusplus/ast/tst_ast.cpp
+++ b/tests/auto/cplusplus/ast/tst_ast.cpp
@@ -94,6 +94,10 @@ public:
 
 private slots:
     void initTestCase();
+
+    // line/column positions
+    void line_and_column_1();
+
     // declarations
     void gcc_attributes_1();
     void gcc_attributes_2();
@@ -1609,5 +1613,19 @@ void tst_AST::initTestCase()
     control.setDiagnosticClient(&diag);
 }
 
+void tst_AST::line_and_column_1()
+{
+    QSharedPointer<TranslationUnit> unit(parseDeclaration("\n"
+                                                          "int i;\n",
+                                                          false, true));
+    unsigned line, column = 0;
+    QVERIFY(unit->ast());
+    QVERIFY(unit->tokenAt(1).is(T_INT));
+    unit->getTokenPosition(1, &line, &column);
+    QEXPECT_FAIL("", "See QTCREATORBUG-9799.", Continue);
+    QCOMPARE(line, 2U);
+    QCOMPARE(column, 1U);
+}
+
 QTEST_APPLESS_MAIN(tst_AST)
 #include "tst_ast.moc"
-- 
GitLab