diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/lang.tm | 13 | ||||
| -rw-r--r-- | test/text.tm | 8 |
2 files changed, 16 insertions, 5 deletions
diff --git a/test/lang.tm b/test/lang.tm index e2093a6e..e23410e7 100644 --- a/test/lang.tm +++ b/test/lang.tm @@ -1,11 +1,14 @@ lang HTML: HEADER := $HTML"<!DOCTYPE HTML>" func escape(t:Text)->HTML: - t = t:replace($/&/, "&") - t = t:replace($/</, "<") - t = t:replace($/>/, ">") - t = t:replace($/"/, """) - t = t:replace($/'/, "'") + t = t:replace_all({ + $/&/: "&", + $/</: "<", + $/>/: ">", + $/"/: """, + $/'/: "'", + }) + return HTML.from_unsafe_text(t) func escape_int(i:Int)->HTML: diff --git a/test/text.tm b/test/text.tm index 52c74afd..d75a56a7 100644 --- a/test/text.tm +++ b/test/text.tm @@ -227,4 +227,12 @@ func main(): >> $/$malicious/ = $/{1{}xxx}/ + >> "Hello":replace($/{lower}/, "(@)", $/@/) + = "H(ello)" + + >> " foo(xyz) foo(yyy) foo(z()) ":replace_chain([$/foo(/, $/?/, $/)/], ["baz[", "@", "]"], $/@/) + = " baz[xyz] baz[yyy] baz[z()] " + + >> "<tag>":replace_all({$/</:"<", $/>/:">"}) + = "<tag>" |
