home *** CD-ROM | disk | FTP | other *** search
/ PC World 2000 December / PCWorld_2000-12_cd.bin / Komunikace / Comanche / xuibuilder / TclDOM-1.6 / tests / serialization.test < prev   
Encoding:
Text File  |  2000-11-02  |  2.4 KB  |  72 lines

  1. # Commands covered:  ::dom::DOMimplementation serialize
  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: serialization.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. test serialize-1.1 {single element document} {
  19.     set doc [::dom::DOMImplementation create]
  20.     set top [::dom::document createElement $doc Test]
  21.     ::dom::DOMImplementation serialize $doc
  22. } {<?xml version='1.0'?>
  23. <!DOCTYPE Test>
  24. <Test></Test>}
  25.  
  26. test serialize-1.2 {element-only document} {
  27.     set e1 [::dom::document createElement $top Element1]
  28.     set e2 [::dom::document createElement $top Element2]
  29.     set e3 [::dom::document createElement $top Element3]
  30.     ::dom::DOMImplementation serialize $doc
  31. } {<?xml version='1.0'?>
  32. <!DOCTYPE Test>
  33. <Test><Element1/><Element2/><Element3/></Test>}
  34.  
  35. test serialize-1.3 {serialize element} {
  36.     ::dom::DOMImplementation serialize $top
  37. } {<Test><Element1/><Element2/><Element3/></Test>}
  38.  
  39. test serialize-1.4 {serialize non-empty element} {
  40.     ::dom::document createElement $e1 Child1
  41.     ::dom::DOMImplementation serialize $doc
  42. } {<?xml version='1.0'?>
  43. <!DOCTYPE Test>
  44. <Test><Element1><Child1/></Element1><Element2/><Element3/></Test>}
  45.  
  46. test serialize-2.1 {error: missing document element} {
  47.     set doc [::dom::DOMImplementation create]
  48.     set result [catch {::dom::DOMImplementation serialize $doc} msg]
  49.     list $result $msg
  50. } {1 {document has no document element}}
  51.  
  52. test serialize-3.1 {XML declaration: attributes in correct order} {
  53.     set doc [::dom::DOMImplementation parse {<?xml version="1.0"?>
  54. <Test></Test>
  55. }]
  56.     dom::DOMImplementation serialize $doc
  57. } {<?xml version='1.0'?>
  58. <!DOCTYPE Test>
  59. <Test></Test>}
  60.  
  61. # This test fails if using TclExpat
  62.  
  63. test serialize-3.2 {XML declaration: attributes in correct order} {
  64.     set doc [::dom::DOMImplementation parse {<?xml version="1.0" standalone="yes"?>
  65. <Test></Test>
  66. }]
  67.     dom::DOMImplementation serialize $doc
  68. } {<?xml version='1.0' standalone='yes'?>
  69. <!DOCTYPE Test>
  70. <Test></Test>}
  71.  
  72.