! Copyright (C) 2005, 2009 Daniel Ehrenberg ! See http://factorcode.org/license.txt for BSD license. USING: xml.data xml.writer tools.test fry xml xml.syntax kernel multiline xml.writer.private io.streams.string xml.traversal sequences io.encodings.utf8 io.files io.files.temp accessors io.directories math math.parser ; IN: xml.writer.tests ! Add a test for pprint-xml with sensitive-tags { "foo" } [ T{ name { main "foo" } } name>string ] unit-test { "foo" } [ T{ name { space "" } { main "foo" } } name>string ] unit-test { "ns:foo" } [ T{ name { space "ns" } { main "foo" } } name>string ] unit-test : reprints-as ( to from -- ) [ ] [ string>xml xml>string ] bi-curry* unit-test ; : pprint-reprints-as ( to from -- ) [ ] [ string>xml pprint-xml>string ] bi-curry* unit-test ; : reprints-same ( string -- ) dup reprints-as ; "" reprints-same " ]> bar" " ]> &foo;" reprints-as " ]> bar " " ]> &foo;" pprint-reprints-as { t } [ "" dup string>xml-chunk xml>string = ] unit-test { "" } [ "" string>xml xml>string ] unit-test { "bar baz" } [ "bar" string>xml [ " baz" append ] map xml>string ] unit-test { "\n\n bar\n" } [ " bar " string>xml pprint-xml>string ] unit-test { "" } [ "" xml>string ] unit-test : test-file ( -- path ) "test.xml" temp-file ; { } [ "" string>xml test-file utf8 [ write-xml ] with-file-writer ] unit-test { "x" } [ test-file file>xml body>> name>> main>> ] unit-test { } [ test-file delete-file ] unit-test { } [ { 1 2 3 4 } [ [ number>string ] [ sq number>string ] bi [XML <-><-> XML] ] map [XML

Timings

<->
XML] pprint-xml ] unit-test { "" } [ "test" { { "name" "bob" } } { } xml>string ] unit-test