Add lexer test runner and whitespace characters tests

Whitespace characters for the tests are U+000B, U+000C, U+000D, U+0085, U+2028, U+2029
This commit is contained in:
victor.petukhov
2018-10-25 18:58:43 +03:00
parent fe072e3366
commit 9a61998fca
47 changed files with 1306 additions and 65 deletions
@@ -0,0 +1,2 @@
val x = 1
val y = 2
@@ -0,0 +1,16 @@
val ('val')
WHITE_SPACE (' ')
IDENTIFIER ('x')
WHITE_SPACE (' ')
EQ ('=')
WHITE_SPACE (' ')
INTEGER_LITERAL ('1')
WHITE_SPACE ('\n')
BAD_CHARACTER (' ')
val ('val')
WHITE_SPACE (' ')
IDENTIFIER ('y')
WHITE_SPACE (' ')
EQ ('=')
WHITE_SPACE (' ')
INTEGER_LITERAL ('2')
@@ -0,0 +1,12 @@
// some comment
// some comment
/* */
/* some comment */
/* some comment */
/* some comment */
/** */
/** some doc */
/** some doc */
/** some doc */
@@ -0,0 +1,19 @@
EOL_COMMENT ('// some comment')
WHITE_SPACE ('\n')
EOL_COMMENT ('// some comment')
WHITE_SPACE ('\n\n')
BLOCK_COMMENT ('/* */')
WHITE_SPACE ('\n')
BLOCK_COMMENT ('/* some comment */')
WHITE_SPACE ('\n')
BLOCK_COMMENT ('/* some comment */')
WHITE_SPACE ('\n')
BLOCK_COMMENT ('/* some comment */')
WHITE_SPACE ('\n\n')
KDoc ('/** */')
WHITE_SPACE ('\n')
KDoc ('/** some doc */')
WHITE_SPACE ('\n')
KDoc ('/** some doc */')
WHITE_SPACE ('\n')
KDoc ('/** some doc */')
@@ -0,0 +1,20 @@
val x1 = ". ."
val x2 = ". . "
val x3 = " . ."
val x4 = ' '
val x5 = """. ."""
val x6 = """. . """
val x7 = """ . ."""
val x8 = """.
."""
val x9 = """.
."""
@@ -0,0 +1,93 @@
val ('val')
WHITE_SPACE (' ')
IDENTIFIER ('x1')
WHITE_SPACE (' ')
EQ ('=')
WHITE_SPACE (' ')
OPEN_QUOTE ('"')
REGULAR_STRING_PART ('. .')
CLOSING_QUOTE ('"')
WHITE_SPACE ('\n\n')
val ('val')
WHITE_SPACE (' ')
IDENTIFIER ('x2')
WHITE_SPACE (' ')
EQ ('=')
WHITE_SPACE (' ')
OPEN_QUOTE ('"')
REGULAR_STRING_PART ('. . ')
CLOSING_QUOTE ('"')
WHITE_SPACE ('\n\n')
val ('val')
WHITE_SPACE (' ')
IDENTIFIER ('x3')
WHITE_SPACE (' ')
EQ ('=')
WHITE_SPACE (' ')
OPEN_QUOTE ('"')
REGULAR_STRING_PART (' . .')
CLOSING_QUOTE ('"')
WHITE_SPACE ('\n\n')
val ('val')
WHITE_SPACE (' ')
IDENTIFIER ('x4')
WHITE_SPACE (' ')
EQ ('=')
WHITE_SPACE (' ')
CHARACTER_LITERAL ('' '')
WHITE_SPACE ('\n\n')
val ('val')
WHITE_SPACE (' ')
IDENTIFIER ('x5')
WHITE_SPACE (' ')
EQ ('=')
WHITE_SPACE (' ')
OPEN_QUOTE ('"""')
REGULAR_STRING_PART ('. .')
CLOSING_QUOTE ('"""')
WHITE_SPACE ('\n\n')
val ('val')
WHITE_SPACE (' ')
IDENTIFIER ('x6')
WHITE_SPACE (' ')
EQ ('=')
WHITE_SPACE (' ')
OPEN_QUOTE ('"""')
REGULAR_STRING_PART ('. . ')
CLOSING_QUOTE ('"""')
WHITE_SPACE ('\n\n')
val ('val')
WHITE_SPACE (' ')
IDENTIFIER ('x7')
WHITE_SPACE (' ')
EQ ('=')
WHITE_SPACE (' ')
OPEN_QUOTE ('"""')
REGULAR_STRING_PART (' . .')
CLOSING_QUOTE ('"""')
WHITE_SPACE ('\n\n')
val ('val')
WHITE_SPACE (' ')
IDENTIFIER ('x8')
WHITE_SPACE (' ')
EQ ('=')
WHITE_SPACE (' ')
OPEN_QUOTE ('"""')
REGULAR_STRING_PART ('.')
REGULAR_STRING_PART ('\n')
REGULAR_STRING_PART (' .')
CLOSING_QUOTE ('"""')
WHITE_SPACE ('\n\n')
val ('val')
WHITE_SPACE (' ')
IDENTIFIER ('x9')
WHITE_SPACE (' ')
EQ ('=')
WHITE_SPACE (' ')
OPEN_QUOTE ('"""')
REGULAR_STRING_PART ('.')
REGULAR_STRING_PART ('\n')
REGULAR_STRING_PART (' ')
REGULAR_STRING_PART ('\n')
REGULAR_STRING_PART ('.')
CLOSING_QUOTE ('"""')