Test output for htmlprag

Testing time: 3.0s

CHICKEN_INSTALL_PREFIX=/root/src/salmonella/salmonella-4.5.0/repo CHICKEN_INCLUDE_PATH=/root/src/salmonella/salmonella-4.5.0/repo/share/chicken CHICKEN_REPOSITORY=/root/src/salmonella/salmonella-4.5.0/repo/lib/chicken/5 /usr/local/chicken-4.5.0/bin/csi -script run.scm

;;; 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 "&lt;")
;; ==> (*TOP* "<")
;; Passed.

;; 32. 
(html->shtml "&gt;")
;; ==> (*TOP* ">")
;; Passed.

;; 33. 
(html->shtml "Gilbert &amp; Sullivan")
;; ==> (*TOP* "Gilbert & Sullivan")
;; Passed.

;; 34. 
(html->shtml "Gilbert &amp Sullivan")
;; ==> (*TOP* "Gilbert & Sullivan")
;; Passed.

;; 35. 
(html->shtml "Gilbert & Sullivan")
;; ==> (*TOP* "Gilbert & Sullivan")
;; Passed.

;; 36. 
(html->shtml "Copyright &copy; Foo")
;; ==> (*TOP* "Copyright " (& copy) " Foo")
;; Passed.

;; 37. 
(html->shtml "aaa&copy;bbb")
;; ==> (*TOP* "aaa" (& copy) "bbb")
;; Passed.

;; 38. 
(html->shtml "aaa&copy")
;; ==> (*TOP* "aaa" (& copy))
;; Passed.

;; 39. 
(html->shtml "&#42;")
;; ==> (*TOP* "*")
;; Passed.

;; 40. 
(html->shtml "&#42")
;; ==> (*TOP* "*")
;; Passed.

;; 41. 
(html->shtml "&#42x")
;; ==> (*TOP* "*x")
;; Passed.

;; 42. 
(html->shtml "&#151")
;; ==> (*TOP* (& 151))
;; Passed.

;; 43. 
(html->shtml "&#1000")
;; ==> (*TOP* (& 1000))
;; Passed.

;; 44. 
(html->shtml "&#x42")
;; ==> (*TOP* "B")
;; Passed.

;; 45. 
(html->shtml "&#xA2")
;; ==> (*TOP* (& 162))
;; Passed.

;; 46. 
(html->shtml "&#xFF")
;; ==> (*TOP* (& 255))
;; Passed.

;; 47. 
(html->shtml "&#x100")
;; ==> (*TOP* (& 256))
;; Passed.

;; 48. 
(html->shtml "&#X42")
;; ==> (*TOP* "B")
;; Passed.

;; 49. 
(html->shtml "&42;")
;; ==> (*TOP* "&42;")
;; Passed.

;; 50. 
(html->shtml (string-append "aaa&copy;bbb&amp;ccc&lt;ddd&&gt;" "eee&#42;fff&#1000;ggg&#x5a;hhh"))
;; ==> (*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 &lt; 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&quot;ccc'ddd\" />"
;; Passed.

;; 127. 
(shtml->html (quote (& "copy")))
;; ==> "&copy;"
;; Passed.

;; 128. 
(shtml->html (quote (& "rArr")))
;; ==> "&rArr;"
;; Passed.

;; 129. 
(shtml->html (quasiquote (& (unquote (string->symbol "rArr")))))
;; ==> "&rArr;"
;; Passed.

;; 130. 
(shtml->html (quote (& 151)))
;; ==> "&#151;"
;; Passed.

;; 131. 
(html->shtml "&copy;")
;; ==> (*TOP* (& copy))
;; Passed.

;; 132. 
(html->shtml "&rArr;")
;; ==> (*TOP* (& rArr))
;; Passed.

;; 133. 
(html->shtml "&#151;")
;; ==> (*TOP* (& 151))
;; Passed.

;; 134. 
(html->shtml "&#999;")
;; ==> (*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 "&#151;")
;; ==> (*TOP* (& 151))
;; Passed.

;;; END "HtmlPrag" TESTS: PASSED
;;;     (Total: 146  Passed: 146  Failed: 0)