From: Eric Stewart Date: Tue, 26 May 2009 06:06:40 +0000 (+0000) Subject: Add tests: X-Git-Tag: php-5.2.10RC1~14 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ddf40dc32d99e180b75a9a7794af6e40e4a98378;p=php 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. --- diff --git a/ext/dom/tests/DOMComment_construct_basic_001.phpt b/ext/dom/tests/DOMComment_construct_basic_001.phpt new file mode 100644 index 0000000000..902f7bb57f --- /dev/null +++ b/ext/dom/tests/DOMComment_construct_basic_001.phpt @@ -0,0 +1,19 @@ +--TEST-- +DOMComment::__construct() with constructor called twice. +--CREDITS-- +Eric Lee Stewart +# TestFest Atlanta 2009-05-25 +--SKIPIF-- + +--FILE-- +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-- + + diff --git a/ext/dom/tests/DOMDocumentFragment_appendXML_error_002.phpt b/ext/dom/tests/DOMDocumentFragment_appendXML_error_002.phpt new file mode 100644 index 0000000000..c02c920849 --- /dev/null +++ b/ext/dom/tests/DOMDocumentFragment_appendXML_error_002.phpt @@ -0,0 +1,19 @@ +--TEST-- +DOMDocumentFragment::appendXML() with unbound fragment. +--CREDITS-- +Eric Lee Stewart +# TestFest Atlanta 2009-05-24 +--SKIPIF-- + +--FILE-- +appendXML('crankbait'); +$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('crankbait...') +#1 {main} + thrown in %s on line %d \ No newline at end of file diff --git a/ext/dom/tests/DOMDocumentFragment_appendXML_error_003.phpt b/ext/dom/tests/DOMDocumentFragment_appendXML_error_003.phpt new file mode 100644 index 0000000000..8735ae6ecf --- /dev/null +++ b/ext/dom/tests/DOMDocumentFragment_appendXML_error_003.phpt @@ -0,0 +1,19 @@ +--TEST-- +DOMDocumentFragment::appendXML() with unbalanced chunks. +--CREDITS-- +Eric Lee Stewart +# TestFest Atlanta 2009-05-24 +--SKIPIF-- + +--FILE-- +createElement('root'); +$document->appendChild($root); + +$fragment = $document->createDocumentFragment(); +@$fragment->appendXML('isgreat'); +$root->appendChild($fragment); +?> +--EXPECTF-- +Warning: DOMNode::appendChild(): Document Fragment is empty in %s on line %d \ No newline at end of file diff --git a/ext/dom/tests/DOMDocumentFragment_construct_basic_002.phpt b/ext/dom/tests/DOMDocumentFragment_construct_basic_002.phpt new file mode 100644 index 0000000000..0d734452e8 --- /dev/null +++ b/ext/dom/tests/DOMDocumentFragment_construct_basic_002.phpt @@ -0,0 +1,16 @@ +--TEST-- +DOMDocumentFragment::__construct() called twice. +--CREDITS-- +Eric Lee Stewart +# TestFest Atlanta 2009-05-24 +--SKIPIF-- + +--FILE-- +__construct(); +var_dump($fragment); +?> +--EXPECTF-- +object(DOMDocumentFragment)#%d (%d) { +} diff --git a/ext/dom/tests/DOMDocumentType_basic_001.phpt b/ext/dom/tests/DOMDocumentType_basic_001.phpt new file mode 100644 index 0000000000..8991ed97d4 --- /dev/null +++ b/ext/dom/tests/DOMDocumentType_basic_001.phpt @@ -0,0 +1,48 @@ +--TEST-- +DOMDocumentType: basic access to all properties. +--CREDITS-- +Eric Lee Stewart +# TestFest Atlanta 2009-05-25 +--SKIPIF-- + +--FILE-- +'; +$xml .= ''; +$xml .= '1'; +$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 .= ''; +$xml .= ' '; +$xml .= ' '; +$xml .= ' '; +$xml .= ']>'; +$xml .= ''; +$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: +entity: logo +notation: gif \ No newline at end of file diff --git a/ext/dom/tests/DOMDocumentType_entities_error_001.phpt b/ext/dom/tests/DOMDocumentType_entities_error_001.phpt new file mode 100644 index 0000000000..73655b06d3 --- /dev/null +++ b/ext/dom/tests/DOMDocumentType_entities_error_001.phpt @@ -0,0 +1,14 @@ +--TEST-- +DOMDocumentType::entities with invalid state. +--CREDITS-- +Eric Lee Stewart +# TestFest Atlanta 2009-05-25 +--SKIPIF-- + +--FILE-- +entities; +?> +--EXPECTF-- +Warning: main(): Invalid State Error in %s on line %d \ No newline at end of file diff --git a/ext/dom/tests/DOMDocumentType_internalSubset_error_001.phpt b/ext/dom/tests/DOMDocumentType_internalSubset_error_001.phpt new file mode 100644 index 0000000000..c1f7d9b4de --- /dev/null +++ b/ext/dom/tests/DOMDocumentType_internalSubset_error_001.phpt @@ -0,0 +1,14 @@ +--TEST-- +DOMDocumentType::internalSubset with invalid state. +--CREDITS-- +Eric Lee Stewart +# TestFest Atlanta 2009-05-25 +--SKIPIF-- + +--FILE-- +internalSubset; +?> +--EXPECTF-- +Warning: main(): Invalid State Error in %s on line %d \ No newline at end of file diff --git a/ext/dom/tests/DOMDocumentType_name_error_001.phpt b/ext/dom/tests/DOMDocumentType_name_error_001.phpt new file mode 100644 index 0000000000..d2426e88f8 --- /dev/null +++ b/ext/dom/tests/DOMDocumentType_name_error_001.phpt @@ -0,0 +1,14 @@ +--TEST-- +DOMDocumentType::name with invalid state. +--CREDITS-- +Eric Lee Stewart +# TestFest Atlanta 2009-05-25 +--SKIPIF-- + +--FILE-- +name; +?> +--EXPECTF-- +Warning: main(): Invalid State Error in %s on line %d \ No newline at end of file diff --git a/ext/dom/tests/DOMDocumentType_notations_error_001.phpt b/ext/dom/tests/DOMDocumentType_notations_error_001.phpt new file mode 100644 index 0000000000..e4d1c3c8ee --- /dev/null +++ b/ext/dom/tests/DOMDocumentType_notations_error_001.phpt @@ -0,0 +1,14 @@ +--TEST-- +DOMDocumentType::notations with invalid state. +--CREDITS-- +Eric Lee Stewart +# TestFest Atlanta 2009-05-25 +--SKIPIF-- + +--FILE-- +notations; +?> +--EXPECTF-- +Warning: main(): Invalid State Error in %s on line %d \ No newline at end of file diff --git a/ext/dom/tests/DOMDocumentType_publicId_basic_001.phpt b/ext/dom/tests/DOMDocumentType_publicId_basic_001.phpt new file mode 100644 index 0000000000..49a7eecbf3 --- /dev/null +++ b/ext/dom/tests/DOMDocumentType_publicId_basic_001.phpt @@ -0,0 +1,19 @@ +--TEST-- +DOMDocumentType::publicId with empty value. +--CREDITS-- +Eric Lee Stewart +# TestFest Atlanta 2009-05-25 +--SKIPIF-- + +--FILE-- +'; +$xml .= ''; +$xml .= '1'; +$doc = new DOMDocument(); +$doc->loadXML($xml); +$doctype = $doc->doctype; +var_dump($doctype->publicId); +?> +--EXPECT-- +string(0) "" \ No newline at end of file diff --git a/ext/dom/tests/DOMDocumentType_publicId_error_001.phpt b/ext/dom/tests/DOMDocumentType_publicId_error_001.phpt new file mode 100644 index 0000000000..275bb65e3e --- /dev/null +++ b/ext/dom/tests/DOMDocumentType_publicId_error_001.phpt @@ -0,0 +1,14 @@ +--TEST-- +DOMDocumentType::publicId with invalid state. +--CREDITS-- +Eric Lee Stewart +# TestFest Atlanta 2009-05-25 +--SKIPIF-- + +--FILE-- +publicId; +?> +--EXPECTF-- +Warning: main(): Invalid State Error in %s on line %d \ No newline at end of file diff --git a/ext/dom/tests/DOMDocumentType_systemId_basic_001.phpt b/ext/dom/tests/DOMDocumentType_systemId_basic_001.phpt new file mode 100644 index 0000000000..56f7ddda97 --- /dev/null +++ b/ext/dom/tests/DOMDocumentType_systemId_basic_001.phpt @@ -0,0 +1,19 @@ +--TEST-- +DOMDocumentType::systemId with empty value. +--CREDITS-- +Eric Lee Stewart +# TestFest Atlanta 2009-05-25 +--SKIPIF-- + +--FILE-- +'; +$xml .= ''; +$xml .= '1'; +$doc = new DOMDocument(); +$doc->loadXML($xml); +$doctype = $doc->doctype; +var_dump($doctype->systemId); +?> +--EXPECT-- +string(0) "" \ No newline at end of file diff --git a/ext/dom/tests/DOMDocumentType_systemId_error_001.phpt b/ext/dom/tests/DOMDocumentType_systemId_error_001.phpt new file mode 100644 index 0000000000..a4aadd7070 --- /dev/null +++ b/ext/dom/tests/DOMDocumentType_systemId_error_001.phpt @@ -0,0 +1,14 @@ +--TEST-- +DOMDocumentType::systemId with invalid state. +--CREDITS-- +Eric Lee Stewart +# TestFest Atlanta 2009-05-25 +--SKIPIF-- + +--FILE-- +systemId; +?> +--EXPECTF-- +Warning: main(): Invalid State Error in %s on line %d \ No newline at end of file