-
Notifications
You must be signed in to change notification settings - Fork 175
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
test: [file-preview] add UT of file preview
add UT of file preview
- Loading branch information
1 parent
96074ed
commit 81caa0f
Showing
11 changed files
with
1,213 additions
and
45 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
73 changes: 73 additions & 0 deletions
73
tests/plugins/common/dfmplugin-preview/filepreview/pluginInterface/ut_filepreviewfactory.cpp
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
// SPDX-FileCopyrightText: 2022 - 2023 UnionTech Software Technology Co., Ltd. | ||
// | ||
// SPDX-License-Identifier: GPL-3.0-or-later | ||
|
||
#include "stubext.h" | ||
#include "pluginInterface/filepreviewfactory.h" | ||
#include "pluginInterface/previewpluginloader.h" | ||
#include "views/unknowfilepreview.h" | ||
|
||
#include <gtest/gtest.h> | ||
|
||
#include <dfm-base/interfaces/abstractbasepreview.h> | ||
#include <dfm-base/interfaces/abstractfilepreviewplugin.h> | ||
|
||
DPFILEPREVIEW_USE_NAMESPACE | ||
DFMBASE_USE_NAMESPACE | ||
|
||
TEST(UT_FilePreviewFactory, keys) | ||
{ | ||
QMultiMap<int, QString> map; | ||
map.insert(1, "UT_TEST"); | ||
stub_ext::StubExt stub; | ||
stub.set_lamda(&PreviewPluginLoader::keyMap, [ &map ]{ | ||
return map; | ||
}); | ||
|
||
QStringList result = FilePreviewFactory::keys(); | ||
|
||
EXPECT_TRUE(result.first() == "UT_TEST"); | ||
} | ||
|
||
TEST(UT_FilePreviewFactory, create_one) | ||
{ | ||
stub_ext::StubExt stub; | ||
stub.set_lamda(dLoadPlugin<AbstractBasePreview, AbstractFilePreviewPlugin>, []{ | ||
return nullptr; | ||
}); | ||
|
||
UnknowFilePreview *result = qobject_cast<UnknowFilePreview *>(FilePreviewFactory::create("UT_TEST")); | ||
|
||
EXPECT_FALSE(result); | ||
} | ||
|
||
TEST(UT_FilePreviewFactory, create_two) | ||
{ | ||
UnknowFilePreview view; | ||
|
||
stub_ext::StubExt stub; | ||
stub.set_lamda(dLoadPlugin<AbstractBasePreview, AbstractFilePreviewPlugin>, [ &view ]{ | ||
return &view; | ||
}); | ||
|
||
UnknowFilePreview *result = qobject_cast<UnknowFilePreview *>(FilePreviewFactory::create("UT_TEST")); | ||
|
||
EXPECT_TRUE(result); | ||
} | ||
|
||
TEST(UT_FilePreviewFactory, isSuitedWithKey_one) | ||
{ | ||
bool isOk = FilePreviewFactory::isSuitedWithKey(nullptr, "UT_TEST"); | ||
|
||
EXPECT_FALSE(isOk); | ||
} | ||
|
||
TEST(UT_FilePreviewFactory, isSuitedWithKey_two) | ||
{ | ||
UnknowFilePreview view; | ||
FilePreviewFactory::previewToLoaderIndex.insert(&view, 1); | ||
|
||
bool isOk = FilePreviewFactory::isSuitedWithKey(&view, "UT_TEST"); | ||
|
||
EXPECT_FALSE(isOk); | ||
} |
199 changes: 199 additions & 0 deletions
199
...s/plugins/common/dfmplugin-preview/filepreview/pluginInterface/ut_previewpluginloader.cpp
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,199 @@ | ||
// SPDX-FileCopyrightText: 2022 - 2023 UnionTech Software Technology Co., Ltd. | ||
// | ||
// SPDX-License-Identifier: GPL-3.0-or-later | ||
|
||
#include "stubext.h" | ||
#include "pluginInterface/previewpluginloader.h" | ||
#include "pluginInterface/private/pluginloader_p.h" | ||
|
||
#include <gtest/gtest.h> | ||
|
||
#include <QDir> | ||
|
||
DPFILEPREVIEW_USE_NAMESPACE | ||
|
||
TEST(UT_PreviewPluginLoader, metaData) | ||
{ | ||
stub_ext::StubExt stub; | ||
stub.set_lamda(&PreviewPluginLoader::update, []{}); | ||
|
||
QPluginLoader qLoader; | ||
PreviewPluginLoader loader("UT_TEST", "UT"); | ||
loader.dptr->pluginLoaderList.push_back(&qLoader); | ||
QList<QJsonObject> result = loader.metaData(); | ||
|
||
EXPECT_FALSE(result.isEmpty()); | ||
} | ||
|
||
TEST(UT_PreviewPluginLoader, instance_one) | ||
{ | ||
stub_ext::StubExt stub; | ||
stub.set_lamda(&PreviewPluginLoader::update, []{}); | ||
|
||
PreviewPluginLoader loader("UT_TEST", "UT"); | ||
QObject *result = loader.instance(-1); | ||
|
||
EXPECT_FALSE(result); | ||
} | ||
|
||
TEST(UT_PreviewPluginLoader, instance_two) | ||
{ | ||
stub_ext::StubExt stub; | ||
stub.set_lamda(&PreviewPluginLoader::update, []{}); | ||
|
||
QPluginLoader qLoader; | ||
PreviewPluginLoader loader("UT_TEST", "UT"); | ||
loader.dptr->pluginLoaderList.push_back(&qLoader); | ||
QObject *result = loader.instance(0); | ||
|
||
EXPECT_FALSE(result); | ||
} | ||
|
||
TEST(UT_PreviewPluginLoader, instance_three) | ||
{ | ||
stub_ext::StubExt stub; | ||
stub.set_lamda(&PreviewPluginLoader::update, []{}); | ||
|
||
QPluginLoader qLoader; | ||
PreviewPluginLoader loader("UT_TEST", "UT"); | ||
loader.dptr->pluginLoaderList.clear(); | ||
QObject *result = loader.instance(0); | ||
|
||
EXPECT_FALSE(result); | ||
} | ||
|
||
TEST(UT_PreviewPluginLoader, pluginLoader) | ||
{ | ||
stub_ext::StubExt stub; | ||
stub.set_lamda(&PreviewPluginLoader::update, []{}); | ||
|
||
PreviewPluginLoader loader("UT_TEST", "UT"); | ||
QPluginLoader *result = loader.pluginLoader("UT_TEST"); | ||
|
||
EXPECT_FALSE(result); | ||
} | ||
|
||
TEST(UT_PreviewPluginLoader, pluginLoaderList) | ||
{ | ||
stub_ext::StubExt stub; | ||
stub.set_lamda(&PreviewPluginLoader::update, []{}); | ||
|
||
PreviewPluginLoader loader("UT_TEST", "UT"); | ||
QList<QPluginLoader *> result = loader.pluginLoaderList("UT_TEST"); | ||
|
||
EXPECT_TRUE(result.isEmpty()); | ||
} | ||
|
||
TEST(UT_PreviewPluginLoader, keyMap) | ||
{ | ||
stub_ext::StubExt stub; | ||
stub.set_lamda(&PreviewPluginLoader::update, []{}); | ||
|
||
QPluginLoader qLoader; | ||
PreviewPluginLoader loader("UT_TEST", "UT"); | ||
loader.dptr->pluginLoaderList.push_back(&qLoader); | ||
QMultiMap<int, QString> result = loader.keyMap(); | ||
|
||
EXPECT_TRUE(result.isEmpty()); | ||
} | ||
|
||
TEST(UT_PreviewPluginLoader, indexOf) | ||
{ | ||
stub_ext::StubExt stub; | ||
stub.set_lamda(&PreviewPluginLoader::update, []{}); | ||
|
||
QPluginLoader qLoader; | ||
PreviewPluginLoader loader("UT_TEST", "UT"); | ||
loader.dptr->pluginLoaderList.push_back(&qLoader); | ||
int result = loader.indexOf("UT_TEST"); | ||
|
||
EXPECT_TRUE(result == -1); | ||
} | ||
|
||
TEST(UT_PreviewPluginLoader, getAllIndexByKey) | ||
{ | ||
stub_ext::StubExt stub; | ||
stub.set_lamda(&PreviewPluginLoader::update, []{}); | ||
|
||
QPluginLoader qLoader; | ||
PreviewPluginLoader loader("UT_TEST", "UT"); | ||
loader.dptr->pluginLoaderList.push_back(&qLoader); | ||
QList<int> result = loader.getAllIndexByKey("UT_TEST"); | ||
|
||
EXPECT_TRUE(result.isEmpty()); | ||
} | ||
|
||
TEST(UT_PreviewPluginLoader, update_one) | ||
{ | ||
bool isOk { false }; | ||
|
||
stub_ext::StubExt stub; | ||
typedef bool(QDir::*FuncType)(const QString &)const; | ||
stub.set_lamda(static_cast<FuncType>(&QDir::exists), [ &isOk ]{ | ||
isOk = true; | ||
return false; | ||
}); | ||
|
||
PreviewPluginLoader loader("UT_TEST", "UT"); | ||
loader.dptr->pluginPaths.push_back("UT_TEST"); | ||
loader.dptr->loadedPaths.clear(); | ||
loader.update(); | ||
|
||
EXPECT_TRUE(isOk); | ||
} | ||
|
||
TEST(UT_PreviewPluginLoader, update_two) | ||
{ | ||
bool isOk { false }; | ||
|
||
stub_ext::StubExt stub; | ||
typedef bool(QDir::*FuncType)(const QString &)const; | ||
stub.set_lamda(static_cast<FuncType>(&QDir::exists), [ &isOk ]{ | ||
isOk = true; | ||
return true; | ||
}); | ||
|
||
PreviewPluginLoader loader("UT_TEST", "UT"); | ||
loader.dptr->pluginPaths.push_back("UT_TEST"); | ||
loader.dptr->loadedPaths.clear(); | ||
loader.update(); | ||
|
||
EXPECT_TRUE(isOk); | ||
} | ||
|
||
TEST(UT_PreviewPluginLoader, update_three) | ||
{ | ||
bool isOk { false }; | ||
|
||
stub_ext::StubExt stub; | ||
typedef bool(QDir::*FuncType)(const QString &)const; | ||
stub.set_lamda(static_cast<FuncType>(&QDir::exists), []{ | ||
return true; | ||
}); | ||
stub.set_lamda(&QPluginLoader::load, [ &isOk ]{ | ||
isOk = true; | ||
return true; | ||
}); | ||
|
||
PreviewPluginLoader loader("UT_TEST", "UT"); | ||
loader.dptr->pluginPaths.push_back("UT_TEST"); | ||
loader.dptr->loadedPaths.clear(); | ||
loader.update(); | ||
|
||
EXPECT_TRUE(isOk); | ||
} | ||
|
||
TEST(UT_PreviewPluginLoader, refreshAll) | ||
{ | ||
bool isOk { false }; | ||
|
||
stub_ext::StubExt stub; | ||
stub.set_lamda(&PreviewPluginLoader::update, [ &isOk ]{ | ||
isOk = true; | ||
}); | ||
|
||
PreviewPluginLoader loader("UT_TEST", "UT"); | ||
loader.refreshAll(); | ||
|
||
EXPECT_TRUE(isOk); | ||
} |
Oops, something went wrong.