# This file doesn't provide multiline check, because ESC-seq are off */
#
#
###############################
#! BASIC TOKEN TESTING #########
###############################
#
#------------------ Nothing


#------------------ Spaces in the beginning
   a
[a]
#------------------ Spaces in the beginning of sentence
    a very beautiful day
[a] [very] [beautiful] [day]
#------------------ Single letter
a
[a]
#------------------ Many letters
jasdkjalbj
[jasdkjalbj]
#------------------ Letters and numbers
askdgjlasdgj02g092q3802lkgjl23
[askdgjlasdgj02g092q3802lkgjl23]
#------------------ +Meanless symbols
ab_3125,%^@-+
[ab_3125,%^@-+]
#------------------ Two tokens
a b
[a] [b]
#------------------ Two words
Ebo Bor
[Ebo] [Bor]
#------------------ Two mixed words
ab_3125,%^@-+ ab_3125,%^@-+
[ab_3125,%^@-+] [ab_3125,%^@-+]
#------------------ Two mixed words with extra space between
ab_3125,%^@-+     Hs93+_5,%^@-+
[ab_3125,%^@-+] [Hs93+_5,%^@-+]
#------------------ 4 mixed words with extra space
ab_3125,%^@-+  Hs93+_5,%^@-+         ab_3125,%^@-+     Hs93+_5,%^@-+
[ab_3125,%^@-+] [Hs93+_5,%^@-+] [ab_3125,%^@-+] [Hs93+_5,%^@-+]
#------------------ Complex sentence
é (e + combining acute)
[é] [(e] [+] [combining] [acute)]
#
#
###############################
#! QUOTES TESTING #############
###############################
#
#------------------ 4 quotes in a row
''''
[]
#------------------ 4 quotes in a row
""""
[]
#------------------ 4+4 quotes as 2 tokens
'''' """"
[] []
#------------------ Single quotes word
Per'son'
[Person]
#------------------ Double quotes word
Per"son"
[Person]
#------------------ Single quotes sentence
A Per'son' who' thinks'
[A] [Person] [who thinks]
#------------------ Double quotes sentence
A Per"son" who" thinks"
[A] [Person] [who thinks]
#------------------ Mixed quotes sentence
A Per"son'" who'"thinks '
[A] [Person'] [who"thinks ]
#------------------ Empty double quotes
""
[]
#------------------ Matched quotes, quote inside should be printed
'"'
["]
#
#
###############################
#! BACKSLASH TESTING ##########
###############################
#
#------------------ Backslashed quote
\"
["]
#------------------ Backslash in quotes
"\"
[\]
#------------------ Backslashed backslash
\\
[\]
#------------------ BSLSH with letters
\a\b\c
[abc]
#------------------ Single quotes
' \\\ '
[ \\\ ]
#------------------ Double quotes
" \\\ "
[ \\\ ]
#
#
###############################
#! SEMICOLONS TESTING #########
###############################
#
#------------------ At start
;
Error
#------------------ Valid
\;
[;]
#------------------ Two in a row
a ;;
Error
#------------------ Two in a row
a;;
Error
#------------------ Two in a row
a ; ;
Error
#------------------ Two in a row
a; ;
Error
#------------------ Without spaces
a;
[a] [;]
#------------------ Without spaces between non-special
x;y
[x] [;] [y]
#------------------ Space added
a ;
[a] [;]
#------------------ Both without spcs and with
a; b ;
[a] [;] [b] [;]
#------------------ Inside of quotes
';'
[;]
#------------------ ;; inside of dblquotes
";;"
[;;]
#------------------ Mixed quotes and count
';' ';;'';' ";;;"
[;] [;;;] [;;;]
#
#
###############################
#! SPECIAL SYMBOLS TESTING ####
###############################
#
#------------------ Both-side token on the start
|
Error
#------------------ Both-side token on the start
||
Error
#------------------ Left-side token on the start
&
Error
#------------------ Both-side token on the start
&&
Error
#------------------ Left-side tokens on the start
;
Error
#------------------ Right-side token without next token
<
Error
#------------------ Right-side token without next token
<<
Error
#------------------ Two both-side tokens in a row
a || &&
Error
#------------------ Error
<>
Error
#------------------ Error
><
Error
#------------------ Right-side token on the start
>f
[>] [f]
#------------------ Right-side token on the start with a word
< file.txt
[<] [file.txt]
#------------------ Proper token breakage
echo y>/tmp/.f1;</
[echo] [y] [>] [/tmp/.f1] [;] [<] [/]
#------------------ Valid with escapes
\& ;
[&] [;]
#------------------ Valid with escapes
\|\|
[||]
