diff options
author | Orgad Shaneh <orgad.shaneh@audiocodes.com> | 2012-10-28 21:54:24 +0200 |
---|---|---|
committer | Orgad Shaneh <orgads@gmail.com> | 2012-10-29 14:59:29 +0100 |
commit | ab85e7342e7b51a10b6bf5ebc66c1a47c70f3fa6 (patch) | |
tree | 924bc36fe00fcc530cd88a50f150afb44291b6d3 /src/plugins/git/gitplugin.cpp | |
parent | 0f2f2a59d2eda4f7a2d79957649c2af4a3f6bc46 (diff) | |
download | qt-creator-ab85e7342e7b51a10b6bf5ebc66c1a47c70f3fa6.tar.gz |
Git: Extract FileState from CommitData
* Add a QFlags type for it and use it
* Clean up GitClient::addAndCommit
* Rename Updated -> Unmerged
Change-Id: Id96f71fb78af923605f5773f65a5625244a49499
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Diffstat (limited to 'src/plugins/git/gitplugin.cpp')
-rw-r--r-- | src/plugins/git/gitplugin.cpp | 54 |
1 files changed, 26 insertions, 28 deletions
diff --git a/src/plugins/git/gitplugin.cpp b/src/plugins/git/gitplugin.cpp index 123b69bd75..7759c24ed2 100644 --- a/src/plugins/git/gitplugin.cpp +++ b/src/plugins/git/gitplugin.cpp @@ -1069,44 +1069,42 @@ GitClient *GitPlugin::gitClient() const #ifdef WITH_TESTS #include <QTest> -Q_DECLARE_METATYPE(CommitData::FileState) +Q_DECLARE_METATYPE(FileStates) void GitPlugin::testStatusParsing_data() { - QTest::addColumn<QString>("line"); - QTest::addColumn<CommitData::FileState>("first"); - QTest::addColumn<CommitData::FileState>("second"); - -#define STATUS_TEST(status, first, second) \ - QTest::newRow(status) << QString::fromLatin1(status) << CommitData::first << CommitData::second; - STATUS_TEST(" M", ModifiedFile, UnknownFileState); - STATUS_TEST(" D", DeletedFile, UnknownFileState); - STATUS_TEST("M ", ModifiedStagedFile, UnknownFileState); - STATUS_TEST("MM", ModifiedStagedFile, ModifiedFile); - STATUS_TEST("MD", ModifiedStagedFile, DeletedFile); - STATUS_TEST("A ", AddedStagedFile, UnknownFileState); - STATUS_TEST("AM", AddedStagedFile, ModifiedFile); - STATUS_TEST("AD", AddedStagedFile, DeletedFile); - STATUS_TEST("D ", DeletedStagedFile, UnknownFileState); - STATUS_TEST("DM", DeletedStagedFile, ModifiedFile); - STATUS_TEST("R ", RenamedStagedFile, UnknownFileState); - STATUS_TEST("RM", RenamedStagedFile, ModifiedFile); - STATUS_TEST("RD", RenamedStagedFile, DeletedFile); - STATUS_TEST("C ", CopiedStagedFile, UnknownFileState); - STATUS_TEST("CM", CopiedStagedFile, ModifiedFile); - STATUS_TEST("CD", CopiedStagedFile, DeletedFile); + QTest::addColumn<FileStates>("first"); + QTest::addColumn<FileStates>("second"); + + QTest::newRow(" M") << FileStates(ModifiedFile) << FileStates(UnknownFileState); + QTest::newRow(" D") << FileStates(DeletedFile) << FileStates(UnknownFileState); + QTest::newRow("M ") << (ModifiedFile | StagedFile) << FileStates(UnknownFileState); + QTest::newRow("MM") << (ModifiedFile | StagedFile) << FileStates(ModifiedFile); + QTest::newRow("MD") << (ModifiedFile | StagedFile) << FileStates(DeletedFile); + QTest::newRow("A ") << (AddedFile | StagedFile) << FileStates(UnknownFileState); + QTest::newRow("AM") << (AddedFile | StagedFile) << FileStates(ModifiedFile); + QTest::newRow("AD") << (AddedFile | StagedFile) << FileStates(DeletedFile); + QTest::newRow("D ") << (DeletedFile | StagedFile) << FileStates(UnknownFileState); + QTest::newRow("DM") << (DeletedFile | StagedFile) << FileStates(ModifiedFile); + QTest::newRow("R ") << (RenamedFile | StagedFile) << FileStates(UnknownFileState); + QTest::newRow("RM") << (RenamedFile | StagedFile) << FileStates(ModifiedFile); + QTest::newRow("RD") << (RenamedFile | StagedFile) << FileStates(DeletedFile); + QTest::newRow("C ") << (CopiedFile | StagedFile) << FileStates(UnknownFileState); + QTest::newRow("CM") << (CopiedFile | StagedFile) << FileStates(ModifiedFile); + QTest::newRow("CD") << (CopiedFile | StagedFile) << FileStates(DeletedFile); } void GitPlugin::testStatusParsing() { CommitData data; - QFETCH(QString, line); - QFETCH(CommitData::FileState, first); - QFETCH(CommitData::FileState, second); + QFETCH(FileStates, first); + QFETCH(FileStates, second); QString output = QLatin1String("## master...origin/master [ahead 1]\n"); - output += line + QLatin1String(" main.cpp\n"); + output += QString::fromLatin1(QTest::currentDataTag()) + QLatin1String(" main.cpp\n"); data.parseFilesFromStatus(output); QCOMPARE(data.files.at(0).first, first); - if (second != CommitData::UnknownFileState) + if (second == UnknownFileState) + QCOMPARE(data.files.size(), 1); + else QCOMPARE(data.files.at(1).first, second); } #endif |