143 lines
3.8 KiB
PHP
143 lines
3.8 KiB
PHP
|
<?php
|
||
|
require_once('../phpQuery/phpQuery.php');
|
||
|
phpQuery::$debug = true;
|
||
|
|
||
|
|
||
|
$testName = 'Simple data insertion';
|
||
|
$testResult = <<<EOF
|
||
|
<div class="articles">
|
||
|
div.articles text node
|
||
|
<ul>
|
||
|
|
||
|
<li>
|
||
|
<p>This is paragraph of first LI</p>
|
||
|
<p class="title">News 1 title</p>
|
||
|
<p class="body">News 1 body</p>
|
||
|
</li>
|
||
|
|
||
|
<li>
|
||
|
<p>This is paragraph of first LI</p>
|
||
|
<p class="title">News 2 title</p>
|
||
|
<p class="body">News 2 body</p>
|
||
|
</li>
|
||
|
<li>
|
||
|
<p>This is paragraph of first LI</p>
|
||
|
<p class="title">News 3</p>
|
||
|
<p class="body">News 3 body</p>
|
||
|
</li>
|
||
|
</ul>
|
||
|
<p>paragraph after UL</p>
|
||
|
</div>
|
||
|
EOF;
|
||
|
$rows = array(
|
||
|
array(
|
||
|
'title' => 'News 1 title',
|
||
|
'body' => 'News 1 body',
|
||
|
),
|
||
|
array(
|
||
|
'title' => 'News 2 title',
|
||
|
'body' => 'News 2 body',
|
||
|
),
|
||
|
array(
|
||
|
'title' => 'News 3',
|
||
|
'body' => 'News 3 body',
|
||
|
),
|
||
|
);
|
||
|
phpQuery::newDocumentFile('test.html');
|
||
|
$articles = pq('.articles ul');
|
||
|
$rowSrc = $articles->find('li')
|
||
|
->remove()
|
||
|
->eq(0);
|
||
|
foreach( $rows as $r ) {
|
||
|
$row = $rowSrc->_clone();
|
||
|
foreach( $r as $field => $value ) {
|
||
|
$row->find(".{$field}")
|
||
|
->html($value);
|
||
|
// die($row->htmlOuter());
|
||
|
}
|
||
|
$row->appendTo($articles);
|
||
|
}
|
||
|
$result = pq('.articles')->htmlOuter();
|
||
|
//print htmlspecialchars("<pre>{$result}</pre>").'<br />';
|
||
|
$similarity = 0.0;
|
||
|
similar_text($testResult, $result, $similarity);
|
||
|
if ($similarity > 90)
|
||
|
print "Test '{$testName}' passed :)";
|
||
|
else
|
||
|
print "Test '{$testName}' <strong>FAILED</strong> ($similarity) !!!";
|
||
|
print "\n";
|
||
|
|
||
|
|
||
|
$testName = 'Parent && children';
|
||
|
$result = phpQuery::newDocumentFile('test.html');
|
||
|
$parent = $result->find('ul:first');
|
||
|
$children = $parent->find('li:first');
|
||
|
$e = null;
|
||
|
try {
|
||
|
$children->before('<li>test</li>');
|
||
|
} catch(Exception $e) {
|
||
|
print "Test '{$testName}' <strong>FAILED</strong> !!! ";
|
||
|
}
|
||
|
if (! $e) {
|
||
|
print "Test '{$testName}' PASSED :)";
|
||
|
}
|
||
|
print "\n";
|
||
|
|
||
|
|
||
|
$testName = 'HTML insertion';
|
||
|
$doc = phpQuery::newDocument('<div><p/></div>');
|
||
|
$string = "La Thermo-sonde de cuisson vous permet de cuire à la perfection au four comme au bain-marie. Température: entre <b>0°C et 210°C</b>.";
|
||
|
$doc->find('p')->html($string);
|
||
|
if (pq('p')->length == 1)
|
||
|
print "Test '{$testName}' PASSED :)";
|
||
|
else {
|
||
|
print "Test '{$testName}' <strong>FAILED</strong> !!! ";
|
||
|
print $doc->htmlOuter('htmlentities');
|
||
|
}
|
||
|
print "\n";
|
||
|
|
||
|
|
||
|
$testName = 'HTML insertion 2';
|
||
|
$doc = phpQuery::newDocument('<div><p/></div>');
|
||
|
$string = "<div>La Thermo-sonde de cuisson vous permet de cuire à la perfection au four comme au bain-marie. Température: entre <b>0°C et 210°C</b>.</div>";
|
||
|
$doc->find('p')->html($string);
|
||
|
if (pq('div')->length == 2) {
|
||
|
print "Test '{$testName}' PASSED :)";
|
||
|
} else {
|
||
|
print "Test '{$testName}' <strong>FAILED</strong> !!! ";
|
||
|
print $doc->htmlOuter('htmlentities');
|
||
|
}
|
||
|
print "\n";
|
||
|
|
||
|
|
||
|
$testName = 'HTML insertion 3';
|
||
|
$doc = phpQuery::newDocument('<div><p/></div>');
|
||
|
$string = 'Hors paragraphe.
|
||
|
<img align="right" src="http://www.stlouisstpierre.com/institution/images/plan.jpg">
|
||
|
<p>Éditorial de l\'institution Saint-Pierre.</p>
|
||
|
Hors paragraphe.';
|
||
|
$doc->find('p')->html($string);
|
||
|
if (pq('img')->length == 1) {
|
||
|
print "Test '{$testName}' PASSED :)";
|
||
|
print $doc->htmlOuter();
|
||
|
} else {
|
||
|
print "Test '{$testName}' <strong>FAILED</strong> !!! ";
|
||
|
print $doc->htmlOuter('htmlentities');
|
||
|
}
|
||
|
print "\n";
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
$testName = 'Text insertion';
|
||
|
$doc = phpQuery::newDocument('<div><p/></div>');
|
||
|
$string = "La Thermo-sonde de cuisson vous permet de cuire à la perfection au four comme au bain-marie";
|
||
|
$doc->find('p')->html($string);
|
||
|
if (trim(pq('p:first')->html()) == $string)
|
||
|
print "Test '{$testName}' PASSED :)";
|
||
|
else {
|
||
|
print "Test '{$testName}' <strong>FAILED</strong> !!! ";
|
||
|
print $doc->htmlOuter('htmlentities');
|
||
|
}
|
||
|
print "\n";
|
||
|
?>
|