From ddf40dc32d99e180b75a9a7794af6e40e4a98378 Mon Sep 17 00:00:00 2001 From: Eric Stewart Date: Tue, 26 May 2009 06:06:40 +0000 Subject: [PATCH] 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. --- .../tests/DOMComment_construct_basic_001.phpt | 19 ++++++++ ...MDocumentFragment_appendXML_error_002.phpt | 19 ++++++++ ...MDocumentFragment_appendXML_error_003.phpt | 19 ++++++++ ...MDocumentFragment_construct_basic_002.phpt | 16 +++++++ ext/dom/tests/DOMDocumentType_basic_001.phpt | 48 +++++++++++++++++++ .../DOMDocumentType_entities_error_001.phpt | 14 ++++++ ...DocumentType_internalSubset_error_001.phpt | 14 ++++++ .../tests/DOMDocumentType_name_error_001.phpt | 14 ++++++ .../DOMDocumentType_notations_error_001.phpt | 14 ++++++ .../DOMDocumentType_publicId_basic_001.phpt | 19 ++++++++ .../DOMDocumentType_publicId_error_001.phpt | 14 ++++++ .../DOMDocumentType_systemId_basic_001.phpt | 19 ++++++++ .../DOMDocumentType_systemId_error_001.phpt | 14 ++++++ 13 files changed, 243 insertions(+) create mode 100644 ext/dom/tests/DOMComment_construct_basic_001.phpt create mode 100644 ext/dom/tests/DOMDocumentFragment_appendXML_error_002.phpt create mode 100644 ext/dom/tests/DOMDocumentFragment_appendXML_error_003.phpt create mode 100644 ext/dom/tests/DOMDocumentFragment_construct_basic_002.phpt create mode 100644 ext/dom/tests/DOMDocumentType_basic_001.phpt create mode 100644 ext/dom/tests/DOMDocumentType_entities_error_001.phpt create mode 100644 ext/dom/tests/DOMDocumentType_internalSubset_error_001.phpt create mode 100644 ext/dom/tests/DOMDocumentType_name_error_001.phpt create mode 100644 ext/dom/tests/DOMDocumentType_notations_error_001.phpt create mode 100644 ext/dom/tests/DOMDocumentType_publicId_basic_001.phpt create mode 100644 ext/dom/tests/DOMDocumentType_publicId_error_001.phpt create mode 100644 ext/dom/tests/DOMDocumentType_systemId_basic_001.phpt create mode 100644 ext/dom/tests/DOMDocumentType_systemId_error_001.phpt 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 -- 2.50.1