mirror of
https://github.com/php/php-src.git
synced 2024-09-24 03:17:26 +00:00
f1d7e3ca0b
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
76 lines
2.0 KiB
PHP
76 lines
2.0 KiB
PHP
--TEST--
|
|
CharData: DOMCharacterData and related functionality
|
|
--SKIPIF--
|
|
<?php require_once('skipif.inc'); ?>
|
|
--FILE--
|
|
<?php
|
|
require_once("dom_test.inc");
|
|
|
|
$dom = new DOMDocument;
|
|
$dom->loadXML($xmlstr);
|
|
if(!$dom) {
|
|
echo "Error while parsing the document\n";
|
|
exit;
|
|
}
|
|
|
|
$node = $dom->documentElement;
|
|
|
|
$charnode = $dom->createElement('charnode');
|
|
$node->appendChild($charnode);
|
|
|
|
/* DOMComment */
|
|
$comment = new DOMComment('Testing character data and extending nodes');
|
|
$charnode->appendChild($comment);
|
|
|
|
echo "Comment Length: ".$comment->length."\n";
|
|
|
|
$comment->data = 'Updated comment';
|
|
echo "New Comment Length: ".$comment->length."\n";
|
|
echo "New Comment Data: ".$comment->data."\n";
|
|
|
|
/* DOMCDataSection */
|
|
$cdata = new DOMCDataSection('Chars: <>&"');
|
|
$charnode->appendChild($cdata);
|
|
|
|
echo "Substring: ".$cdata->substringData(7, 4)."\n";
|
|
$cdata->replaceData(10, 1, "'");
|
|
echo "New Substring: ".$cdata->substringData(7, 4)."\n";
|
|
|
|
/* DOMCharacterData using DOMComment */
|
|
$comment = new DOMComment('instructions');
|
|
echo "Comment Value: ".$comment->data."\n";
|
|
$comment->data = 'some more instructions';
|
|
echo "New Comment Value: ".$comment->data."\n";
|
|
|
|
$comment->insertData(10, 'pi ');
|
|
$comment->replaceData(18, 5, 'i');
|
|
$comment->insertData(20, 'g');
|
|
$comment->deleteData(13, 2);
|
|
$comment->deleteData(10, 3);
|
|
$comment->insertData(10, 'comment ');
|
|
echo "Updated Comment Value: ".$comment->data."\n";
|
|
|
|
/* DOMText */
|
|
$text = new DOMText('some text characters');
|
|
|
|
echo "Whole Text: ".$text->wholeText."\n";
|
|
$text2 = $text->splitText(9);
|
|
|
|
echo "Split text: ".$text2->wholeText."\n";
|
|
$text3 = $text2->splitText(1);
|
|
|
|
echo "Is Whitespace?: ".($text2->isElementContentWhitespace()?'YES':'NO');
|
|
?>
|
|
--EXPECT--
|
|
Comment Length: 42
|
|
New Comment Length: 15
|
|
New Comment Data: Updated comment
|
|
Substring: <>&"
|
|
New Substring: <>&'
|
|
Comment Value: instructions
|
|
New Comment Value: some more instructions
|
|
Updated Comment Value: some more comment strings
|
|
Whole Text: some text characters
|
|
Split text: characters
|
|
Is Whitespace?: YES
|