mirror of
https://github.com/audacity/linuxdeploy.git
synced 2026-04-13 06:51:05 -05:00
Merge pull request #61 from linuxdeploy/debug-desktopfile-unit-tests-in-release-builds
Fix desktop file parser unit test failures
This commit is contained in:
@@ -144,7 +144,7 @@ namespace linuxdeploy {
|
||||
}
|
||||
|
||||
bool DesktopFile::setEntry(const std::string& section, DesktopFileEntry&& entry) {
|
||||
// check if value exists -- used for return value
|
||||
// check if value exists -- used for return value
|
||||
auto rv = entryExists(section, entry.key());
|
||||
|
||||
d->data[section][entry.key()] = entry;
|
||||
@@ -157,6 +157,10 @@ namespace linuxdeploy {
|
||||
return false;
|
||||
|
||||
entry = d->data[section][key];
|
||||
|
||||
// make sure keys are equal
|
||||
assert(key == entry.key());
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -170,12 +174,14 @@ namespace linuxdeploy {
|
||||
DesktopFileEntry entry;
|
||||
|
||||
// this should never return false
|
||||
assert(getEntry(section, key, entry));
|
||||
auto entryExists = getEntry(section, key, entry);
|
||||
assert(entryExists);
|
||||
|
||||
ldLog() << LD_WARNING << "Key exists, not modified:" << key << "(current value:" << entry.value() << LD_NO_SPACE << ")" << std::endl;
|
||||
rv = false;
|
||||
} else {
|
||||
assert(!setEntry(section, std::move(DesktopFileEntry(key, value))));
|
||||
auto entryOverwritten = setEntry(section, DesktopFileEntry(key, value));
|
||||
assert(!entryOverwritten);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -138,13 +138,22 @@ TEST_F(DesktopFileTest, testMoveAssignmentConstructor) {
|
||||
assertIsTestDesktopFile(copy);
|
||||
}
|
||||
|
||||
/* deactivated until further notice as they won't run on Travis CI for some reason
|
||||
void assertDefaultKeysExistInDesktopFile(const DesktopFile& file) {
|
||||
DesktopFileEntry entry;
|
||||
|
||||
for (const auto& key : {"Name", "Exec", "Icon", "Type"})
|
||||
EXPECT_TRUE(file.getEntry("Desktop Entry", key, entry)) << "Could not find key in desktop file: " << key;
|
||||
}
|
||||
|
||||
TEST_F(DesktopFileTest, testAddDefaultValues) {
|
||||
const auto& value = "testExecutable";
|
||||
|
||||
DesktopFile file;
|
||||
file.addDefaultKeys(value);
|
||||
|
||||
// make sure keys exist in desktop files
|
||||
assertDefaultKeysExistInDesktopFile(file);
|
||||
|
||||
std::stringstream ss;
|
||||
|
||||
file.save(ss);
|
||||
@@ -169,6 +178,11 @@ TEST_F(DesktopFileTest, testAddDefaultValuesExistingKeys) {
|
||||
DesktopFile file(iss);
|
||||
file.addDefaultKeys(value);
|
||||
|
||||
// make sure keys exist in desktop files
|
||||
assertDefaultKeysExistInDesktopFile(file);
|
||||
|
||||
file.save(std::cout);
|
||||
|
||||
std::stringstream ss;
|
||||
|
||||
file.save(ss);
|
||||
@@ -178,7 +192,6 @@ TEST_F(DesktopFileTest, testAddDefaultValuesExistingKeys) {
|
||||
EXPECT_EQ(reader["Desktop Entry"]["Name"].value(), "A Different Name");
|
||||
EXPECT_EQ(reader["Desktop Entry"]["Exec"].value(), "a_different_exec");
|
||||
EXPECT_EQ(reader["Desktop Entry"]["Icon"].value(), value);
|
||||
EXPECT_EQ(reader["Desktop Entry"]["Type"].value(), "Application");
|
||||
EXPECT_EQ(reader["Desktop Entry"]["Categories"].value(), "Utility;");
|
||||
}
|
||||
|
||||
@@ -191,6 +204,9 @@ TEST_F(DesktopFileTest, testAddDefaultValuesNoOverwrite) {
|
||||
|
||||
file.addDefaultKeys(value);
|
||||
|
||||
// make sure keys exist in desktop files
|
||||
assertDefaultKeysExistInDesktopFile(file);
|
||||
|
||||
{
|
||||
std::stringstream oss;
|
||||
file.save(oss);
|
||||
@@ -208,7 +224,6 @@ TEST_F(DesktopFileTest, testAddDefaultValuesNoOverwrite) {
|
||||
EXPECT_EQ(reader["Desktop Entry"]["Categories"].parseStringList(), std::vector<std::string>({"Utility"}));
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
TEST_F(DesktopFileTest, testSaveToPath) {
|
||||
std::stringstream ins;
|
||||
|
||||
Reference in New Issue
Block a user