nomsu/tests/text.nom
2018-07-10 17:10:59 -07:00

56 lines
1.3 KiB
Plaintext

#..
Tests for the stuff defined in core/text.nom
use "core"
assume ((["x","y"] joined with ",") = "x,y") or barf "joined with failed"
assume ((["x","y"] joined) = "xy") or barf "joined failed"
assume (("asdf" capitalized) = "Asdf") or barf "capitalized failed"
assume (("asdf" with "X" instead of "s") = "aXdf") or barf "substitution failed"
assume ("\n" = (newline)) or barf "Text literals failed."
assume (("x" + "y") = "xy")
assume ((lines in "one\ntwo") = ["one", "two"])
parse [アクション %spec %body] as: action %spec %body
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%こんにちは <- "こんにちは"
アクション [% と言う]
"\(%)世界"
assume ((%こんにちは と言う) = "こんにちは世界") or barf "Unicode doesn't work"
%s <- ".."
one two\nthree\
..four
assume (%s = "one two\\nthreefour") or barf "%s = \(quote %s), not \(quote "one two\\nthreefour")"
%s <- ".."
list:\[..]
1,2,3
..
assume (%s = "list:[1, 2, 3]")
assume
".."
foo = \
1 + 2
..!
..= "foo = 3!"
assume
".."
one\"\n"two
..= "one\ntwo"
assume
".."
no\ # Comment
#comment
#..
block comment
..gap
..= "nogap"
say "Text test passed."