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

1.1       misho       1: --TEST--
                      2: Test 1: Creating Elements with and without Namespaces
                      3: --SKIPIF--
                      4: <?php require_once('skipif.inc'); ?>
                      5: --FILE--
                      6: <?php
                      7: 
                      8: print " 1 DOMDocument::createElement('valid')\n";
                      9: try {
                     10:     $dom = new domDocument;
                     11:     $dom->createElement('valid');
                     12:     print "valid\n";
                     13: } catch (Exception $e) {
                     14:     print $e->getMessage() . "\n";
                     15: }
                     16: 
                     17: print " 2 DOMDocument::createElement('-invalid')\n";
                     18: try {
                     19:     $dom = new domDocument;
                     20:     $dom->createElement('-invalid');
                     21:     print "valid\n";
                     22: } catch (Exception $e) {
                     23:     print $e->getMessage() . "\n";
                     24: }
                     25: 
                     26: print " 3 DOMDocument::createElement(' ')\n";
                     27: try {
                     28:     $dom = new domDocument;
                     29:     $dom->createElement(' ');
                     30:     print "valid\n";
                     31: } catch (Exception $e) {
                     32:     print $e->getMessage() . "\n";
                     33: }
                     34: 
                     35: print " 4 DOMDocument::createElement('prefix:valid')\n";
                     36: try {
                     37:     $dom = new domDocument;
                     38:     $dom->createElement('prefix:valid');
                     39:     print "valid\n";
                     40: } catch (Exception $e) {
                     41:     print $e->getMessage() . "\n";
                     42: }
                     43: 
                     44: print " 5 DOMDocument::createElementNS('http://valid.com', 'valid')\n";
                     45: try {
                     46:     $dom = new domDocument;
                     47:     $dom->createElementNS('http://valid.com', 'valid');
                     48:     print "valid\n";
                     49: } catch (Exception $e) {
                     50:     print $e->getMessage() . "\n";
                     51: }
                     52: 
                     53: print " 6 DOMDocument::createElementNS('http://valid.com', 'prefix:valid')\n";
                     54: try {
                     55:     $dom = new domDocument;
                     56:     $dom->createElementNS('http://valid.com', 'prefix:valid');
                     57:     print "valid\n";
                     58: } catch (Exception $e) {
                     59:     print $e->getMessage() . "\n";
                     60: }
                     61: 
                     62: print " 7 DOMDocument::createElementNS('http://valid.com', '-invalid')\n";
                     63: try {
                     64:     $dom = new domDocument;
                     65:     $dom->createElementNS('http://valid.com', '-invalid');
                     66:     print "valid\n";
                     67: } catch (Exception $e) {
                     68:     print $e->getMessage() . "\n";
                     69: }
                     70: 
                     71: print " 8 DOMDocument::createElementNS('http://valid.com', 'prefix:-invalid')\n";
                     72: try {
                     73:     $dom = new domDocument;
                     74:     $dom->createElementNS('http://valid.com', 'prefix:-invalid');
                     75:     print "valid\n";
                     76: } catch (Exception $e) {
                     77:     print $e->getMessage() . "\n";
                     78: }
                     79: 
                     80: print " 9 DOMDocument::createElementNS('', 'prefix:invalid')\n";
                     81: try {
                     82:     $dom = new domDocument;
                     83:     $dom->createElementNS('', 'prefix:invalid');
                     84:     print "valid\n";
                     85: } catch (Exception $e) {
                     86:     print $e->getMessage() . "\n";
                     87: }
                     88: 
                     89: print "10 DOMDocument::createElementNS('http://valid.com', 'prefix:valid:invalid')\n";
                     90: try {
                     91:     $dom = new domDocument;
                     92:     $dom->createElementNS('http://valid.com', 'prefix:valid:invalid');
                     93:     print "valid\n";
                     94: } catch (Exception $e) {
                     95:     print $e->getMessage() . "\n";
                     96: }
                     97: 
                     98: print "11 DOMDocument::createElementNS('http://valid.com', '-prefix:valid')\n";
                     99: try {
                    100:     $dom = new domDocument;
                    101:     $dom->createElementNS('http://valid.com', '-prefix:valid');
                    102:     print "valid\n";
                    103: } catch (Exception $e) {
                    104:     print $e->getMessage() . "\n";
                    105: }
                    106: 
                    107: print "12 DOMDocument::createElementNS('-', 'prefix:valid')\n";
                    108: try {
                    109:     $dom = new domDocument;
                    110:     $dom->createElementNS('-', 'prefix:valid');
                    111:     print "valid\n";
                    112: } catch (Exception $e) {
                    113:     print $e->getMessage() . "\n";
                    114: }
                    115: 
                    116: 
                    117: print "13 DOMElement::__construct('valid')\n";
                    118: try {
                    119:     $element = new DomElement('valid');
                    120:     print "valid\n";
                    121: } catch (Exception $e) {
                    122:     print $e->getMessage() . "\n";
                    123: }
                    124: 
                    125: print "14 DOMElement::__construct('-invalid')\n";
                    126: try {
                    127:     $element = new DomElement('-invalid');
                    128:     print "valid\n";
                    129: } catch (Exception $e) {
                    130:     print $e->getMessage() . "\n";
                    131: }
                    132: 
                    133: print "15 DOMElement::__construct(' ')\n";
                    134: try {
                    135:     $element = new DomElement(' ');
                    136:     print "valid\n";
                    137: } catch (Exception $e) {
                    138:     print $e->getMessage() . "\n";
                    139: }
                    140: 
                    141: print "16 DOMElement::__construct('prefix:valid')\n";
                    142: try {
                    143:     $element = new DomElement('prefix:valid');
                    144:     print "valid\n";
                    145: } catch (Exception $e) {
                    146:     print $e->getMessage() . "\n";
                    147: }
                    148: 
                    149: print "17 DOMElement::__construct('valid', '', 'http://valid.com')\n";
                    150: try {
                    151:     $element = new DomElement('valid', '', 'http://valid.com');
                    152:     print "valid\n";
                    153: } catch (Exception $e) {
                    154:     print $e->getMessage() . "\n";
                    155: }
                    156: 
                    157: print "18 DOMElement::__construct('prefix:valid', '', 'http://valid.com')\n";
                    158: try {
                    159:     $element = new DomElement('prefix:valid', '', 'http://valid.com');
                    160:     print "valid\n";
                    161: } catch (Exception $e) {
                    162:     print $e->getMessage() . "\n";
                    163: }
                    164: 
                    165: print "19 DOMElement::__construct('-invalid', '', 'http://valid.com')\n";
                    166: try {
                    167:     $element = new DomElement('-invalid', '', 'http://valid.com');
                    168:     print "valid\n";
                    169: } catch (Exception $e) {
                    170:     print $e->getMessage() . "\n";
                    171: }
                    172: 
                    173: print "20 DOMElement::__construct('prefix:-invalid', '', 'http://valid.com')\n";
                    174: try {
                    175:     $element = new DomElement('prefix:-invalid', '', 'http://valid.com');
                    176:     print "valid\n";
                    177: } catch (Exception $e) {
                    178:     print $e->getMessage() . "\n";
                    179: }
                    180: 
                    181: print "21 DOMElement::__construct('prefix:invalid', '', '')\n";
                    182: try {
                    183:     $element = new DomElement('prefix:invalid', '', '');
                    184:     print "valid\n";
                    185: } catch (Exception $e) {
                    186:     print $e->getMessage() . "\n";
                    187: }
                    188: 
                    189: print "22 DOMElement::__construct('prefix:valid:invalid', '', 'http://valid.com')\n";
                    190: try {
                    191:     $element = new DomElement('prefix:valid:invalid', '', 'http://valid.com');
                    192:     print "valid\n";
                    193: } catch (Exception $e) {
                    194:     print $e->getMessage() . "\n";
                    195: }
                    196: 
                    197: print "23 DOMElement::__construct('-prefix:valid', '', 'http://valid.com')\n";
                    198: try {
                    199:     $element = new DomElement('-prefix:valid', '', 'http://valid.com');
                    200:     print "valid\n";
                    201: } catch (Exception $e) {
                    202:     print $e->getMessage() . "\n";
                    203: }
                    204: 
                    205: print "24 DOMElement::__construct('prefix:valid', '', '-')\n";
                    206: try {
                    207:     $element = new DomElement('prefix:valid', '', '-');
                    208:     print "valid\n";
                    209: } catch (Exception $e) {
                    210:     print $e->getMessage() . "\n";
                    211: }
                    212: 
                    213: /* the qualifiedName has a prefix and the  namespaceURI is null */
                    214: 
                    215: print "25 DOMDocument::createElementNS('', 'prefix:valid')\n";
                    216: try {
                    217:     $dom = new domDocument;
                    218:     $dom->createElementNS('', 'prefix:valid');
                    219:     print "valid\n";
                    220: } catch (Exception $e) {
                    221:     print $e->getMessage() . "\n";
                    222: }
                    223: 
                    224: /* the qualifiedName has a prefix that is "xml" and the  namespaceURI 
                    225:    is different from "http://www.w3.org/XML/1998/namespace" [XML Namespaces] */
                    226: 
                    227: print "26 DOMDocument::createElementNS('http://wrong.namespaceURI.com', 'xml:valid')\n";
                    228: try {
                    229:     $dom = new domDocument;
                    230:     $dom->createElementNS('http://wrong.namespaceURI.com', 'xml:valid');
                    231:     print "valid\n";
                    232: } catch (Exception $e) {
                    233:     print $e->getMessage() . "\n";
                    234: }
                    235: 
                    236: print "27 DOMElement::__construct('xml:valid', '', 'http://wrong.namespaceURI.com')\n";
                    237: try {
                    238:     $element = new DomElement('xml:valid', '', 'http://wrong.namespaceURI.com');
                    239:     print "valid\n";
                    240: } catch (Exception $e) {
                    241:     print $e->getMessage() . "\n";
                    242: }
                    243: 
                    244: /* This is okay because we reuse the xml namespace from the document */
                    245: print "28 DOMDocument::createElementNS('http://www.w3.org/XML/1998/namespace', 'xml:valid')\n";
                    246: try {
                    247:     $dom = new domDocument;
                    248:     $dom->createElementNS('http://www.w3.org/XML/1998/namespace', 'xml:valid');
                    249:     print "valid\n";
                    250: } catch (Exception $e) {
                    251:     print $e->getMessage() . "\n";
                    252: }
                    253: 
                    254: /* This isn't because the xml namespace isn't there and we can't create it */
                    255: print "29 DOMElement::__construct('xml:valid', '', 'http://www.w3.org/XML/1998/namespace')\n";
                    256: try {
                    257:     $element = new DomElement('xml:valid', '', 'http://www.w3.org/XML/1998/namespace');
                    258:     print "valid\n";
                    259: } catch (Exception $e) {
                    260:     print $e->getMessage() . "\n";
                    261: }
                    262: 
                    263: 
                    264: /* the qualifiedName or its prefix is "xmlns" and the  namespaceURI is 
                    265:    different from  "http://www.w3.org/2000/xmlns/" */
                    266: 
                    267: print "30 DOMDocument::createElementNS('http://wrong.namespaceURI.com', 'xmlns:valid')\n";
                    268: try {
                    269:     $dom = new domDocument;
                    270:     $dom->createElementNS('http://wrong.namespaceURI.com', 'xmlns:valid');
                    271:     print "valid\n";
                    272: } catch (Exception $e) {
                    273:     print $e->getMessage() . "\n";
                    274: }
                    275: 
                    276: print "31 DOMElement::__construct('xmlns:valid', '', 'http://wrong.namespaceURI.com')\n";
                    277: try {
                    278:     $element = new DomElement('xmlns:valid', '', 'http://wrong.namespaceURI.com');
                    279:     print "valid\n";
                    280: } catch (Exception $e) {
                    281:     print $e->getMessage() . "\n";
                    282: }
                    283: 
                    284: print "32 DOMDocument::createElementNS('http://www.w3.org/2000/xmlns/', 'xmlns:valid')\n";
                    285: try {
                    286:     $dom = new domDocument;
                    287:     $dom->createElementNS('http://www.w3.org/2000/xmlns/', 'xmlns:valid');
                    288:     print "valid\n";
                    289: } catch (Exception $e) {
                    290:     print $e->getMessage() . "\n";
                    291: }
                    292: 
                    293: print "33 DOMElement::__construct('xmlns:valid', '', 'http://www.w3.org/2000/xmlns/')\n";
                    294: try {
                    295:     $element = new DomElement('xmlns:valid', '', 'http://www.w3.org/2000/xmlns/');
                    296:     print "valid\n";
                    297: } catch (Exception $e) {
                    298:     print $e->getMessage() . "\n";
                    299: }
                    300: 
                    301: /* the namespaceURI is "http://www.w3.org/2000/xmlns/" and neither the 
                    302:    qualifiedName nor its prefix is "xmlns". */
                    303: 
                    304: print "34 DOMDocument::createElementNS('http://www.w3.org/2000/xmlns/', 'wrongprefix:valid')\n";
                    305: try {
                    306:     $dom = new domDocument;
                    307:     $dom->createElementNS('http://www.w3.org/2000/xmlns/', 'wrongprefix:valid');
                    308:     print "valid\n";
                    309: } catch (Exception $e) {
                    310:     print $e->getMessage() . "\n";
                    311: }
                    312: 
                    313: print "35 DOMElement::__construct('wrongprefix:valid', '', 'http://www.w3.org/2000/xmlns/')\n";
                    314: try {
                    315:     $element = new DomElement('wrongprefix:valid', '', 'http://www.w3.org/2000/xmlns/');
                    316:     print "valid\n";
                    317: } catch (Exception $e) {
                    318:     print $e->getMessage() . "\n";
                    319: }
                    320: 
                    321: 
                    322: 
                    323: ?>
                    324: --EXPECT--
                    325:  1 DOMDocument::createElement('valid')
                    326: valid
                    327:  2 DOMDocument::createElement('-invalid')
                    328: Invalid Character Error
                    329:  3 DOMDocument::createElement(' ')
                    330: Invalid Character Error
                    331:  4 DOMDocument::createElement('prefix:valid')
                    332: valid
                    333:  5 DOMDocument::createElementNS('http://valid.com', 'valid')
                    334: valid
                    335:  6 DOMDocument::createElementNS('http://valid.com', 'prefix:valid')
                    336: valid
                    337:  7 DOMDocument::createElementNS('http://valid.com', '-invalid')
                    338: Namespace Error
                    339:  8 DOMDocument::createElementNS('http://valid.com', 'prefix:-invalid')
                    340: Namespace Error
                    341:  9 DOMDocument::createElementNS('', 'prefix:invalid')
                    342: Namespace Error
                    343: 10 DOMDocument::createElementNS('http://valid.com', 'prefix:valid:invalid')
                    344: Namespace Error
                    345: 11 DOMDocument::createElementNS('http://valid.com', '-prefix:valid')
                    346: Namespace Error
                    347: 12 DOMDocument::createElementNS('-', 'prefix:valid')
                    348: valid
                    349: 13 DOMElement::__construct('valid')
                    350: valid
                    351: 14 DOMElement::__construct('-invalid')
                    352: Invalid Character Error
                    353: 15 DOMElement::__construct(' ')
                    354: Invalid Character Error
                    355: 16 DOMElement::__construct('prefix:valid')
                    356: Namespace Error
                    357: 17 DOMElement::__construct('valid', '', 'http://valid.com')
                    358: valid
                    359: 18 DOMElement::__construct('prefix:valid', '', 'http://valid.com')
                    360: valid
                    361: 19 DOMElement::__construct('-invalid', '', 'http://valid.com')
                    362: Invalid Character Error
                    363: 20 DOMElement::__construct('prefix:-invalid', '', 'http://valid.com')
                    364: Namespace Error
                    365: 21 DOMElement::__construct('prefix:invalid', '', '')
                    366: Namespace Error
                    367: 22 DOMElement::__construct('prefix:valid:invalid', '', 'http://valid.com')
                    368: Namespace Error
                    369: 23 DOMElement::__construct('-prefix:valid', '', 'http://valid.com')
                    370: Invalid Character Error
                    371: 24 DOMElement::__construct('prefix:valid', '', '-')
                    372: valid
                    373: 25 DOMDocument::createElementNS('', 'prefix:valid')
                    374: Namespace Error
                    375: 26 DOMDocument::createElementNS('http://wrong.namespaceURI.com', 'xml:valid')
                    376: Namespace Error
                    377: 27 DOMElement::__construct('xml:valid', '', 'http://wrong.namespaceURI.com')
                    378: Namespace Error
                    379: 28 DOMDocument::createElementNS('http://www.w3.org/XML/1998/namespace', 'xml:valid')
                    380: valid
                    381: 29 DOMElement::__construct('xml:valid', '', 'http://www.w3.org/XML/1998/namespace')
                    382: Namespace Error
                    383: 30 DOMDocument::createElementNS('http://wrong.namespaceURI.com', 'xmlns:valid')
                    384: Namespace Error
                    385: 31 DOMElement::__construct('xmlns:valid', '', 'http://wrong.namespaceURI.com')
                    386: Namespace Error
                    387: 32 DOMDocument::createElementNS('http://www.w3.org/2000/xmlns/', 'xmlns:valid')
                    388: valid
                    389: 33 DOMElement::__construct('xmlns:valid', '', 'http://www.w3.org/2000/xmlns/')
                    390: valid
                    391: 34 DOMDocument::createElementNS('http://www.w3.org/2000/xmlns/', 'wrongprefix:valid')
                    392: Namespace Error
                    393: 35 DOMElement::__construct('wrongprefix:valid', '', 'http://www.w3.org/2000/xmlns/')
                    394: Namespace Error

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