1--TEST-- 2Test DOMNode::insertBefore() check the error code DOM_NOT_FOUND is raised 3--DESCRIPTION-- 4DOMNode::insertBefore(newNode, [refNode]) 5DOM_NOT_FOUND is raised if refnode is not a child 6This test checks the error message is raised when the refnode is a descendant but not a child 7--CREDITS-- 8Antonio Diaz Ruiz <dejalatele@gmail.com> 9--INI-- 10assert.bail=true 11--SKIPIF-- 12<?php include('skipif.inc'); ?> 13--FILE-- 14<?php 15$dom = new DOMDocument(); 16 17$doc = $dom->load(__DIR__ . "/book.xml", LIBXML_NOBLANKS); 18assert($doc === true); 19 20$parent_node = $dom->getElementsByTagName("book")->item(0); 21assert(!is_null($parent_node)); 22 23$new_node = $dom->createElement('newnode'); 24assert($new_node !== false); 25 26// creating a new node (descendant) and getting it as the refnode 27 28$ref_node = $dom->createElement('newnode3'); 29$parent_node->childNodes->item(0)->appendChild($ref_node); 30$dom->saveXML(); 31 32try { 33 $parent_node->insertBefore($new_node, $ref_node); 34} catch(DOMException $e) { 35 echo $e->getMessage(); 36} 37 38?> 39--EXPECT-- 40Not Found Error 41