| result_type = object({ |
| whole_number = number |
| fractional_number = number |
| fractional_number_precision = number |
| string_ascii = string |
| string_unicode_bmp = string |
| string_unicode_astral = string |
| string_unicode_nonnorm = string |
| true = bool |
| false = bool |
| null = any |
| }) |
| result = { |
| # Numbers |
| whole_number = 5 |
| fractional_number = 3.2 |
| fractional_number_precision = 3.14159265358979323846264338327950288419716939937510582097494459 |
| |
| # Strings |
| string_ascii = "hello" |
| string_unicode_bmp = "ЖЖ" |
| string_unicode_astral = "👩👩👧👦" |
| string_unicode_nonnorm = "años" # now a precomposed ñ, because HCL imposes NFC normalization |
| # FIXME: The above normalization test doesn't necessarily test what it thinks |
| # it is testing, because this file is also HCL and thus subject to |
| # normalization; as long as the parser normalizes consistently this could |
| # pass even if it's using a different normalization form. |
| |
| # The left hand side of these are quoted to make it clear that we're expecting |
| # to get strings here, not really true/false/null. |
| "true" = true |
| "false" = false |
| "null" = null |
| } |