--TEST-- DOMElement::prepend() with hierarchy changes and errors --EXTENSIONS-- dom --FILE-- loadXML('
helloworld
'); echo "-- Prepend hello with world --\n"; $dom = clone $dom_original; $b_hello = $dom->firstChild->firstChild; $b_world = $b_hello->nextSibling; $b_hello->prepend($b_world); var_dump($dom->saveHTML()); echo "-- Prepend hello with world's child --\n"; $dom = clone $dom_original; $b_hello = $dom->firstChild->firstChild; $b_world = $b_hello->nextSibling; $b_hello->prepend($b_world->firstChild); var_dump($dom->saveHTML()); echo "-- Prepend hello with world's child and text --\n"; $dom = clone $dom_original; $b_hello = $dom->firstChild->firstChild; $b_world = $b_hello->nextSibling; $b_hello->prepend($b_world->firstChild, "foo"); var_dump($dom->saveHTML()); echo "-- Prepend world's child with hello --\n"; $dom = clone $dom_original; $b_hello = $dom->firstChild->firstChild; $b_world = $b_hello->nextSibling; $b_world->firstChild->prepend($b_hello); var_dump($dom->saveHTML()); echo "-- Prepend world's child with hello and text --\n"; $dom = clone $dom_original; $b_hello = $dom->firstChild->firstChild; $b_world = $b_hello->nextSibling; $b_world->firstChild->prepend($b_hello, "foo"); var_dump($dom->saveHTML()); echo "-- Prepend hello with itself --\n"; $dom = clone $dom_original; $b_hello = $dom->firstChild->firstChild; try { $b_hello->prepend($b_hello); } catch (\DOMException $e) { echo $e->getMessage(), "\n"; } var_dump($dom->saveHTML()); echo "-- Prepend hello with itself and text --\n"; $dom = clone $dom_original; $b_hello = $dom->firstChild->firstChild; try { $b_hello->prepend($b_hello, "foo"); } catch (\DOMException $e) { echo $e->getMessage(), "\n"; } var_dump($dom->saveHTML()); echo "-- Prepend world's i tag with the parent --\n"; $dom = clone $dom_original; $b_hello = $dom->firstChild->firstChild; $b_world = $b_hello->nextSibling; try { $b_world->firstChild->prepend($b_world); } catch (\DOMException $e) { echo $e->getMessage(), "\n"; } var_dump($dom->saveHTML()); echo "-- Append from another document --\n"; $dom = clone $dom_original; $dom2 = new DOMDocument; $dom2->loadXML('other
'); try { $dom->firstChild->firstChild->prepend($dom2->firstChild); } catch (\DOMException $e) { echo $e->getMessage(), "\n"; } var_dump($dom2->saveHTML()); var_dump($dom->saveHTML()); ?> --EXPECT-- -- Prepend hello with world -- string(39) "worldhello
" -- Prepend hello with world's child -- string(39) "worldhello
" -- Prepend hello with world's child and text -- string(42) "worldfoohello
" -- Prepend world's child with hello -- string(39) "helloworld
" -- Prepend world's child with hello and text -- string(42) "hellofooworld
" -- Prepend hello with itself -- Hierarchy Request Error string(39) "helloworld
" -- Prepend hello with itself and text -- Hierarchy Request Error string(27) "world
" -- Prepend world's i tag with the parent -- Hierarchy Request Error string(39) "helloworld
" -- Append from another document -- Wrong Document Error string(13) "other
" string(39) "helloworld
"