| 76 | } |
| 77 | |
| 78 | void test_SaveAlreadyExistingFile() |
| 79 | { |
| 80 | QString fileContent = R"(InstanceType=OneSix |
| 81 | iconKey=vanillia_icon |
| 82 | name=Minecraft Vanillia |
| 83 | OverrideCommands=true |
| 84 | PreLaunchCommand="$INST_JAVA" -jar packwiz-installer-bootstrap.jar link |
| 85 | Wrapperommand=)"; |
| 86 | fileContent += "\""; |
| 87 | fileContent += +R"(\"$INST_JAVA\" -jar packwiz-installer-bootstrap.jar link =)"; |
| 88 | fileContent += "\"\n"; |
| 89 | #if defined(Q_OS_WIN) |
| 90 | QString fileName = "test_SaveAlreadyExistingFile.ini"; |
| 91 | QFile file(fileName); |
| 92 | QCOMPARE(file.open(QFile::WriteOnly | QFile::Text), true); |
| 93 | #else |
| 94 | QTemporaryFile file; |
| 95 | QCOMPARE(file.open(), true); |
| 96 | QCOMPARE(file.fileName().isEmpty(), false); |
| 97 | QString fileName = file.fileName(); |
| 98 | #endif |
| 99 | QTextStream stream(&file); |
| 100 | stream << fileContent; |
| 101 | file.close(); |
| 102 | |
| 103 | // load |
| 104 | INIFile f1; |
| 105 | f1.loadFile(fileName); |
| 106 | QCOMPARE(f1.get("PreLaunchCommand", "NOT SET").toString(), "\"$INST_JAVA\" -jar packwiz-installer-bootstrap.jar link"); |
| 107 | QCOMPARE(f1.get("Wrapperommand", "NOT SET").toString(), "\"$INST_JAVA\" -jar packwiz-installer-bootstrap.jar link ="); |
| 108 | f1.saveFile(fileName); |
| 109 | INIFile f2; |
| 110 | f2.loadFile(fileName); |
| 111 | QCOMPARE(f2.get("PreLaunchCommand", "NOT SET").toString(), "\"$INST_JAVA\" -jar packwiz-installer-bootstrap.jar link"); |
| 112 | QCOMPARE(f2.get("Wrapperommand", "NOT SET").toString(), "\"$INST_JAVA\" -jar packwiz-installer-bootstrap.jar link ="); |
| 113 | QCOMPARE(f2.get("ConfigVersion", "NOT SET").toString(), "1.2"); |
| 114 | #if defined(Q_OS_WIN) |
| 115 | FS::deletePath(fileName); |
| 116 | #endif |
| 117 | } |
| 118 | |
| 119 | void test_SaveAlreadyExistingFileWithSpecialChars() |
| 120 | { |