mirror of
https://github.com/php/php-src.git
synced 2025-08-16 05:58:45 +02:00

This patch adds missing newlines, trims multiple redundant final newlines into a single one, and trims redundant leading newlines in all *.phpt sections. According to POSIX, a line is a sequence of zero or more non-' <newline>' characters plus a terminating '<newline>' character. [1] Files should normally have at least one final newline character. C89 [2] and later standards [3] mention a final newline: "A source file that is not empty shall end in a new-line character, which shall not be immediately preceded by a backslash character." Although it is not mandatory for all files to have a final newline fixed, a more consistent and homogeneous approach brings less of commit differences issues and a better development experience in certain text editors and IDEs. [1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206 [2] https://port70.net/~nsz/c/c89/c89-draft.html#2.1.1.2 [3] https://port70.net/~nsz/c/c99/n1256.html#5.1.1.2
64 lines
1.6 KiB
PHP
64 lines
1.6 KiB
PHP
--TEST--
|
|
DOMNode::normalize()
|
|
--SKIPIF--
|
|
<?php
|
|
include('skipif.inc');
|
|
?>
|
|
--FILE--
|
|
<?php
|
|
|
|
/* Create an XML document
|
|
* with structure
|
|
* <book>
|
|
* <author></author>
|
|
* <title>This is the title</title>
|
|
* </book>
|
|
* Calculate the number of title text nodes (1).
|
|
* Add another text node to title. Calculate the number of title text nodes (2).
|
|
* Normalize author. Calculate the number of title text nodes (2).
|
|
* Normalize title. Calculate the number of title text nodes (1).
|
|
*/
|
|
|
|
$doc = new DOMDocument();
|
|
|
|
$root = $doc->createElement('book');
|
|
$doc->appendChild($root);
|
|
|
|
$title = $doc->createElement('title');
|
|
$root->appendChild($title);
|
|
|
|
$author = $doc->createElement('author');
|
|
$root->appendChild($author);
|
|
|
|
$text = $doc->createTextNode('This is the first title');
|
|
$title->appendChild($text);
|
|
|
|
echo "Number of child nodes of title = ";
|
|
var_dump($title->childNodes->length);
|
|
|
|
// add a second text node to title
|
|
$text = $doc->createTextNode('This is the second title');
|
|
$title->appendChild($text);
|
|
|
|
echo "Number of child nodes of title after adding second title = ";
|
|
var_dump($title->childNodes->length);
|
|
|
|
// should do nothing
|
|
$author->normalize();
|
|
|
|
echo "Number of child nodes of title after normalizing author = ";
|
|
var_dump($title->childNodes->length);
|
|
|
|
|
|
// should concatenate first and second title text nodes
|
|
$title->normalize();
|
|
|
|
echo "Number of child nodes of title after normalizing title = ";
|
|
var_dump($title->childNodes->length);
|
|
|
|
?>
|
|
--EXPECT--
|
|
Number of child nodes of title = int(1)
|
|
Number of child nodes of title after adding second title = int(2)
|
|
Number of child nodes of title after normalizing author = int(2)
|
|
Number of child nodes of title after normalizing title = int(1)
|