fix(engine): tighten YAML scalar edge cases

Assisted-by: OpenAI GPT-5
Signed-off-by: Puneet Dixit <236133619+puneetdixit200@users.noreply.github.com>
pull/32140/head
Puneet Dixit 1 week ago
parent cabc387810
commit 91933f1107

@ -160,9 +160,6 @@ func normalizeYAMLMapKey(key any) any {
if reflect.TypeOf(normalized).Comparable() {
return normalized
}
if reflect.TypeOf(key).Comparable() {
return key
}
return fmt.Sprint(normalized)
}

@ -143,6 +143,7 @@ keyInElement1 = "valueInElement1"`,
}
func TestNormalizeYAMLScalars(t *testing.T) {
firstUnsafeInteger := float64(maxSafeYAMLInteger + 1)
aboveSafeInteger := math.Nextafter(maxSafeYAMLInteger, math.Inf(1))
tests := []struct {
@ -165,6 +166,11 @@ func TestNormalizeYAMLScalars(t *testing.T) {
input: map[string]any{"value": float64(maxSafeYAMLInteger)},
expect: map[string]any{"value": int64(maxSafeYAMLInteger)},
},
{
name: "first unsafe integer float stays float",
input: map[string]any{"value": firstUnsafeInteger},
expect: map[string]any{"value": firstUnsafeInteger},
},
{
name: "unsafe integer floats stay floats",
input: map[string]any{"value": aboveSafeInteger},

Loading…
Cancel
Save