<?php require_once '../PhpQuery/PhpQuery.php'; PhpQuery::$debug = 2; $testName = 'HTML insertion'; $doc = PhpQuery::newDocumentFile('document-types/document-utf8.xhtml'); //$doc = PhpQuery::newDocumentFile('document-types/document-utf8.html'); //$doc = PhpQuery::newDocumentFile('document-types/document-utf8.xml'); //print $doc->find('step'); print $doc->find('p'); $markup = "test<br />test<p>test p</p>"; $doc['body > p:last']->append($markup); if ($doc['body > p:last p']->length == 1) { print "Test '{$testName}' PASSED :)"; } else { print "Test '{$testName}' <strong>FAILED</strong> !!! "; print $doc->htmlOuter('htmlspecialchars'); } print "\n";
<?php require_once '../PhpQuery/PhpQuery.php'; PhpQuery::$debug = true; $testName = 'ReplaceWith'; PhpQuery::newDocumentFile('test.html')->find('p:eq(1)')->replaceWith("<p class='newTitle'>\n this is example title\n </p>"); $result = pq('p:eq(1)'); if ($result->hasClass('newTitle')) { print "Test '{$testName}' PASSED :)"; } else { print "Test '{$testName}' <strong>FAILED</strong> !!! "; } $result->dump(); print "\n"; $testName = 'ReplaceAll'; $testResult = 3; PhpQuery::newDocumentFile('test.html'); pq('<div class="replacer">')->replaceAll('li:first p'); $result = pq('.replacer'); if ($result->size() == $testResult) { print "Test '{$testName}' PASSED :)"; } else { print "Test '{$testName}' <strong>FAILED</strong> !!! "; } $result->dump(); print "\n";
print "\n"; // CLONE $testName = 'Clone'; $testResult = 3; $document; $p = PhpQuery::newDocumentFile('test.html')->toReference($document)->find('p:first'); foreach (array(0, 1, 2) as $i) { $p->clone()->addClass("clone-test")->addClass("class-{$i}")->insertBefore($p); } if (pq('.clone-test')->size() == $testResult) { print "Test '{$testName}' PASSED :)"; } else { print "Test '{$testName}' <strong>FAILED</strong> !!! "; } print "\n"; // SIBLINGS $testName = 'Next'; $testResult = 3; $document; $result = PhpQuery::newDocumentFile('test.html')->find('li:first')->next()->next()->prev()->is('#testID'); if ($result) { print "Test '{$testName}' PASSED :)"; } else { print "Test '{$testName}' <strong>FAILED</strong> !!! "; } print "\n"; ?> <?php die;
//)); //function v87shs79d8fhs9d($html) { // $title = PhpQuery::newDocument($html)->find('title'); // $testName = 'Simple AJAX'; // if ( strpos(strtolower($title->html()), 'wikipedia') !== false ) // print "Test '$testName' PASSED :)"; // else { // print "Test '$testName' <strong>FAILED</strong> !!! "; // print "<pre>"; // print_r($title->whois()); // print "</pre>\n"; // } // print "\n"; //} $testName = 'Load'; $test = PhpQuery::newDocumentFile('test.html')->find('div:first')->load('http://wikipedia.org/ div[lang]'); if (pq('div[lang]')->size()) { print "Test '{$testName}' PASSED :)"; } else { print "Test '{$testName}' <strong>FAILED</strong> !!! "; print "<pre>"; print "</pre>\n"; } print "\n"; // http://code.google.com/p/phpquery/issues/detail?id=130 $pq = PhpQuery::ajax(array('url' => 'http://' . $_SERVER['SERVER_NAME'] . preg_replace('@/[^/]+$@', '/test_ajax_data_1', $_SERVER['REQUEST_URI']), 'success' => 'a789fhasdui3124', 'error' => 'jhdbg786213u8dsfg7y')); function a789fhasdui3124($html) { $testName = 'AJAX request text node'; if ($html == 'hello world') { print "Test '{$testName}' PASSED :)";
} print_r($result->whois()); print "\n"; $testName = 'Filter with multiplie selectors'; $testResult = array('p.body'); $testDOM = PhpQuery::newDocumentFile('test.html'); $single = $testDOM->find('p')->filter('.body')->add($testDOM->find('p')->filter('.title')); $double = $testDOM->find('p')->filter('.body, .title'); if ($single->length == count($double)) { print "Test '{$testName}' PASSED :)"; } else { print "Test '{$testName}' <strong>FAILED</strong> !!! "; } print "\n"; print_r($single->whois()); print "\n"; print_r($double->whois()); print "\n"; $testName = 'Attributes in HTML element'; $validResult = 'testValue'; $result = PhpQuery::newDocumentFile('test.html')->find('html')->empty()->attr('test', $validResult); $result = PhpQuery::newDocument($result->htmlOuter())->find('html')->attr('test'); //similar_text($result->htmlOuter(), $validResult, $similarity); if ($result == $validResult) { print "Test '{$testName}' PASSED :)"; } else { print "Test '{$testName}' <strong>FAILED</strong> !!! "; print "<pre>"; print $result; print "</pre>\n"; }
$testName = 'Append and move'; $result = PhpQuery::newDocumentFile('test.html'); $li = $result->find('li:first'); $result->find('div')->_empty(); $li->html('test1-é-test1')->append('test2-é-test2')->appendTo($result->find('div:first')); $result = $result->find('div:first li:first'); $expected = 'test1-é-test1test2-é-test2'; if (trim(str_replace("\n", '', $result->html())) == $expected) { print "Test '{$testName}' passed :)<br />\n"; } else { print "Test '{$testName}' <strong>FAILED</strong> !!!<br />\n"; print "'" . trim($result->html()) . "'"; } print "\n"; $testName = 'Attr charset'; $result = PhpQuery::newDocumentFile('test.html')->find('li:first')->attr('test', 'foo é żźć bar'); if (trim($result->attr('test')) == 'foo é żźć bar') { print "Test '{$testName}' passed :)<br />\n"; } else { print "Test '{$testName}' <strong>FAILED</strong> !!!<br />\n"; print $result->attr('test'); } print "\n"; //$testName = 'Loading document without meta charset'; //$result = PhpQuery::newDocumentFile('test.html') // ->_empty(); ////var_dump((string)$result->htmlOuter()); //$result = PhpQuery::newDocument($result->htmlOuter()); //$validResult = <<<EOF //<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> //<html xmlns="http://www.w3.org/1999/xhtml" xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /></head></html>
$p->dump(); print "\n"; $testName = 'WrapAll'; $testResult = 1; PhpQuery::newDocumentFile('test.html')->find('p')->slice(1, 3)->wrapAll('<div class="wrapper">'); $result = pq('.wrapper'); if ($result->size() == $testResult) { print "Test '{$testName}' PASSED :)"; } else { print "Test '{$testName}' <strong>FAILED</strong> !!! "; } $result->dump(); print "\n"; $testName = 'WrapInner'; $testResult = 3; PhpQuery::newDocumentFile('test.html')->find('li:first')->wrapInner('<div class="wrapper">'); $result = pq('.wrapper p'); if ($result->size() == $testResult) { print "Test '{$testName}' PASSED :)"; } else { print "Test '{$testName}' <strong>FAILED</strong> !!! "; } print $result->dump(); print "\n"; // TODO ! $testName = 'WrapAllTest'; /* $doc = PhpQuery::newDocumentHTML('<div id="myDiv"></div>'); $doc['#myDiv']->append('hors paragraphe<p>Test</p>hors paragraphe') ->contents() ->not('[nodeType=1]')
// CALLBACKS class callbackClass { static function staticMethodCallback($node) { pq($node)->addClass('newClass'); } function methodCallback($node) { pq($node)->addClass('newClass'); } } function functionCallback($node) { pq($node)->addClass('newClass'); } $testResult = array('li.newClass', 'li#testID.newClass', 'li.newClass', 'li#i_have_nested_list.newClass', 'li.nested.newClass', 'li.second.newClass'); $tests = array('functionCallback', array('callbackClass', 'staticMethodCallback'), array(new callbackClass(), 'methodCallback')); foreach ($tests as $test) { $result = PhpQuery::newDocumentFile('test.html')->find('li')->each($test); $testName = is_array($test) ? $test[1] : $test; if ($result->whois() == $testResult) { print "Test '{$testName}' PASSED :)"; } else { print "Test '{$testName}' <strong>FAILED</strong> !!! "; print "<pre>"; print_r($result->whois()); print "</pre>\n"; } print "\n"; }