summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjhdxr <jhdxr@php.net>2017-01-30 17:48:00 +0800
committerJoe Watkins <krakjoe@php.net>2017-01-30 11:25:04 +0000
commit62938bf08806129b42b17e74d79a450c30d4ff30 (patch)
tree81f1ae1c7460826c124b3dbe8428b8f744c8338a
parent4b1afc829c0d2a3fec999dbe7c32377b5ee91803 (diff)
downloadphp-git-62938bf08806129b42b17e74d79a450c30d4ff30.tar.gz
fix BC break introduced by #2346 (sebastianbergmann/phpunit#2454)
-rw-r--r--ext/dom/document.c3
-rw-r--r--ext/dom/tests/DOMDocument_savexml_basic2.phpt33
2 files changed, 36 insertions, 0 deletions
diff --git a/ext/dom/document.c b/ext/dom/document.c
index c7e4f8e7a5..d8e950d2c1 100644
--- a/ext/dom/document.c
+++ b/ext/dom/document.c
@@ -1628,6 +1628,9 @@ PHP_FUNCTION(dom_document_savexml)
doc_props = dom_get_doc_props(intern->document);
format = doc_props->formatoutput;
+ if (format) {
+ options = options | XML_SAVE_FORMAT;
+ }
buf = xmlBufferCreate();
if (!buf) {
diff --git a/ext/dom/tests/DOMDocument_savexml_basic2.phpt b/ext/dom/tests/DOMDocument_savexml_basic2.phpt
new file mode 100644
index 0000000000..7c01014808
--- /dev/null
+++ b/ext/dom/tests/DOMDocument_savexml_basic2.phpt
@@ -0,0 +1,33 @@
+--TEST--
+DOM Document: saveXML with createElement and formatOutput
+--CREDITS--
+CHU Zhaowei <jhdxr@php.net>
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$dom = new domDocument('1.0', 'UTF-8');
+$dom->formatOutput = true;
+
+$root = $dom->createElement('root');
+$dom->appendChild($root);
+
+$child1 = $dom->createElement('testsuite');
+$root->appendChild($child1);
+
+$child11 = $dom->createElement('testcase');
+$child11->setAttribute('name', 'leaf1');
+$child12 = $dom->createElement('testcase');
+$child12->setAttribute('name', 'leaf2');
+$child1->appendChild($child11);
+$child1->appendChild($child12);
+
+echo $dom->saveXml();
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<root>
+ <testsuite>
+ <testcase name="leaf1"/>
+ <testcase name="leaf2"/>
+ </testsuite>
+</root> \ No newline at end of file