From 470c0c0deeb250beb4bd586ee55e9f8ef26786a7 Mon Sep 17 00:00:00 2001 From: Thomas Date: Wed, 20 May 2026 13:59:08 +0200 Subject: [PATCH 1/3] Fix issue where empty string in a dropdown is displayed as "empty". --- InteractiveAutomationToolkit/Components/RawValueMapping.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/InteractiveAutomationToolkit/Components/RawValueMapping.cs b/InteractiveAutomationToolkit/Components/RawValueMapping.cs index 649d7ed..8816060 100644 --- a/InteractiveAutomationToolkit/Components/RawValueMapping.cs +++ b/InteractiveAutomationToolkit/Components/RawValueMapping.cs @@ -13,7 +13,7 @@ internal class RawValueMapping public bool TryGetByRawValue(string rawValue, out T value) { - if (String.IsNullOrEmpty(rawValue)) + if (rawValue == null) { value = default; return false; @@ -118,7 +118,7 @@ private static string CleanDisplayValue(string displayValue) { if (String.IsNullOrEmpty(displayValue)) { - return "empty"; + return String.Empty; } var sb = new StringBuilder(); From 2075af10210aa2da0360cf86f87a4162d4416ea2 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 20 May 2026 12:29:29 +0000 Subject: [PATCH 2/3] fix: use non-empty raw value for empty display options Agent-Logs-Url: https://github.com/SkylineCommunications/Skyline.DataMiner.Utils.InteractiveAutomationScriptToolkit/sessions/c00753ce-0e3a-40f9-82b6-db3cb67707c9 Co-authored-by: ThomasRemmery <108457590+ThomasRemmery@users.noreply.github.com> --- .../Components/RawValueMapping.cs | 2 +- .../ComponentTests.cs | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/InteractiveAutomationToolkit/Components/RawValueMapping.cs b/InteractiveAutomationToolkit/Components/RawValueMapping.cs index 8816060..09fd3aa 100644 --- a/InteractiveAutomationToolkit/Components/RawValueMapping.cs +++ b/InteractiveAutomationToolkit/Components/RawValueMapping.cs @@ -118,7 +118,7 @@ private static string CleanDisplayValue(string displayValue) { if (String.IsNullOrEmpty(displayValue)) { - return String.Empty; + return "-"; } var sb = new StringBuilder(); diff --git a/InteractiveAutomationToolkitTests/ComponentTests.cs b/InteractiveAutomationToolkitTests/ComponentTests.cs index 0b5df15..b758270 100644 --- a/InteractiveAutomationToolkitTests/ComponentTests.cs +++ b/InteractiveAutomationToolkitTests/ComponentTests.cs @@ -58,6 +58,22 @@ public void DropDown_HandlePipeChar() Assert.AreEqual("--3", dropDown.BlockDefinition.InitialValue); } + [TestMethod] + public void DropDown_HandleEmptyOption() + { + DropDown dropDown = new DropDown(new[] { String.Empty, "|" }); + Assert.AreEqual(String.Empty, dropDown.Selected); + Assert.AreEqual("-", dropDown.BlockDefinition.InitialValue); + + dropDown.Selected = "|"; + Assert.AreEqual("|", dropDown.Selected); + Assert.AreEqual("--1", dropDown.BlockDefinition.InitialValue); + + dropDown.Selected = String.Empty; + Assert.AreEqual(String.Empty, dropDown.Selected); + Assert.AreEqual("-", dropDown.BlockDefinition.InitialValue); + } + [TestMethod] public void GenericDropDown_HandlePipeChar() { From 84b3d6bafe6dc266111eb3491344581ac6c469c4 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 20 May 2026 12:46:45 +0000 Subject: [PATCH 3/3] fix: keep empty dropdown option visually empty Agent-Logs-Url: https://github.com/SkylineCommunications/Skyline.DataMiner.Utils.InteractiveAutomationScriptToolkit/sessions/f6115893-0977-44d5-8786-398b162af642 Co-authored-by: ThomasRemmery <108457590+ThomasRemmery@users.noreply.github.com> --- InteractiveAutomationToolkit/Components/RawValueMapping.cs | 2 +- InteractiveAutomationToolkitTests/ComponentTests.cs | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/InteractiveAutomationToolkit/Components/RawValueMapping.cs b/InteractiveAutomationToolkit/Components/RawValueMapping.cs index 09fd3aa..77666f8 100644 --- a/InteractiveAutomationToolkit/Components/RawValueMapping.cs +++ b/InteractiveAutomationToolkit/Components/RawValueMapping.cs @@ -118,7 +118,7 @@ private static string CleanDisplayValue(string displayValue) { if (String.IsNullOrEmpty(displayValue)) { - return "-"; + return "\u200B"; } var sb = new StringBuilder(); diff --git a/InteractiveAutomationToolkitTests/ComponentTests.cs b/InteractiveAutomationToolkitTests/ComponentTests.cs index b758270..742ae9c 100644 --- a/InteractiveAutomationToolkitTests/ComponentTests.cs +++ b/InteractiveAutomationToolkitTests/ComponentTests.cs @@ -63,15 +63,15 @@ public void DropDown_HandleEmptyOption() { DropDown dropDown = new DropDown(new[] { String.Empty, "|" }); Assert.AreEqual(String.Empty, dropDown.Selected); - Assert.AreEqual("-", dropDown.BlockDefinition.InitialValue); + Assert.AreEqual("\u200B", dropDown.BlockDefinition.InitialValue); dropDown.Selected = "|"; Assert.AreEqual("|", dropDown.Selected); - Assert.AreEqual("--1", dropDown.BlockDefinition.InitialValue); + Assert.AreEqual("-", dropDown.BlockDefinition.InitialValue); dropDown.Selected = String.Empty; Assert.AreEqual(String.Empty, dropDown.Selected); - Assert.AreEqual("-", dropDown.BlockDefinition.InitialValue); + Assert.AreEqual("\u200B", dropDown.BlockDefinition.InitialValue); } [TestMethod]