Test output for htmlprag [ok]
Testing time: 3s
/home/mario/local/chicken-4.8.0.3/bin/csi -script run.scm < /dev/null ;;; BEGIN "HtmlPrag" TESTS ;; DEFINE: (define lf "\n") ;; 1. (html->shtml "<a>>") ;; ==> (*TOP* (a ">")) ;; Passed. ;; 2. (html->shtml "<a<>") ;; ==> (*TOP* (a "<" ">")) ;; Passed. ;; 3. (html->shtml "<>") ;; ==> (*TOP* "<" ">") ;; Passed. ;; 4. (html->shtml "< >") ;; ==> (*TOP* "<" ">") ;; Passed. ;; 5. (html->shtml "< a>") ;; ==> (*TOP* (a)) ;; Passed. ;; 6. (html->shtml "< a / >") ;; ==> (*TOP* (a)) ;; Passed. ;; 7. (html->shtml "<a<") ;; ==> (*TOP* (a "<")) ;; Passed. ;; 8. (html->shtml "<a<b") ;; ==> (*TOP* (a (b))) ;; Passed. ;; 9. (html->shtml "><a>") ;; ==> (*TOP* ">" (a)) ;; Passed. ;; 10. (html->shtml "</>") ;; ==> (*TOP*) ;; Passed. ;; 11. (html->shtml "<\">") ;; ==> (*TOP* "<" "\"" ">") ;; Passed. ;; 12. (html->shtml (string-append "<a>xxx<plaintext>aaa" lf "bbb" lf "c<c<c")) ;; ==> (*TOP* (a "xxx" (plaintext "aaa\n" "bbb\n" "c<c<c"))) ;; Passed. ;; 13. (html->shtml "aaa<!-- xxx -->bbb") ;; ==> (*TOP* "aaa" (*COMMENT* " xxx ") "bbb") ;; Passed. ;; 14. (html->shtml "aaa<! -- xxx -->bbb") ;; ==> (*TOP* "aaa" (*COMMENT* " xxx ") "bbb") ;; Passed. ;; 15. (html->shtml "aaa<!-- xxx --->bbb") ;; ==> (*TOP* "aaa" (*COMMENT* " xxx -") "bbb") ;; Passed. ;; 16. (html->shtml "aaa<!-- xxx ---->bbb") ;; ==> (*TOP* "aaa" (*COMMENT* " xxx --") "bbb") ;; Passed. ;; 17. (html->shtml "aaa<!-- xxx -y-->bbb") ;; ==> (*TOP* "aaa" (*COMMENT* " xxx -y") "bbb") ;; Passed. ;; 18. (html->shtml "aaa<!----->bbb") ;; ==> (*TOP* "aaa" (*COMMENT* "-") "bbb") ;; Passed. ;; 19. (html->shtml "aaa<!---->bbb") ;; ==> (*TOP* "aaa" (*COMMENT* "") "bbb") ;; Passed. ;; 20. (html->shtml "aaa<!--->bbb") ;; ==> (*TOP* "aaa" (*COMMENT* "->bbb")) ;; Passed. ;; 21. (html->shtml "<hr>") ;; ==> (*TOP* (hr)) ;; Passed. ;; 22. (html->shtml "<hr/>") ;; ==> (*TOP* (hr)) ;; Passed. ;; 23. (html->shtml "<hr />") ;; ==> (*TOP* (hr)) ;; Passed. ;; 24. (html->shtml "<hr noshade>") ;; ==> (*TOP* (hr (@ (noshade)))) ;; Passed. ;; 25. (html->shtml "<hr noshade/>") ;; ==> (*TOP* (hr (@ (noshade)))) ;; Passed. ;; 26. (html->shtml "<hr noshade />") ;; ==> (*TOP* (hr (@ (noshade)))) ;; Passed. ;; 27. (html->shtml "<hr noshade / >") ;; ==> (*TOP* (hr (@ (noshade)))) ;; Passed. ;; 28. (html->shtml "<hr noshade=1 />") ;; ==> (*TOP* (hr (@ (noshade "1")))) ;; Passed. ;; 29. (html->shtml "<hr noshade=1/>") ;; ==> (*TOP* (hr (@ (noshade "1/")))) ;; Passed. ;; 30. (html->shtml "<q>aaa<p/>bbb</q>ccc</p>ddd") ;; ==> (*TOP* (q "aaa" (p) "bbb") "ccc" "ddd") ;; Passed. ;; 31. (html->shtml "<") ;; ==> (*TOP* "<") ;; Passed. ;; 32. (html->shtml ">") ;; ==> (*TOP* ">") ;; Passed. ;; 33. (html->shtml "Gilbert & Sullivan") ;; ==> (*TOP* "Gilbert & Sullivan") ;; Passed. ;; 34. (html->shtml "Gilbert & Sullivan") ;; ==> (*TOP* "Gilbert & Sullivan") ;; Passed. ;; 35. (html->shtml "Gilbert & Sullivan") ;; ==> (*TOP* "Gilbert & Sullivan") ;; Passed. ;; 36. (html->shtml "Copyright © Foo") ;; ==> (*TOP* "Copyright " (& copy) " Foo") ;; Passed. ;; 37. (html->shtml "aaa©bbb") ;; ==> (*TOP* "aaa" (& copy) "bbb") ;; Passed. ;; 38. (html->shtml "aaa©") ;; ==> (*TOP* "aaa" (& copy)) ;; Passed. ;; 39. (html->shtml "*") ;; ==> (*TOP* "*") ;; Passed. ;; 40. (html->shtml "*") ;; ==> (*TOP* "*") ;; Passed. ;; 41. (html->shtml "*x") ;; ==> (*TOP* "*x") ;; Passed. ;; 42. (html->shtml "—") ;; ==> (*TOP* (& 151)) ;; Passed. ;; 43. (html->shtml "Ϩ") ;; ==> (*TOP* (& 1000)) ;; Passed. ;; 44. (html->shtml "B") ;; ==> (*TOP* "B") ;; Passed. ;; 45. (html->shtml "¢") ;; ==> (*TOP* (& 162)) ;; Passed. ;; 46. (html->shtml "ÿ") ;; ==> (*TOP* (& 255)) ;; Passed. ;; 47. (html->shtml "Ā") ;; ==> (*TOP* (& 256)) ;; Passed. ;; 48. (html->shtml "B") ;; ==> (*TOP* "B") ;; Passed. ;; 49. (html->shtml "&42;") ;; ==> (*TOP* "&42;") ;; Passed. ;; 50. (html->shtml (string-append "aaa©bbb&ccc<ddd&>" "eee*fffϨgggZhhh")) ;; ==> (*TOP* "aaa" (& copy) "bbb&ccc<ddd&>eee*fff" (& 1000) "gggZhhh") ;; Passed. ;; 51. (html->shtml (string-append "<IMG src=\"http://e.e/aw/pics/listings/" "ebayLogo_38x16.gif\" border=0 width=\"38\" height=\"16\" " "HSPACE=5 VSPACE=0\">2</FONT>")) ;; ==> (*TOP* (img (@ (src "http://e.e/aw/pics/listings/ebayLogo_38x16.gif") (border "0") (width "38") (height "16") (hspace "5") (vspace "0"))) "2") ;; Passed. ;; 52. (html->shtml "<aaa bbb=ccc\"ddd>eee") ;; ==> (*TOP* (aaa (@ (bbb "ccc") (ddd)) "eee")) ;; Passed. ;; 53. (html->shtml "<aaa bbb=ccc \"ddd>eee") ;; ==> (*TOP* (aaa (@ (bbb "ccc") (ddd)) "eee")) ;; Passed. ;; 54. (html->shtml (string-append "<HTML><Head><Title>My Title</Title></Head>" "<Body BGColor=\"white\" Foo=42>" "This is a <B><I>bold-italic</B></I> test of </Erk>" "broken HTML.<br>Yes it is.</Body></HTML>")) ;; ==> (*TOP* (html (head (title "My Title")) (body (@ (bgcolor "white") (foo "42")) "This is a " (b (i "bold-italic")) " test of " "broken HTML." (br) "Yes it is."))) ;; Passed. ;; 55. (html->shtml (string-append "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"" " \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">")) ;; ==> (*TOP* (*DECL* DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd")) ;; Passed. ;; 56. (html->shtml (string-append "<html xmlns=\"http://www.w3.org/1999/xhtml\" " "xml:lang=\"en\" " "lang=\"en\">")) ;; ==> (*TOP* (html (@ (xmlns "http://www.w3.org/1999/xhtml") (xml:lang "en") (lang "en")))) ;; Passed. ;; 57. (html->shtml (string-append "<html:html xmlns:html=\"http://www.w3.org/TR/REC-html40\">" "<html:head><html:title>Frobnostication</html:title></html:head>" "<html:body><html:p>Moved to <html:a href=\"http://frob.com\">" "here.</html:a></html:p></html:body></html:html>")) ;; ==> (*TOP* (html (@ (xmlns:html "http://www.w3.org/TR/REC-html40")) (head (title "Frobnostication")) (body (p "Moved to " (a (@ (href "http://frob.com")) "here."))))) ;; Passed. ;; 58. (html->shtml (string-append "<RESERVATION xmlns:HTML=\"http://www.w3.org/TR/REC-html40\">" "<NAME HTML:CLASS=\"largeSansSerif\">Layman, A</NAME>" "<SEAT CLASS=\"Y\" HTML:CLASS=\"largeMonotype\">33B</SEAT>" "<HTML:A HREF=\"/cgi-bin/ResStatus\">Check Status</HTML:A>" "<DEPARTURE>1997-05-24T07:55:00+1</DEPARTURE></RESERVATION>")) ;; ==> (*TOP* (reservation (@ (xmlns:HTML "http://www.w3.org/TR/REC-html40")) (name (@ (class "largeSansSerif")) "Layman, A") (seat (@ (class "Y") (class "largeMonotype")) "33B") (a (@ (href "/cgi-bin/ResStatus")) "Check Status") (departure "1997-05-24T07:55:00+1"))) ;; Passed. ;; 59. (html->shtml (string-append "<html><head><title></title><title>whatever</title></head><body>" "<a href=\"url\">link</a><p align=center><ul compact style=\"aa\">" "<p>BLah<!-- comment <comment> --> <i> italic <b> bold <tt> ened </i>" " still < bold </b></body><P> But not done yet...")) ;; ==> (*TOP* (html (head (title) (title "whatever")) (body (a (@ (href "url")) "link") (p (@ (align "center")) (ul (@ (compact) (style "aa")))) (p "BLah" (*COMMENT* " comment <comment> ") " " (i " italic " (b " bold " (tt " ened "))) " still < bold ")) (p " But not done yet..."))) ;; Passed. ;; 60. (html->shtml "<?xml version=\"1.0\" encoding=\"UTF-8\"?>") ;; ==> (*TOP* (*PI* xml "version=\"1.0\" encoding=\"UTF-8\"")) ;; Passed. ;; 61. (html->shtml "<?php php_info(); ?>") ;; ==> (*TOP* (*PI* php "php_info(); ")) ;; Passed. ;; 62. (html->shtml "<?php php_info(); ?") ;; ==> (*TOP* (*PI* php "php_info(); ?")) ;; Passed. ;; 63. (html->shtml "<?php php_info(); ") ;; ==> (*TOP* (*PI* php "php_info(); ")) ;; Passed. ;; 64. (html->shtml "<?foo bar ? baz > blort ?>") ;; ==> (*TOP* (*PI* foo "bar ? baz > blort ")) ;; Passed. ;; 65. (html->shtml "<?foo b?>x") ;; ==> (*TOP* (*PI* foo "b") "x") ;; Passed. ;; 66. (html->shtml "<?foo ?>x") ;; ==> (*TOP* (*PI* foo "") "x") ;; Passed. ;; 67. (html->shtml "<?foo ?>x") ;; ==> (*TOP* (*PI* foo "") "x") ;; Passed. ;; 68. (html->shtml "<?foo?>x") ;; ==> (*TOP* (*PI* foo "") "x") ;; Passed. ;; 69. (html->shtml "<?f?>x") ;; ==> (*TOP* (*PI* f "") "x") ;; Passed. ;; 70. (html->shtml "<??>x") ;; ==> (*TOP* (*PI* #f "") "x") ;; Passed. ;; 71. (html->shtml "<?>x") ;; ==> (*TOP* (*PI* #f ">x")) ;; Passed. ;; 72. (html->shtml "<foo bar=\"baz\">blort") ;; ==> (*TOP* (foo (@ (bar "baz")) "blort")) ;; Passed. ;; 73. (html->shtml "<foo bar='baz'>blort") ;; ==> (*TOP* (foo (@ (bar "baz")) "blort")) ;; Passed. ;; 74. (html->shtml "<foo bar=\"baz'>blort") ;; ==> (*TOP* (foo (@ (bar "baz'>blort")))) ;; Passed. ;; 75. (html->shtml "<foo bar='baz\">blort") ;; ==> (*TOP* (foo (@ (bar "baz\">blort")))) ;; Passed. ;; 76. (html->shtml (string-append "<p>A</p>" "<script>line0 <" lf "line1" lf "<line2></script>" "<p>B</p>")) ;; ==> (*TOP* (p "A") (script "line0 <\n" "line1\n" "<line2>") (p "B")) ;; Passed. ;; 77. (html->shtml "<xmp>a<b>c</XMP>d") ;; ==> (*TOP* (xmp "a<b>c") "d") ;; Passed. ;; 78. (html->shtml "<XMP>a<b>c</xmp>d") ;; ==> (*TOP* (xmp "a<b>c") "d") ;; Passed. ;; 79. (html->shtml "<xmp>a<b>c</foo:xmp>d") ;; ==> (*TOP* (xmp "a<b>c") "d") ;; Passed. ;; 80. (html->shtml "<foo:xmp>a<b>c</xmp>d") ;; ==> (*TOP* (xmp "a<b>c") "d") ;; Passed. ;; 81. (html->shtml "<foo:xmp>a<b>c</foo:xmp>d") ;; ==> (*TOP* (xmp "a<b>c") "d") ;; Passed. ;; 82. (html->shtml "<foo:xmp>a<b>c</bar:xmp>d") ;; ==> (*TOP* (xmp "a<b>c") "d") ;; Passed. ;; 83. (html->shtml "<xmp>a</b>c</xmp>d") ;; ==> (*TOP* (xmp "a</b>c") "d") ;; Passed. ;; 84. (html->shtml "<xmp>a</b >c</xmp>d") ;; ==> (*TOP* (xmp "a</b >c") "d") ;; Passed. ;; 85. (html->shtml "<xmp>a</ b>c</xmp>d") ;; ==> (*TOP* (xmp "a</ b>c") "d") ;; Passed. ;; 86. (html->shtml "<xmp>a</ b >c</xmp>d") ;; ==> (*TOP* (xmp "a</ b >c") "d") ;; Passed. ;; 87. (html->shtml "<xmp>a</b:x>c</xmp>d") ;; ==> (*TOP* (xmp "a</b:x>c") "d") ;; Passed. ;; 88. (html->shtml "<xmp>a</b::x>c</xmp>d") ;; ==> (*TOP* (xmp "a</b::x>c") "d") ;; Passed. ;; 89. (html->shtml "<xmp>a</b:::x>c</xmp>d") ;; ==> (*TOP* (xmp "a</b:::x>c") "d") ;; Passed. ;; 90. (html->shtml "<xmp>a</b:>c</xmp>d") ;; ==> (*TOP* (xmp "a</b:>c") "d") ;; Passed. ;; 91. (html->shtml "<xmp>a</b::>c</xmp>d") ;; ==> (*TOP* (xmp "a</b::>c") "d") ;; Passed. ;; 92. (html->shtml "<xmp>a</xmp:b>c</xmp>d") ;; ==> (*TOP* (xmp "a</xmp:b>c") "d") ;; Passed. ;; DEFINE: expected output for next two tests (define expected (quasiquote ((unquote shtml-top-symbol) (p "real1") (unquote lf) (xmp (unquote lf) (unquote (string-append "alpha" lf)) (unquote (string-append "<P>fake</P>" lf)) (unquote (string-append "bravo" lf))) (p "real2")))) ;; 93. (html->shtml (string-append "<P>real1</P>" lf "<XMP>" lf "alpha" lf "<P>fake</P>" lf "bravo" lf "</XMP " lf "<P>real2</P>")) ;; ==> (*TOP* (p "real1") "\n" (xmp "\n" "alpha\n" "<P>fake</P>\n" "bravo\n") (p "real2")) ;; Passed. ;; 94. (html->shtml (string-append "<P>real1</P>" lf "<XMP>" lf "alpha" lf "<P>fake</P>" lf "bravo" lf "</XMP" lf "<P>real2</P>")) ;; ==> (*TOP* (p "real1") "\n" (xmp "\n" "alpha\n" "<P>fake</P>\n" "bravo\n") (p "real2")) ;; Passed. ;; 95. (html->shtml "<xmp>a</xmp>x") ;; ==> (*TOP* (xmp "a") "x") ;; Passed. ;; 96. (html->shtml (string-append "<xmp>a" lf "</xmp>x")) ;; ==> (*TOP* (xmp "a\n") "x") ;; Passed. ;; 97. (html->shtml "<xmp></xmp>x") ;; ==> (*TOP* (xmp) "x") ;; Passed. ;; 98. (html->shtml "<xmp>a</xmp") ;; ==> (*TOP* (xmp "a")) ;; Passed. ;; 99. (html->shtml "<xmp>a</xm") ;; ==> (*TOP* (xmp "a</xm")) ;; Passed. ;; 100. (html->shtml "<xmp>a</x") ;; ==> (*TOP* (xmp "a</x")) ;; Passed. ;; 101. (html->shtml "<xmp>a</") ;; ==> (*TOP* (xmp "a</")) ;; Passed. ;; 102. (html->shtml "<xmp>a<") ;; ==> (*TOP* (xmp "a<")) ;; Passed. ;; 103. (html->shtml "<xmp>a") ;; ==> (*TOP* (xmp "a")) ;; Passed. ;; 104. (html->shtml "<xmp>") ;; ==> (*TOP* (xmp)) ;; Passed. ;; 105. (html->shtml "<xmp") ;; ==> (*TOP* (xmp)) ;; Passed. ;; 106. (html->shtml "<xmp x=42 ") ;; ==> (*TOP* (xmp (@ (x "42")))) ;; Passed. ;; 107. (html->shtml "<xmp x= ") ;; ==> (*TOP* (xmp (@ (x)))) ;; Passed. ;; 108. (html->shtml "<xmp x ") ;; ==> (*TOP* (xmp (@ (x)))) ;; Passed. ;; 109. (html->shtml "<xmp x") ;; ==> (*TOP* (xmp (@ (x)))) ;; Passed. ;; 110. (html->shtml "<script>xxx") ;; ==> (*TOP* (script "xxx")) ;; Passed. ;; 111. (html->shtml "<script/>xxx") ;; ==> (*TOP* (script) "xxx") ;; Passed. ;; 112. (html->shtml "<html xml:lang=\"en\" lang=\"en\">") ;; ==> (*TOP* (html (@ (xml:lang "en") (lang "en")))) ;; Passed. ;; 113. (html->shtml "<a href=/foo.html>") ;; ==> (*TOP* (a (@ (href "/foo.html")))) ;; Passed. ;; 114. (html->shtml "<a href=/>foo.html") ;; ==> (*TOP* (a (@ (href "/")) "foo.html")) ;; Passed. ;; 115. (shtml->html (quote (p))) ;; ==> "<p></p>" ;; Passed. ;; 116. (shtml->html (quote (p "CONTENT"))) ;; ==> "<p>CONTENT</p>" ;; Passed. ;; 117. (shtml->html (quote (br))) ;; ==> "<br />" ;; Passed. ;; 118. (shtml->html (quote (br "CONTENT"))) ;; ==> "<br />" ;; Passed. ;; 119. (shtml->html (quasiquote (hr (@ (clear "all"))))) ;; ==> "<hr clear=\"all\" />" ;; Passed. ;; 120. (shtml->html (quasiquote (hr (@ (noshade))))) ;; ==> "<hr noshade />" ;; Passed. ;; 121. (shtml->html (quasiquote (hr (@ (noshade #t))))) ;; ==> "<hr noshade />" ;; Passed. ;; 122. (shtml->html (quasiquote (hr (@ (noshade "noshade"))))) ;; ==> "<hr noshade=\"noshade\" />" ;; Passed. ;; 123. (shtml->html (quasiquote (hr (@ (aaa "bbbccc"))))) ;; ==> "<hr aaa=\"bbbccc\" />" ;; Passed. ;; 124. (shtml->html (quasiquote (hr (@ (aaa "bbb'ccc"))))) ;; ==> "<hr aaa=\"bbb'ccc\" />" ;; Passed. ;; 125. (shtml->html (quasiquote (hr (@ (aaa "bbb\"ccc"))))) ;; ==> "<hr aaa='bbb\"ccc' />" ;; Passed. ;; 126. (shtml->html (quasiquote (hr (@ (aaa "bbb\"ccc'ddd"))))) ;; ==> "<hr aaa=\"bbb"ccc'ddd\" />" ;; Passed. ;; 127. (shtml->html (quote (& "copy"))) ;; ==> "©" ;; Passed. ;; 128. (shtml->html (quote (& "rArr"))) ;; ==> "⇒" ;; Passed. ;; 129. (shtml->html (quasiquote (& (unquote (string->symbol "rArr"))))) ;; ==> "⇒" ;; Passed. ;; 130. (shtml->html (quote (& 151))) ;; ==> "—" ;; Passed. ;; 131. (html->shtml "©") ;; ==> (*TOP* (& copy)) ;; Passed. ;; 132. (html->shtml "⇒") ;; ==> (*TOP* (& rArr)) ;; Passed. ;; 133. (html->shtml "—") ;; ==> (*TOP* (& 151)) ;; Passed. ;; 134. (html->shtml "ϧ") ;; ==> (*TOP* (& 999)) ;; Passed. ;; 135. (shtml->html (quasiquote ((unquote shtml-pi-symbol) xml "version=\"1.0\" encoding=\"UTF-8\""))) ;; ==> "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" ;; Passed. ;; 136. (shtml->html (quasiquote ((unquote shtml-decl-symbol) (unquote (string->symbol "DOCTYPE")) html (unquote (string->symbol "PUBLIC")) "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"))) ;; ==> "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">" ;; Passed. ;; 137. (shtml-entity-value (quote (*ENTITY* "shtml-named-char" "rArr"))) ;; ==> rArr ;; Passed. ;; 138. (shtml-entity-value (quote (& "rArr"))) ;; ==> rArr ;; Passed. ;; 139. (shtml-entity-value (quasiquote (& (unquote (string->symbol "rArr"))))) ;; ==> rArr ;; Passed. ;; 140. (html->shtml "xxx<![CDATA[abc]]>yyy") ;; ==> (*TOP* "xxx" "abc" "yyy") ;; Passed. ;; 141. (html->shtml "xxx<![CDATA[ab]c]]>yyy") ;; ==> (*TOP* "xxx" "ab]c" "yyy") ;; Passed. ;; 142. (html->shtml "xxx<![CDATA[ab]]c]]>yyy") ;; ==> (*TOP* "xxx" "ab]]c" "yyy") ;; Passed. ;; 143. (html->shtml "xxx<![CDATA[]]]>yyy") ;; ==> (*TOP* "xxx" "]" "yyy") ;; Passed. ;; 144. (html->shtml "xxx<![CDATAyyy") ;; ==> (*TOP* "xxx" "<![CDATA" "yyy") ;; Passed. ;; 145. parent constraints with div (html->shtml "<html><div><p>P1</p><p>P2</p></div><p>P3</p>") ;; ==> (*TOP* (html (div (p "P1") (p "P2")) (p "P3"))) ;; Passed. ;; 146. we no longer convert character references above 126 to string (html->shtml "—") ;; ==> (*TOP* (& 151)) ;; Passed. ;;; END "HtmlPrag" TESTS: PASSED ;;; (Total: 146 Passed: 146 Failed: 0)