factor/core/strings/parser/parser-tests.factor

40 lines
984 B
Factor

USING: accessors eval strings.parser strings.parser.private
tools.test ;
IN: strings.parser.tests
[ "Hello\n\rworld" ] [ "Hello\\n\\rworld" unescape-string ] unit-test
[ "Hello\n\rworld" ] [ "Hello\n\rworld" ] unit-test
[ "Hello\n\rworld" ] [ """Hello\n\rworld""" ] unit-test
[ "Hello\n\rworld\n" ] [ "Hello\n\rworld
" ] unit-test
[ "Hello\n\rworld" "hi" ] [ "Hello\n\rworld" "hi" ] unit-test
[ "Hello\n\rworld" "hi" ] [ """Hello\n\rworld""" """hi""" ] unit-test
[ "Hello\n\rworld\n" "hi" ] [ """Hello\n\rworld
""" """hi""" ] unit-test
[ "Hello\n\rworld\"" "hi" ] [ """Hello\n\rworld\"""" """hi""" ] unit-test
[
"\"\"\"Hello\n\rworld\\\n\"\"\"" eval( -- obj )
] [
error>> escaped-char-expected?
] must-fail-with
[
" \" abc \" "
] [
"\"\"\" \" abc \" \"\"\"" eval( -- string )
] unit-test
[
"\"abc\""
] [
"\"\"\"\"abc\"\"\"\"" eval( -- string )
] unit-test
[ "\"\\" ] [ "\"\\" ] unit-test
[ "\e" ] [ "\u00001b" ] unit-test
[ "\e" ] [ "\x1b" ] unit-test