! See http://factorcode.org/license.txt for BSD license.
USING: xml io kernel math sequences strings xml.traversal
tools.test math.parser xml.syntax xml.data xml.syntax.private
-accessors multiline locals inverse xml.writer splitting classes
+accessors multiline inverse xml.writer splitting classes
xml.private ;
IN: xml.syntax.tests
[ extract-variables ] tri
] unit-test
-{ """<?xml version="1.0" encoding="UTF-8"?>
+{ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<x>
one
- <b val="two"/>
+ <b val=\"two\"/>
y
<foo/>
-</x>""" } [
+</x>" } [
[let "one" :> a "two" :> c "y" :> x [XML <-x-> <foo/> XML] :> d
<XML
<x> <-a-> <b val=<-c->/> <-d-> </x>
]
] unit-test
-{ """<?xml version="1.0" encoding="UTF-8"?>
+{ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<doc>
<item>
one
<item>
three
</item>
-</doc>""" } [
- "one two three" " " split
+</doc>" } [
+ "one two three" split-words
[ [XML <item><-></item> XML] ] map
<XML <doc><-></doc> XML> pprint-xml>string
] unit-test
-{ """<?xml version="1.0" encoding="UTF-8"?>
-<x number="3" url="http://factorcode.org/" string="hello" word="drop"/>""" }
+{ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
+<x number=\"3\" url=\"http://factorcode.org/\" string=\"hello\" word=\"drop\"/>" }
[ 3 f "http://factorcode.org/" "hello" \ drop
<XML <x number=<-> false=<-> url=<-> string=<-> word=<->/> XML>
pprint-xml>string ] unit-test
! Make sure nested XML documents interpolate correctly
{
- """<?xml version="1.0" encoding="UTF-8"?><color><blue>it's blue!</blue></color>"""
+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?><color><blue>it's blue!</blue></color>"
} [
"it's blue!" <XML <blue><-></blue> XML>
<XML <color><-></color> XML> xml>string
] unit-test
{
- """<?xml version="1.0" encoding="UTF-8"?><a>asdf<asdf/>asdf2</a>"""
+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?><a>asdf<asdf/>asdf2</a>"
} [
default-prolog
"asdf"