Clang: Do not work on unspecified values in ProjectParts::remove

Change-Id: Icc322bc64988cbc1b5ec4e6d6474b1b6b956c667
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
This commit is contained in:
Marco Bubke
2015-07-16 11:54:11 +02:00
parent 7bc397b1ff
commit 0bc18df655
2 changed files with 22 additions and 5 deletions

View File

@@ -153,7 +153,7 @@ TEST(ProjectPart, ProjectPartProjectPartIdIsEmptyfterRemoving)
ASSERT_TRUE(project.projectPartId().isEmpty());
}
TEST(Project, ThrowsForNotExistingProjectPartButRemovesAllExistingProject)
TEST(ProjectPart, ThrowsForNotExistingProjectPartButRemovesAllExistingProject)
{
ClangBackEnd::ProjectPartContainer projectContainer(Utf8StringLiteral("pathToProjectPart.pro"));
ClangBackEnd::ProjectParts projects;
@@ -165,6 +165,18 @@ TEST(Project, ThrowsForNotExistingProjectPartButRemovesAllExistingProject)
ASSERT_THAT(projects.projects(), Not(Contains(project)));
}
TEST(ProjectPart, ProjectPartIdIsEmptyAfterRemove)
{
ClangBackEnd::ProjectPartContainer projectContainer(Utf8StringLiteral("pathToProjectPart.pro"));
ClangBackEnd::ProjectParts projects;
projects.createOrUpdate({projectContainer});
ClangBackEnd::ProjectPart project = *projects.findProjectPart(projectContainer.projectPartId());
projects.remove({projectContainer.projectPartId()});
ASSERT_THAT(project.projectPartId(), Utf8String());
}
TEST(ProjectPart, HasProjectPart)
{
ClangBackEnd::ProjectPartContainer projectContainer(Utf8StringLiteral("pathToProjectPart.pro"));