From 616e680aa8af8f5056b5133dd44258c252ca656f Mon Sep 17 00:00:00 2001 From: aqua Date: Tue, 16 Aug 2022 16:19:04 +0300 Subject: Turn WebEngine into a plugin --- src/plugins/test/pluginloader.cpp | 40 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 src/plugins/test/pluginloader.cpp (limited to 'src/plugins/test/pluginloader.cpp') diff --git a/src/plugins/test/pluginloader.cpp b/src/plugins/test/pluginloader.cpp new file mode 100644 index 00000000..83b30c40 --- /dev/null +++ b/src/plugins/test/pluginloader.cpp @@ -0,0 +1,40 @@ +#include +#include +#include +#include + +char *pluginPath; + +class PluginLoaderTest : public ::testing::Test { + +protected: + void SetUp() override { loader = new QPluginLoader; } + void TearDown() override { delete loader; } + + QPluginLoader *loader = nullptr; +}; + +TEST_F(PluginLoaderTest, InterfaceTest) +{ + // Ensure plugin loads + loader->setFileName(pluginPath); + EXPECT_TRUE(loader->load()) << "For plugin: " << pluginPath << '\n' << qUtf8Printable(loader->errorString()); + + // Ensure plugin has metadata + const auto metadata = loader->metaData()["MetaData"].toObject(); + EXPECT_TRUE(metadata.contains("name")); + EXPECT_FALSE(metadata["name"].toString().isEmpty()); + EXPECT_TRUE(metadata.contains("schemes")); + EXPECT_FALSE(metadata["schemes"].toArray().isEmpty()); +} + +int main(int argc, char **argv) +{ + ::testing::InitGoogleTest(&argc, argv); + if (argc != 2) { + std::cerr << "Usage: " << argv[0] << " [path to plugin]" << std::endl; + return -1; + } + pluginPath = argv[1]; + return RUN_ALL_TESTS(); +} -- cgit v1.2.1