From a3cbbfbb39ad94fb97212fd067aba8c5a105dc7d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 17 May 2026 20:03:54 +0000 Subject: [PATCH 1/2] test: expand RuntimeHelpers coverage (+8 tests, 417->425) Add tests for previously uncovered code paths in RuntimeHelpers: formatObject: - array with a single null element -> "[null]" - array with mixed null/non-null elements - object with no declared properties -> "{}" toParam: - int64 fast-path (9876543210L) - bool true/false fast-paths - float32 and double via the generic obj.ToString() fallback All 425 tests pass. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../RuntimeHelpersTests.fs | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/tests/SwaggerProvider.Tests/RuntimeHelpersTests.fs b/tests/SwaggerProvider.Tests/RuntimeHelpersTests.fs index e36ee868..c86ba985 100644 --- a/tests/SwaggerProvider.Tests/RuntimeHelpersTests.fs +++ b/tests/SwaggerProvider.Tests/RuntimeHelpersTests.fs @@ -38,6 +38,31 @@ module ToParamTests = let result = toParam(box 42) result |> shouldEqual "42" + [] + let ``toParam uses ToString for int64``() = + let result = toParam(box 9876543210L) + result |> shouldEqual "9876543210" + + [] + let ``toParam uses ToString for bool true``() = + let result = toParam(box true) + result |> shouldEqual "True" + + [] + let ``toParam uses ToString for bool false``() = + let result = toParam(box false) + result |> shouldEqual "False" + + [] + let ``toParam uses ToString for float32``() = + let result = toParam(box 3.14f) + result |> shouldContainText "3.14" + + [] + let ``toParam uses ToString for double``() = + let result = toParam(box 2.718281828) + result |> shouldContainText "2.718" + [] let ``toParam uses ToString for strings``() = let result = toParam(box "hello world") @@ -843,6 +868,21 @@ module FormatObjectTests = let obj = FmtArray([||]) formatObject obj |> shouldEqual "{Tags=[]}" + [] + let ``formatObject formats array with null element as null``() = + let obj = FmtArray([| null |]) + formatObject obj |> shouldEqual "{Tags=[null]}" + + [] + let ``formatObject formats array with mixed null and non-null elements``() = + let obj = FmtArray([| "a"; null; "b" |]) + formatObject obj |> shouldEqual "{Tags=[a; null; b]}" + + [] + let ``formatObject formats object with no properties as empty braces``() = + let obj = System.Object() + formatObject obj |> shouldEqual "{}" + [] let ``formatObject sorts properties alphabetically``() = // Age < Name alphabetically From ffd8d9ed74c2a8739530b67d802eb2485a59c28a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 17 May 2026 20:03:57 +0000 Subject: [PATCH 2/2] ci: trigger checks