Fix JSON export tests by using jq for the comparison
This commit is contained in:
parent
ad44ef55ab
commit
61e82c6110
|
@ -181,7 +181,7 @@ set(REQUIRED_ICONS
|
|||
set(CONFIGURATION_PACKAGE_SUFFIX
|
||||
""
|
||||
CACHE STRING "sets the suffix for find_package() calls to packages configured via c++utilities")
|
||||
find_package(c++utilities${CONFIGURATION_PACKAGE_SUFFIX} 5.0.0 REQUIRED)
|
||||
find_package(c++utilities${CONFIGURATION_PACKAGE_SUFFIX} 5.5.0 REQUIRED)
|
||||
use_cpp_utilities()
|
||||
include(BasicConfig)
|
||||
|
||||
|
|
|
@ -1008,10 +1008,14 @@ void CliTests::testJsonExport()
|
|||
string stdout, stderr;
|
||||
|
||||
const auto file(testFilePath("matroska_wave1/test3.mkv"));
|
||||
const auto expectedJson(readFile(testFilePath("matroska_wave1-test3.json"), 2048));
|
||||
const auto expectedJsonPath(testFilePath("matroska_wave1-test3.json"));
|
||||
const char *const args[] = { "tageditor", "export", "--pretty", "-f", file.data(), nullptr };
|
||||
TESTUTILS_ASSERT_EXEC(args);
|
||||
CPPUNIT_ASSERT_EQUAL(expectedJson, stdout);
|
||||
const char *const jqArgs[]
|
||||
= { "jq", "--argfile", "expected", expectedJsonPath.data(), "--argjson", "actual", stdout.data(), "-n", "$actual == $expected", nullptr };
|
||||
execHelperAppInSearchPath("jq", jqArgs, stdout, stderr);
|
||||
CPPUNIT_ASSERT_EQUAL(""s, stderr);
|
||||
CPPUNIT_ASSERT_EQUAL("true\n"s, stdout);
|
||||
#endif // TAGEDITOR_JSON_EXPORT
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue