" Test Vim9 enums
source check.vim
import './vim9.vim' as v9
" Test for parsing an enum definition
def Test_enum_parse()
# enum supported only in a Vim9 script
var lines =<< trim END
enum Foo
endenum
END
v9.CheckSourceFailure(lines, 'E1414: Enum can only be defined in Vim9 script', 1)
# First character in an enum name should be capitalized.
lines =<< trim END
vim9script
enum foo
endenum
END
v9.CheckSourceFailure(lines, 'E1415: Enum name must start with an uppercase letter: foo', 2)
# Only alphanumeric characters are supported in an enum name
lines =<< trim END
vim9script
enum Foo@bar
endenum
END
v9.CheckSourceFailure(lines, 'E1315: White space required after name: Foo@bar', 2)
# Unsupported keyword (instead of enum)
lines =<< trim END
vim9script
noenum Something
endenum
END
v9.CheckSourceFailure(lines, 'E492: Not an editor command: noenum Something', 2)
# Only the complete word "enum" should be recognized
lines =<< trim END
vim9script
enums Something
endenum
END
v9.CheckSourceFailure(lines, 'E492: Not an editor command: enums Something', 2)
# The complete "endenum" should be specified.
lines =<< trim END
vim9script
enum Something
enden
END
v9.CheckSourceFailure