# Features covered: simple parser # # This file contains a collection of tests for the simple parser. # Tested functionalities: # simple-1.*: Basic function, parsing # simple-2.*: Character encoding # # Copyright (c) 2002 Rolf Ade. # # RCS: @(#) $Id: xmlsimple.test,v 1.5 2004/07/13 03:28:10 rolf Exp $ source [file join [file dir [info script]] loadtdom.tcl] test simple-1.1 {document as only root node} { set doc [dom parse -simple {}] set root [$doc documentElement] set result [$root asXML -indent none] $doc delete set result } {} test simple-1.2 {parsing} { set doc [dom parse -simple {}] set root [$doc documentElement] set result [llength [$root childNodes]] $doc delete set result } {3} test simple-1.3 {simple parser - parsing} {knownBug} { set doc [dom parse -simple { }] set root [$doc documentElement] set result [$root asXML -indent none] $doc delete set result } {} test simple-1.4 {simple parser - parsing} { set doc [dom parse -simple { }] set root [$doc documentElement] set result [$root asXML -indent none] $doc delete set result } {} test simple-1.5 {simple parser - -keepEmpties} { set doc [dom parse -simple -keepEmpties {}] set root [$doc documentElement] set result [$root hasChildNodes] $doc delete set result } {0} test simple-1.6 {simple parser - empty CDATA section} { set doc [dom parse -simple -keepEmpties {}] set root [$doc documentElement] set result [$root hasChildNodes] $doc delete set result } {0} test simple-1.7 {simple parser - -keepEmpties} { set doc [dom parse -simple -keepEmpties { }] set result [$doc asXML -indent none] $doc delete set result } { } test simple-1.8 {simple parser - empty comment} { set doc [dom parse -simple {}] set root [$doc documentElement] set result [$root hasChildNodes] lappend result [[$root firstChild] nodeValue] $doc delete set result } {1 {}} test simple-2.1 {XML build in entities} { set doc [dom parse -simple {<>&'"}] set root [$doc documentElement] set result [$root text] $doc delete set result } {<>&'"} # emacs: " test simple-2.2 {character entities} { set doc [dom parse -simple {AB}] set root [$doc documentElement] set result [$root text] $doc delete set result } {AB} test simple-2.3 {character entities} {need_i18n} { set doc [dom parse -simple {ÖÄÄ}] set root [$doc documentElement] set result [$root text] $doc delete set result } "\u00d6\u00c4\u00c4" # cleanup ::tcltest::cleanupTests return