Skip to content

Commit 184cacd

Browse files
[Tests, OutputSort] Add test for duplicate sort field values
Add test case verifying behavior when duplicate field names appear in sortOrder settings (e.g., ["name", "id", "Name"]). Duplicates are accepted and preserved — case-insensitive matching maps both "name" and "Name" to SortField::Name. Addresses reviewer feedback from PR #6176.
1 parent f301115 commit 184cacd

1 file changed

Lines changed: 13 additions & 0 deletions

File tree

src/AppInstallerCLITests/UserSettings.cpp

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -757,6 +757,19 @@ TEST_CASE("SettingOutputSortOrder", "[settings]")
757757
REQUIRE(sortOrder[0] == SortField::Name);
758758
REQUIRE(userSettingTest.GetWarnings().size() == 1);
759759
}
760+
SECTION("Duplicate values - case-insensitive")
761+
{
762+
std::string_view json = R"({ "output": { "sortOrder": ["name", "id", "Name"] } })";
763+
SetSetting(Stream::PrimaryUserSettings, json);
764+
UserSettingsTest userSettingTest;
765+
766+
auto sortOrder = userSettingTest.Get<Setting::OutputSortOrder>();
767+
REQUIRE(sortOrder.size() == 3);
768+
REQUIRE(sortOrder[0] == SortField::Name);
769+
REQUIRE(sortOrder[1] == SortField::Id);
770+
REQUIRE(sortOrder[2] == SortField::Name);
771+
REQUIRE(userSettingTest.GetWarnings().empty());
772+
}
760773
SECTION("Wrong type - string instead of array")
761774
{
762775
std::string_view json = R"({ "output": { "sortOrder": "name" } })";

0 commit comments

Comments
 (0)