mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-28 17:04:41 +00:00
* [Testament] Extend and document message testing aids * Enable inline msgs when not reject action. Eliminates the pain of changing the line and column numbers in `nimout` or `output` while making changes to the test. * Enable using inline msgs and nimout together. Allows ease of inline msgs for the test as well as testing msgs from other modules. * Add path separator and test filename variable interpolation in msgs. Eases handling path separators in the msgs. * Add some documentation. * Fixed lots of broken tests * Fixed more broken tests * Support multiple inline messages per a line * Fix a broken test * Revert variable substitution in `output` * Remove uneeded params * Update doc/testament.md Co-authored-by: Clay Sweetser <Varriount@users.noreply.github.com> * Update testament/specs.nim Co-authored-by: Clay Sweetser <Varriount@users.noreply.github.com> * Update testament/specs.nim Co-authored-by: Clay Sweetser <Varriount@users.noreply.github.com> * Fix indentation Co-authored-by: quantimnot <quantimnot@users.noreply.github.com> Co-authored-by: Clay Sweetser <Varriount@users.noreply.github.com>
27 lines
757 B
Nim
27 lines
757 B
Nim
discard """
|
|
cmd: "nim check $file"
|
|
"""
|
|
type
|
|
ABCD = enum A, B, C, D
|
|
AliasABCD = ABCD
|
|
RangeABC = range[A .. C]
|
|
AliasRangeABC = RangeABC
|
|
PrintableChars = range[' ' .. '~']
|
|
|
|
case PrintableChars 'x': #[tt.Error
|
|
^ not all cases are covered; missing: {' ', '!', '\"', '#', '$$', '%', '&', '\'', '*', '+', ',', '-', '.', '/', ':', ';', '<', '=', '>', '?', '@', '[', '\\', ']', '^', '_', '`', '{', '|', '}', '~'}]#
|
|
of '0'..'9', 'A'..'Z', 'a'..'z': discard
|
|
of '(', ')': discard
|
|
|
|
case AliasABCD A: #[tt.Error
|
|
^ not all cases are covered; missing: {B, C, D}]#
|
|
of A: discard
|
|
|
|
case RangeABC A: #[tt.Error
|
|
^ not all cases are covered; missing: {A, C}]#
|
|
of B: discard
|
|
|
|
case AliasRangeABC A: #[tt.Error
|
|
^ not all cases are covered; missing: {A, B}]#
|
|
of C: discard
|