diff options
Diffstat (limited to 'tests/unit/unittest/translationunittest.cpp')
-rw-r--r-- | tests/unit/unittest/translationunittest.cpp | 88 |
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() |