Add tests:

DOMComment::__construct() with constructor called twice.
DOMDocumentFragment::appendXML() with unbound fragment.
DOMDocumentFragment::appendXML() with unbalanced chunks.
DOMDocumentFragment::__construct() called twice.
DOMDocumentType: basic access to all properties.
DOMDocumentType::name with invalid state.
DOMDocumentType::entities with invalid state.
DOMDocumentType::notations with invalid state.
DOMDocumentType::publicId with invalid state.
DOMDocumentType::publicId with empty value.
DOMDocumentType::systemId with invalid state.
DOMDocumentType::systemId with empty value.
DOMDocumentType::internalSubset with invalid state.
This commit is contained in:
Eric Stewart 2009-05-26 06:09:18 +00:00
parent c3795a63e0
commit 86fed7fac7
13 changed files with 243 additions and 0 deletions

View File

@ -0,0 +1,19 @@
--TEST--
DOMComment::__construct() with constructor called twice.
--CREDITS--
Eric Lee Stewart <ericleestewart@gmail.com>
# TestFest Atlanta 2009-05-25
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
$dom = new DOMDocument('1.0', 'UTF-8');
$element = $dom->appendChild(new DOMElement('root'));
$comment = new DOMComment("This is the first comment.");
$comment->__construct("This is the second comment.");
$comment = $element->appendChild($comment);
print $dom->saveXML();
?>
--EXPECT--
<?xml version="1.0" encoding="UTF-8"?>
<root><!--This is the second comment.--></root>

View File

@ -0,0 +1,19 @@
--TEST--
DOMDocumentFragment::appendXML() with unbound fragment.
--CREDITS--
Eric Lee Stewart <ericleestewart@gmail.com>
# TestFest Atlanta 2009-05-24
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
$fragment = new DOMDocumentFragment();
$fragment->appendXML('<bait>crankbait</bait>');
$document->appendChild($fragment);
?>
--EXPECTF--
Fatal error: Uncaught exception 'DOMException' with message 'No Modification Allowed Error' in %s:%d
Stack trace:
#0 %s(%d): DOMDocumentFragment->appendXML('<bait>crankbait...')
#1 {main}
thrown in %s on line %d

View File

@ -0,0 +1,19 @@
--TEST--
DOMDocumentFragment::appendXML() with unbalanced chunks.
--CREDITS--
Eric Lee Stewart <ericleestewart@gmail.com>
# TestFest Atlanta 2009-05-24
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
$document = new DOMDocument;
$root = $document->createElement('root');
$document->appendChild($root);
$fragment = $document->createDocumentFragment();
@$fragment->appendXML('<foo>is<bar>great</foo>');
$root->appendChild($fragment);
?>
--EXPECTF--
Warning: DOMNode::appendChild(): Document Fragment is empty in %s on line %d

View File

@ -0,0 +1,16 @@
--TEST--
DOMDocumentFragment::__construct() called twice.
--CREDITS--
Eric Lee Stewart <ericleestewart@gmail.com>
# TestFest Atlanta 2009-05-24
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
$fragment = new DOMDocumentFragment();
$fragment->__construct();
var_dump($fragment);
?>
--EXPECTF--
object(DOMDocumentFragment)#%d (%d) {
}

View File

@ -0,0 +1,48 @@
--TEST--
DOMDocumentType: basic access to all properties.
--CREDITS--
Eric Lee Stewart <ericleestewart@gmail.com>
# TestFest Atlanta 2009-05-25
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
// Access publicId, systemId, name, internalSubset all with values.
$xml = '<?xml version="1.0" encoding="UTF-8" ?>';
$xml .= '<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML//EN" "docbookx.dtd">';
$xml .= '<chapter>1</chapter>';
$doc = new DOMDocument();
$doc->loadXML($xml);
$doctype = $doc->doctype;
print "publicId: ".$doctype->publicId."\n";
print "systemId: ".$doctype->systemId."\n";
print "name: ".$doctype->name."\n";
print "internalSubset: ".$doctype->internalSubset."\n";
// Access entities and notations with values.
$xml = '<?xml version="1.0" encoding="UTF-8" ?>';
$xml .= '<!DOCTYPE img [';
$xml .= ' <!ELEMENT img EMPTY>';
$xml .= ' <!ATTLIST img src ENTITY #REQUIRED>';
$xml .= ' <!ENTITY logo SYSTEM "http://www.xmlwriter.net/logo.gif" NDATA gif>';
$xml .= ' <!NOTATION gif PUBLIC "gif viewer">';
$xml .= ']>';
$xml .= '<img src="logo"/>';
$doc = new DOMDocument();
$doc->loadXML($xml);
$doctype = $doc->doctype;
$entities = $doctype->entities;
$entity = $entities->item(0);
print 'entity: '.$entity->nodeName."\n";
$notations = $doctype->notations;
$notation = $notations->item(0);
print 'notation: '.$notation->nodeName."\n";
?>
--EXPECT--
publicId: -//OASIS//DTD DocBook XML//EN
systemId: docbookx.dtd
name: chapter
internalSubset: <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML//EN" "docbookx.dtd">
entity: logo
notation: gif

View File

@ -0,0 +1,14 @@
--TEST--
DOMDocumentType::entities with invalid state.
--CREDITS--
Eric Lee Stewart <ericleestewart@gmail.com>
# TestFest Atlanta 2009-05-25
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
$doctype = new DOMDocumentType();
$entities = $doctype->entities;
?>
--EXPECTF--
Warning: main(): Invalid State Error in %s on line %d

View File

@ -0,0 +1,14 @@
--TEST--
DOMDocumentType::internalSubset with invalid state.
--CREDITS--
Eric Lee Stewart <ericleestewart@gmail.com>
# TestFest Atlanta 2009-05-25
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
$doctype = new DOMDocumentType();
$internalSubset = $doctype->internalSubset;
?>
--EXPECTF--
Warning: main(): Invalid State Error in %s on line %d

View File

@ -0,0 +1,14 @@
--TEST--
DOMDocumentType::name with invalid state.
--CREDITS--
Eric Lee Stewart <ericleestewart@gmail.com>
# TestFest Atlanta 2009-05-25
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
$doctype = new DOMDocumentType();
$name = $doctype->name;
?>
--EXPECTF--
Warning: main(): Invalid State Error in %s on line %d

View File

@ -0,0 +1,14 @@
--TEST--
DOMDocumentType::notations with invalid state.
--CREDITS--
Eric Lee Stewart <ericleestewart@gmail.com>
# TestFest Atlanta 2009-05-25
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
$doctype = new DOMDocumentType();
$notations = $doctype->notations;
?>
--EXPECTF--
Warning: main(): Invalid State Error in %s on line %d

View File

@ -0,0 +1,19 @@
--TEST--
DOMDocumentType::publicId with empty value.
--CREDITS--
Eric Lee Stewart <ericleestewart@gmail.com>
# TestFest Atlanta 2009-05-25
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
$xml = '<?xml version="1.0" encoding="UTF-8" ?>';
$xml .= '<!DOCTYPE chapter SYSTEM "http://www.xmlwriter.net/logo.gif">';
$xml .= '<chapter>1</chapter>';
$doc = new DOMDocument();
$doc->loadXML($xml);
$doctype = $doc->doctype;
var_dump($doctype->publicId);
?>
--EXPECT--
string(0) ""

View File

@ -0,0 +1,14 @@
--TEST--
DOMDocumentType::publicId with invalid state.
--CREDITS--
Eric Lee Stewart <ericleestewart@gmail.com>
# TestFest Atlanta 2009-05-25
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
$doctype = new DOMDocumentType();
$publicId = $doctype->publicId;
?>
--EXPECTF--
Warning: main(): Invalid State Error in %s on line %d

View File

@ -0,0 +1,19 @@
--TEST--
DOMDocumentType::systemId with empty value.
--CREDITS--
Eric Lee Stewart <ericleestewart@gmail.com>
# TestFest Atlanta 2009-05-25
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
$xml = '<?xml version="1.0" encoding="UTF-8" ?>';
$xml .= '<!DOCTYPE chapter>';
$xml .= '<chapter>1</chapter>';
$doc = new DOMDocument();
$doc->loadXML($xml);
$doctype = $doc->doctype;
var_dump($doctype->systemId);
?>
--EXPECT--
string(0) ""

View File

@ -0,0 +1,14 @@
--TEST--
DOMDocumentType::systemId with invalid state.
--CREDITS--
Eric Lee Stewart <ericleestewart@gmail.com>
# TestFest Atlanta 2009-05-25
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
$doctype = new DOMDocumentType();
$systemId = $doctype->systemId;
?>
--EXPECTF--
Warning: main(): Invalid State Error in %s on line %d