From ab5af59cea90d58e7a3b1760d9dd16a698547055 Mon Sep 17 00:00:00 2001 From: "Addisu Z. Taddese" Date: Fri, 2 Feb 2024 10:10:16 -0600 Subject: [PATCH] Support `` tag in plugin config (#607) This allows users to specify `` instead of `` in their GUI plugins so that SDF files can work on Fortress and Garden/Harmonic without modification. Signed-off-by: Addisu Z. Taddese --- src/Plugin.cc | 7 ++++++- src/Plugin_TEST.cc | 30 ++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/src/Plugin.cc b/src/Plugin.cc index be704f6e9..b4d1102cd 100644 --- a/src/Plugin.cc +++ b/src/Plugin.cc @@ -167,7 +167,12 @@ void Plugin::Load(const tinyxml2::XMLElement *_pluginElem) } // Load common configuration - this->LoadCommonConfig(_pluginElem->FirstChildElement("ignition-gui")); + auto guiElem = _pluginElem->FirstChildElement("ignition-gui"); + if (!guiElem) + { + guiElem = _pluginElem->FirstChildElement("gz-gui"); + } + this->LoadCommonConfig(guiElem); // Load custom configuration this->LoadConfig(_pluginElem); diff --git a/src/Plugin_TEST.cc b/src/Plugin_TEST.cc index 87ab52af2..7dd760aa3 100644 --- a/src/Plugin_TEST.cc +++ b/src/Plugin_TEST.cc @@ -321,3 +321,33 @@ TEST(PluginTest, IGN_UTILS_TEST_DISABLED_ON_WIN32(ConfigStrInputNoPlugin)) } } +///////////////////////////////////////////////// +TEST(PluginTest, IGN_UTILS_TEST_ENABLED_ONLY_ON_LINUX(GzSimCompatibility)) +{ + common::Console::SetVerbosity(4); + + Application app(g_argc, g_argv); + app.AddPluginPath( + common::joinPaths(std::string(PROJECT_BINARY_PATH), "lib")); + + // Load plugin config that returns null GetText + const char *pluginStr = R"( + + + GzSimCompatibility + + )"; + + tinyxml2::XMLDocument pluginDoc; + pluginDoc.Parse(pluginStr); + EXPECT_TRUE(app.LoadPlugin("TestPlugin", + pluginDoc.FirstChildElement("plugin"))); + + auto win = app.findChild(); + ASSERT_NE(nullptr, win); + + // Check plugin was loaded and `gz-gui` was processed. + auto plugins = win->findChildren(); + ASSERT_EQ(1, plugins.size()); + EXPECT_EQ(plugins[0]->Title(), "GzSimCompatibility"); +}