diff --git a/src/tests/api/internals/metadata/plugin_cleaning_data_test.h b/src/tests/api/internals/metadata/plugin_cleaning_data_test.h index 22b2c988..0e5fe397 100644 --- a/src/tests/api/internals/metadata/plugin_cleaning_data_test.h +++ b/src/tests/api/internals/metadata/plugin_cleaning_data_test.h @@ -433,6 +433,33 @@ TEST_P(PluginCleaningDataTest, decodingFromYamlShouldStoreAllNonZeroCounts) { EXPECT_EQ("cleaner", info.GetCleaningUtility()); } +TEST_P(PluginCleaningDataTest, + decodingFromYamlShouldNotThrowIfTheOnlyDetailStringIsNotEnglish) { + YAML::Node node = YAML::Load( + "crc: 0x12345678\n" + "util: cleaner\n" + "detail:\n" + " - lang: fr\n" + " text: content1"); + + EXPECT_NO_THROW(node.as()); +} + +TEST_P( + PluginCleaningDataTest, + decodingFromYamlShouldThrowIfMultipleDetailStringsAreGivenAndNoneAreEnglish) { + YAML::Node node = YAML::Load( + "crc: 0x12345678\n" + "util: cleaner\n" + "detail:\n" + " - lang: de\n" + " text: content1\n" + " - lang: fr\n" + " text: content2"); + + EXPECT_THROW(node.as(), YAML::RepresentationException); +} + TEST_P(PluginCleaningDataTest, decodingFromYamlScalarShouldThrow) { YAML::Node node = YAML::Load("scalar");