! Copyright (C) 2009 Daniel Ehrenberg.
! See http://factorcode.org/license.txt for BSD license.
USING: tools.test xml.literals multiline kernel assocs
sequences accessors xml.writer xml.literals.private
locals splitting urls xml.data classes ;
IN: xml.literals.tests
[ "a" "c" { "a" "c" f } ] [
"<-a->/><->"
string>doc
[ second var>> ]
[ fourth "val" attr var>> ]
[ extract-variables ] tri
] unit-test
[ {"
one
y
"} ] [
[let* | a [ "one" ] c [ "two" ] x [ "y" ]
d [ [XML <-x-> XML] ] |
<-a-> /> <-d->
XML> pprint-xml>string
]
] unit-test
[ {"
-
one
-
two
-
three
"} ] [
"one two three" " " split
[ [XML - <->
XML] ] map
<-> XML> pprint-xml>string
] unit-test
[ {"
"} ]
[ 3 f URL" http://factorcode.org/" "hello" \ drop
false=<-> url=<-> string=<-> word=<->/> XML>
pprint-xml>string ] unit-test
[ "3" ] [ 3 [XML <-> XML] xml>string ] unit-test
[ "" ] [ f [XML <-> XML] xml>string ] unit-test
\ <-> /> XML] ] must-infer
[ xml-chunk ] [ [ [XML XML] ] first class ] unit-test
[ xml ] [ [ XML> ] first class ] unit-test
[ xml-chunk ] [ [ [XML /> XML] ] third class ] unit-test
[ xml ] [ [ /> XML> ] third class ] unit-test
[ 1 ] [ [ [XML XML] ] length ] unit-test
[ 1 ] [ [ XML> ] length ] unit-test
[ "" ] [ [XML XML] concat ] unit-test