56 lines
1.2 KiB
Plaintext
56 lines
1.2 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")
|
|
%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."
|