all repos — min @ master

A small but practical concatenative programming language.

tests/xml.min

 1
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
'min-test require :test
;;;


"xml" test.describe

  ("test" xentity "text" dget "test" ==) test.assert

  ("test" xcomment "text" dget "test" ==) test.assert

  ("test" xtext "text" dget "test" ==) test.assert

  ("test" xcdata "text" dget "test" ==) test.assert

  ("test" xelement "tag" dget "test" ==) test.assert

  (
   "test" xelement :xnode
   xnode {"a" :attr1} "attributes" dset @xnode
   "a1" xelement :child
   "text..." xtext :text
   xnode (child text) => "children" dset @xnode
   xnode to-xml 
   "<test attr1=\"a\"><a1 />text...</test>" == ) test.assert

   (
    "<ul><li class='test'>yes</li><li class='test'>...</li><li>no</li></ul>" from-xml :xnode
    xnode "li.test" xquery 
    "children" dget first "text" dget "yes" ==
   ) test.assert

   (
    "<ul><li class='test'>yes</li><li class='test'>...</li><li>no</li></ul>" from-xml :xnode
    xnode "li.test" xqueryall 
    size 2 ==
   ) test.assert

   (
    "<b>this is a test</b><img src='test.jpg'><i>&copy</i>" from-html :xnode
    xnode to-xml "<document>\n  <b>this is a test</b>\n  <img src=\"test.jpg\" />\n  <i>&amp;copy</i>\n</document>" ==
   ) test.assert

   (
    "&gt;" xentity xentity2utf8 ">" ==
   ) test.assert

   (
    "This is a <i>test</i>" xescape "This is a &lt;i&gt;test&lt;/i&gt;" ==
   ) test.assert

  test.report
  clear-stack