Skip to content

Rewrite golden fixtures to use flat top-level members for lenient/strict wrapper compatibility #47

Description

@marko-ks

Goal

Rewrite selected golden fixtures so they use flat top-level members instead of explicit sections.

This allows the same fixture content to work cleanly in both modes:

  • parsed directly in lenient mode
  • wrapped in a temporary top-level section and added doc terminator in strict mode

Rewrite the golden fixtures from:

^ Floats

^^ NegFloat
float1 = -0.0                // negative zero (distinct sign bit in IEEE 754)
float2 = -1.0                // smallest negative whole number as float
float3 = -3.4028234663852886 // approx min (most negative) 32-bit float
float4 = -340282346638528860.5
float5 = -9999999999999999.0 // largest negative integer exactly representable in float

^^ NegFloat2
float1 = -0.0                // negative zero (distinct sign bit in IEEE 754)
float2 = -1.0                // smallest negative whole number as float
float3 = -3.4028234663852886 // approx min (most negative) 32-bit float
float4 = -340282346638528860.5
float5 = -9999999999999999.0 // largest negative integer exactly representable in float

to

float1 = -0.0                // negative zero (distinct sign bit in IEEE 754)
float2 = -1.0                // smallest negative whole number as float
float3 = -3.4028234663852886 // approx min (most negative) 32-bit float
float4 = -340282346638528860.5
float5 = -9999999999999999.0 // largest negative integer exactly representable in float

float6 = -0.0                // negative zero (distinct sign bit in IEEE 754)
float7 = -1.0                // smallest negative whole number as float
float8 = -3.4028234663852886 // approx min (most negative) 32-bit float
float9 = -340282346638528860.5
float10 = -9999999999999999.0 // largest negative integer exactly representable in float

Then for lenient mode the fixture will be parsed as-is, in strict mode it will be wrapped as:

^ ___TopSection
float1 = -0.0                // negative zero (distinct sign bit in IEEE 754)
float2 = -1.0                // smallest negative whole number as float
float3 = -3.4028234663852886 // approx min (most negative) 32-bit float
float4 = -340282346638528860.5
float5 = -9999999999999999.0 // largest negative integer exactly representable in float

float6 = -0.0                // negative zero (distinct sign bit in IEEE 754)
float7 = -1.0                // smallest negative whole number as float
float8 = -3.4028234663852886 // approx min (most negative) 32-bit float
float9 = -340282346638528860.5
float10 = -9999999999999999.0 // largest negative integer exactly representable in float
/END

Summary

Several golden fixtures should be rewritten from using explicit sections to using flat top-level members.

This makes the fixtures easier to reuse across both parsing modes:

  • Lenient mode: parse the fixture as-is.
  • Strict mode: wrap the fixture in a temporary top-level section (for example ^ ___TopSection ... /END) before parsing.

This keeps the fixture content itself simple and avoids maintaining separate strict-only and lenient-only versions of the same logical data.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions