summaryrefslogtreecommitdiff
path: root/tests/unit/unittest/translationunittest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/unit/unittest/translationunittest.cpp')
-rw-r--r--tests/unit/unittest/translationunittest.cpp88
1 files changed, 58 insertions, 30 deletions
diff --git a/tests/unit/unittest/translationunittest.cpp b/tests/unit/unittest/translationunittest.cpp
index 4bc2d11061..24bdcdac10 100644
--- a/tests/unit/unittest/translationunittest.cpp
+++ b/tests/unit/unittest/translationunittest.cpp
@@ -30,12 +30,13 @@
#include <commandlinearguments.h>
#include <diagnosticset.h>
+#include <highlightinginformations.h>
#include <filecontainer.h>
#include <projectpart.h>
#include <projects.h>
#include <translationunitdoesnotexistexception.h>
#include <translationunitfilenotexitexception.h>
-#include <translationunit.h>
+#include <clangtranslationunit.h>
#include <translationunitisnullexception.h>
#include <translationunitparseerrorexception.h>
#include <translationunits.h>
@@ -194,18 +195,20 @@ TEST_F(TranslationUnit, DependedFilePaths)
Contains(Utf8StringLiteral(TESTDATA_DIR"/translationunits.h"))));
}
-TEST_F(TranslationUnit, NeedsNoReparseAfterCreation)
+TEST_F(TranslationUnit, DeletedFileShouldNotNeedReparsing)
{
- translationUnit.cxTranslationUnit();
+ auto translationUnit = createTemporaryTranslationUnit();
+
+ translationUnit.setDirtyIfDependencyIsMet(translationUnit.filePath());
ASSERT_FALSE(translationUnit.isNeedingReparse());
}
-TEST_F(TranslationUnit, HasNewDiagnosticsAfterCreation)
+TEST_F(TranslationUnit, NeedsNoReparseAfterCreation)
{
translationUnit.cxTranslationUnit();
- ASSERT_TRUE(translationUnit.hasNewDiagnostics());
+ ASSERT_FALSE(translationUnit.isNeedingReparse());
}
TEST_F(TranslationUnit, NeedsReparseAfterChangeOfMainFile)
@@ -217,15 +220,6 @@ TEST_F(TranslationUnit, NeedsReparseAfterChangeOfMainFile)
ASSERT_TRUE(translationUnit.isNeedingReparse());
}
-TEST_F(TranslationUnit, HasNewDiagnosticsAfterChangeOfMainFile)
-{
- translationUnit.cxTranslationUnit();
-
- translationUnit.setDirtyIfDependencyIsMet(translationUnitFilePath);
-
- ASSERT_TRUE(translationUnit.hasNewDiagnostics());
-}
-
TEST_F(TranslationUnit, NoNeedForReparsingForIndependendFile)
{
translationUnit.cxTranslationUnit();
@@ -244,23 +238,30 @@ TEST_F(TranslationUnit, NeedsReparsingForDependendFile)
ASSERT_TRUE(translationUnit.isNeedingReparse());
}
-TEST_F(TranslationUnit, NeedsReparsingForMainFile)
+TEST_F(TranslationUnit, NeedsNoReparsingAfterReparsing)
{
translationUnit.cxTranslationUnit();
+ translationUnit.setDirtyIfDependencyIsMet(Utf8StringLiteral(TESTDATA_DIR"/translationunits.h"));
- translationUnit.setDirtyIfDependencyIsMet(translationUnitFilePath);
+ translationUnit.cxTranslationUnit();
- ASSERT_TRUE(translationUnit.isNeedingReparse());
+ ASSERT_FALSE(translationUnit.isNeedingReparse());
}
-TEST_F(TranslationUnit, NeedsNoReparsingAfterReparsing)
+TEST_F(TranslationUnit, HasNewDiagnosticsAfterCreation)
{
translationUnit.cxTranslationUnit();
- translationUnit.setDirtyIfDependencyIsMet(Utf8StringLiteral(TESTDATA_DIR"/translationunits.h"));
+ ASSERT_TRUE(translationUnit.hasNewDiagnostics());
+}
+
+TEST_F(TranslationUnit, HasNewDiagnosticsAfterChangeOfMainFile)
+{
translationUnit.cxTranslationUnit();
- ASSERT_FALSE(translationUnit.isNeedingReparse());
+ translationUnit.setDirtyIfDependencyIsMet(translationUnitFilePath);
+
+ ASSERT_TRUE(translationUnit.hasNewDiagnostics());
}
TEST_F(TranslationUnit, HasNoNewDiagnosticsForIndependendFile)
@@ -282,32 +283,59 @@ TEST_F(TranslationUnit, HasNewDiagnosticsForDependendFile)
ASSERT_TRUE(translationUnit.hasNewDiagnostics());
}
-TEST_F(TranslationUnit, HasNewDiagnosticsForMainFile)
+TEST_F(TranslationUnit, HasNoNewDiagnosticsAfterGettingDiagnostics)
{
translationUnit.cxTranslationUnit();
-
translationUnit.setDirtyIfDependencyIsMet(translationUnitFilePath);
- ASSERT_TRUE(translationUnit.hasNewDiagnostics());
+ translationUnit.diagnostics(); // Reset hasNewDiagnostics
+
+ ASSERT_FALSE(translationUnit.hasNewDiagnostics());
}
-TEST_F(TranslationUnit, HasNoNewDiagnosticsAfterGettingDiagnostics)
+TEST_F(TranslationUnit, HasNewHighlightingInformationsAfterCreation)
{
translationUnit.cxTranslationUnit();
+
+ ASSERT_TRUE(translationUnit.hasNewHighlightingInformations());
+}
+
+TEST_F(TranslationUnit, HasNewHighlightingInformationsForMainFile)
+{
+ translationUnit.cxTranslationUnit();
+
translationUnit.setDirtyIfDependencyIsMet(translationUnitFilePath);
- translationUnit.diagnostics();
+ ASSERT_TRUE(translationUnit.hasNewHighlightingInformations());
+}
- ASSERT_FALSE(translationUnit.hasNewDiagnostics());
+TEST_F(TranslationUnit, HasNoNewHighlightingInformationsForIndependendFile)
+{
+ translationUnit.cxTranslationUnit();
+ translationUnit.highlightingInformations();
+
+ translationUnit.setDirtyIfDependencyIsMet(Utf8StringLiteral(TESTDATA_DIR"/otherfiles.h"));
+
+ ASSERT_FALSE(translationUnit.hasNewHighlightingInformations());
}
-TEST_F(TranslationUnit, DeletedFileShouldBeNotSetDirty)
+TEST_F(TranslationUnit, HasNewHighlightingInformationsForDependendFile)
{
- auto translationUnit = createTemporaryTranslationUnit();
+ translationUnit.cxTranslationUnit();
- translationUnit.setDirtyIfDependencyIsMet(translationUnit.filePath());
+ translationUnit.setDirtyIfDependencyIsMet(Utf8StringLiteral(TESTDATA_DIR"/translationunits.h"));
- ASSERT_FALSE(translationUnit.isNeedingReparse());
+ ASSERT_TRUE(translationUnit.hasNewHighlightingInformations());
+}
+
+TEST_F(TranslationUnit, HasNoNewHighlightingInformationsAfterGettingHighlightingInformations)
+{
+ translationUnit.cxTranslationUnit();
+ translationUnit.setDirtyIfDependencyIsMet(translationUnitFilePath);
+
+ translationUnit.highlightingInformations();
+
+ ASSERT_FALSE(translationUnit.hasNewHighlightingInformations());
}
::TranslationUnit TranslationUnit::createTemporaryTranslationUnit()