Skip to content

Commit

Permalink
specsuite: tests for primitive type literals
Browse files Browse the repository at this point in the history
  • Loading branch information
apparentlymart committed Oct 1, 2019
1 parent 791068c commit 48fbad7
Show file tree
Hide file tree
Showing 3 changed files with 63 additions and 0 deletions.
17 changes: 17 additions & 0 deletions specsuite/tests/expressions/primitive_literals.hcl
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# 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" # This is intentionally a combining tilde followed by n

# Booleans
true = true
false = false

# Null
null = null
12 changes: 12 additions & 0 deletions specsuite/tests/expressions/primitive_literals.hcldec
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
object {
attr "whole_number" { type = any }
attr "fractional_number" { type = any }
attr "fractional_number_precision" { type = any }
attr "string_ascii" { type = any }
attr "string_unicode_bmp" { type = any }
attr "string_unicode_astral" { type = any }
attr "string_unicode_nonnorm" { type = any }
attr "true" { type = any }
attr "false" { type = any }
attr "null" { type = any }
}
34 changes: 34 additions & 0 deletions specsuite/tests/expressions/primitive_literals.t
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
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
}

0 comments on commit 48fbad7

Please sign in to comment.