home *** CD-ROM | disk | FTP | other *** search
/ PC World 2000 December / PCWorld_2000-12_cd.bin / Komunikace / Comanche / xuibuilder / TclDOM-1.6 / tests / parse.test < prev    next >
Text File  |  2000-11-02  |  2KB  |  96 lines

  1. # Commands covered:  ::dom::DOMimplementation parse
  2. #
  3. # This file contains a collection of tests for one or more of the 
  4. # TclDOM commands.  Sourcing this file into Tcl runs the tests and
  5. # generates output for errors.  No output means no errors were found.
  6. #
  7. # Copyright (c) 1998 Zveno Pty Ltd.
  8. #
  9. # $Id: parse.test,v 1.1.1.1 1996/02/22 06:06:14 daniel Exp $
  10.  
  11. if {[string compare test [info procs test]] == 1} then {source defs}
  12.  
  13. if {[catch {package require dom 1.0}]} {
  14.     catch {puts stderr "Cannot load dom 1.0 package"}
  15.     return
  16. }
  17.  
  18. # checkTree --
  19. #
  20. #    Checks a DOM tree structure against an expected tree
  21. #    structure, given as a nested Tcl list.
  22. #
  23. # Arguments:
  24. #    token    DOM node token of document
  25. #    s    structure given as nested Tcl list
  26. #
  27. # Results:
  28. #    Returns 1 if structure matches, 0 otherwise
  29.  
  30. proc checkTree {token s} {
  31.     return 1
  32. }
  33.  
  34. test parse-1.1 {single element document} {
  35.     set result [::dom::DOMImplementation parse {<?xml version="1.0"?>
  36. <!DOCTYPE Test>
  37. <Test></Test>}]
  38.     checkTree $result {
  39.     {pi xml}
  40.     {pi DOCTYPE}
  41.     {element Test {} {}}
  42.     }
  43. } 1
  44. test parse-1.2 {nested element document} {
  45.     set result [::dom::DOMImplementation parse {<?xml version="1.0"?>
  46. <!DOCTYPE Test>
  47. <Test><Nested><Deeper></Deeper></Nested><Nested></Nested></Test>}]
  48.     checkTree $result {
  49.     {pi xml}
  50.     {pi DOCTYPE}
  51.     {element Test {} {
  52.         {element Nested {} {
  53.         {element Deeper {} {}}
  54.         }}
  55.         {element Nested {} {}}
  56.     }
  57.     }
  58.     {element Test {} {}}
  59.     }
  60. } 1
  61. test parse-1.3 {elements with attributes} {
  62.     set result [::dom::DOMImplementation parse {<?xml version="1.0"?>
  63. <!DOCTYPE Test>
  64. <Test><Nested depth="1"><Nested depth="2"></Nested></Nested></Test>}]
  65.     checkTree $result {
  66.     {pi xml}
  67.     {pi DOCTYPE}
  68.     {element Test {} {
  69.         {element Nested {depth 1} {
  70.         {element Nested {depth 2} {}}
  71.         }}
  72.     }
  73.     }
  74. }
  75. } 1
  76. test parse-1.4 {elements with text content} {
  77.     set result [::dom::DOMImplementation parse {<?xml version="1.0"?>
  78. <!DOCTYPE Test>
  79. <Test><Nested><Deeper>Inside Deeper</Deeper></Nested><Nested>Second Nested</Nested></Test>}]
  80.     checkTree $result {
  81.     {pi xml}
  82.     {pi DOCTYPE}
  83.     {element Test {} {
  84.         {element Nested {} {
  85.         {element Deeper {} {
  86.             {text {Inside Deeper}}
  87.         }}
  88.         }}
  89.         {element Nested {} {
  90.         {text {Second Nested}}
  91.         }}
  92.     }
  93.     }
  94.     {element Test {} {}}
  95.     }
  96. } 1