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

  1. # Commands covered:  ::dom::element
  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: element.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. set doc [dom::DOMImplementation create]
  19. set top [dom::document createElement $doc Test]
  20. set e1 [dom::document createElement $top Element]
  21.  
  22. test element-1.1 {cget -tagName} {
  23.     dom::element cget $top -tagName
  24. } Test
  25. test element-1.2 {cget -tagName} {
  26.     dom::element cget $e1 -tagName
  27. } Element
  28. test element-1.3 {error: cget -tagName on non-element node} {
  29.     set result [catch {dom::element cget $doc -tagName} msg]
  30.     list $result $msg
  31. } {1 {not an element type node}}
  32. test element-1.4 {error: cget} {
  33.     catch {dom::element cget}
  34. } 1
  35. test element-1.5 {error:cget} {
  36.     catch {dom::element cget $e1}
  37. } 1
  38.  
  39. test element-2.1 {error: configure -tagName, read-only option} {
  40.     catch {dom::element configure $e1 -tagName Error}
  41. } 1
  42.  
  43. test element-3.1 {setAttribute} {
  44.     dom::element setAttribute $e1 class success
  45. } {}
  46. test element-3.2 {error: setAttribute, wrong number args} {
  47.     catch {dom::element setAttribute $e1 href}
  48. } 1
  49. # TODO: test that illegal attribute names are rejected
  50.  
  51. test element-4.1 {getAttribute} {
  52.     dom::element getAttribute $e1 class
  53. } success
  54. test element-4.2 {error: getAttribute, wrong number args} {
  55.     catch {dom::element getAttribute $e1}
  56. } 1
  57. test element-4.3 {error: getAttribute, undefined attribute} {
  58.     catch {dom::element getAttribute $e1 unknown}
  59. } 1
  60. # TODO: check that attribute values are escaped correctly
  61.  
  62. test element-5.1 {removeAttribute} {
  63.     dom::element removeAttribute $e1 class
  64. } {}
  65.  
  66. # Attribute nodes are not yet implemented
  67. if {0} {
  68. test element-6.1 {getAttributeNode} {
  69. } {}
  70.  
  71. test element-7.1 {setAttributeNode} {
  72. } {}
  73.  
  74. test element-8.1 {removeAttributeNode} {
  75. } {}
  76. }
  77.  
  78. test element-9.1 {getElementsByTagName} {
  79. } {}
  80.  
  81. test element-10.1 {normalize} {
  82. } {}
  83.  
  84. test element-11.1 {error: method} {
  85.     set result [catch {dom::element foo $e1} msg]
  86.     list $result $msg
  87. } {1 {unknown method "foo"}}
  88.