Annotation of embedaddon/php/ext/dom/tests/canonicalization.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: Test: Canonicalization - C14N()
                      3: --SKIPIF--
                      4: <?php require_once('skipif.inc'); ?>
                      5: --FILE--
                      6: <?php
                      7: $xml = <<<EOXML
                      8: <?xml version="1.0" encoding="ISO-8859-1" ?>
                      9: <foo xmlns="http://www.example.com/ns/foo"
                     10:      xmlns:fubar="http://www.example.com/ns/fubar" xmlns:test="urn::test"><contain>
                     11:   <bar><test1 /></bar>
                     12:   <bar><test2 /></bar>
                     13:   <fubar:bar xmlns:fubar="http://www.example.com/ns/fubar"><test3 /></fubar:bar>
                     14:   <fubar:bar><test4 /></fubar:bar>
                     15: <!-- this is a comment -->
                     16: </contain>
                     17: </foo>
                     18: EOXML;
                     19: 
                     20: $dom = new DOMDocument();
                     21: $dom->loadXML($xml);
                     22: $doc = $dom->documentElement->firstChild;
                     23: 
                     24: /* inclusive/without comments first child element of doc element is context. */
                     25: echo $doc->C14N()."\n\n";
                     26: 
                     27: /* exclusive/without comments first child element of doc element is context. */
                     28: echo $doc->c14N(TRUE)."\n\n";
                     29: 
                     30: /* inclusive/with comments first child element of doc element is context. */
                     31: echo $doc->C14N(FALSE, TRUE)."\n\n";
                     32: 
                     33: /* exclusive/with comments first child element of doc element is context. */
                     34: echo $doc->C14N(TRUE, TRUE)."\n\n";
                     35: 
                     36: /* exclusive/without comments using xpath query. */
                     37: echo $doc->c14N(TRUE, FALSE, array('query'=>'(//. | //@* | //namespace::*)'))."\n\n";
                     38: 
                     39: /* exclusive/without comments first child element of doc element is context.
                     40:    using xpath query with registered namespace.
                     41:    test namespace prefix is also included. */
                     42: echo $doc->c14N(TRUE, FALSE, 
                     43:                 array('query'=>'(//a:contain | //a:bar | .//namespace::*)', 
                     44:                       'namespaces'=>array('a'=>'http://www.example.com/ns/foo')), 
                     45:                 array('test'))."\n\n";
                     46: 
                     47: /* exclusive/without comments first child element of doc element is context. 
                     48:    test namespace prefix is also included */
                     49: echo $doc->C14N(TRUE, FALSE, NULL, array('test'));
                     50: ?>
                     51: --EXPECTF--
                     52: 
                     53: <contain xmlns="http://www.example.com/ns/foo" xmlns:fubar="http://www.example.com/ns/fubar" xmlns:test="urn::test">
                     54:   <bar><test1></test1></bar>
                     55:   <bar><test2></test2></bar>
                     56:   <fubar:bar><test3></test3></fubar:bar>
                     57:   <fubar:bar><test4></test4></fubar:bar>
                     58: 
                     59: </contain>
                     60: 
                     61: <contain xmlns="http://www.example.com/ns/foo">
                     62:   <bar><test1></test1></bar>
                     63:   <bar><test2></test2></bar>
                     64:   <fubar:bar xmlns:fubar="http://www.example.com/ns/fubar"><test3></test3></fubar:bar>
                     65:   <fubar:bar xmlns:fubar="http://www.example.com/ns/fubar"><test4></test4></fubar:bar>
                     66: 
                     67: </contain>
                     68: 
                     69: <contain xmlns="http://www.example.com/ns/foo" xmlns:fubar="http://www.example.com/ns/fubar" xmlns:test="urn::test">
                     70:   <bar><test1></test1></bar>
                     71:   <bar><test2></test2></bar>
                     72:   <fubar:bar><test3></test3></fubar:bar>
                     73:   <fubar:bar><test4></test4></fubar:bar>
                     74: <!-- this is a comment -->
                     75: </contain>
                     76: 
                     77: <contain xmlns="http://www.example.com/ns/foo">
                     78:   <bar><test1></test1></bar>
                     79:   <bar><test2></test2></bar>
                     80:   <fubar:bar xmlns:fubar="http://www.example.com/ns/fubar"><test3></test3></fubar:bar>
                     81:   <fubar:bar xmlns:fubar="http://www.example.com/ns/fubar"><test4></test4></fubar:bar>
                     82: <!-- this is a comment -->
                     83: </contain>
                     84: 
                     85: <foo xmlns="http://www.example.com/ns/foo"><contain>
                     86:   <bar><test1></test1></bar>
                     87:   <bar><test2></test2></bar>
                     88:   <fubar:bar xmlns:fubar="http://www.example.com/ns/fubar"><test3></test3></fubar:bar>
                     89:   <fubar:bar xmlns:fubar="http://www.example.com/ns/fubar"><test4></test4></fubar:bar>
                     90: 
                     91: </contain>
                     92: </foo>
                     93: 
                     94: <contain xmlns="http://www.example.com/ns/foo" xmlns:test="urn::test"><bar></bar><bar></bar></contain>
                     95: 
                     96: <contain xmlns="http://www.example.com/ns/foo" xmlns:test="urn::test">
                     97:   <bar><test1></test1></bar>
                     98:   <bar><test2></test2></bar>
                     99:   <fubar:bar xmlns:fubar="http://www.example.com/ns/fubar"><test3></test3></fubar:bar>
                    100:   <fubar:bar xmlns:fubar="http://www.example.com/ns/fubar"><test4></test4></fubar:bar>
                    101: 
                    102: </contain>

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>