blob: 6baff6d148c173cbf27205d3408d419f3ea51ab3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
--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
|