123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302 |
- <?php
- require_once('../phpQuery/phpQuery.php');
- phpQuery::$debug = true;
- $testName = 'Selectors';
- $tests = array(
- array(
- 'div:first',
- array(
- 'div.articles',
- )
- ),
- array(
- "p:contains('title')",
- array(
- 'p.title',
- 'p.title',
- 'p.noTitle',
- )
- ),
- array(
- "p:contains('title 2')",
- array(
- 'p.title',
- )
- ),
- array(
- 'li:eq(1)',
- array(
- 'li#testID',
- )
- ),
- array(
- 'li:eq(1) p:eq(1)',
- array(
- 'p.title',
- )
- ),
- array(
- '*[rel="test"]',
- array(
- 'p',
- 'p'
- )
- ),
- array(
- '#testID p:first',
- array(
- 'p'
- )
- ),
- array(
- "p:not('.title'):not('.body')",
- array(
- 'p',
- 'p',
- 'p',
- 'p.noTitle',
- 'p.after',
- )
- ),
- array(
- "[content*=html]",
- array(
- 'meta'
- )
- ),
- array(
- "li#testID, div.articles",
- array(
- 'li#testID',
- 'div.articles'
- )
- ),
- array(
- "script[src]:not([src^=<?php])",
- array(
- 'script'
- )
- ),
- // array(
- // 'li:not([ul/li])',
- // array(
- // 'li',
- // 'li#testID',
- // 'li',
- // 'li.nested',
- // 'li.second',
- // )
- // ),
- array(
- 'li:has(ul)',
- array(
- 'li#i_have_nested_list',
- )
- ),
- array(
- 'p[rel] + p',
- array(
- 'p.title',
- 'p.noTitle',
- )
- ),
- array(
- 'ul:first > li:first ~ *',
- array(
- 'li#testID',
- 'li',
- )
- ),
- // CSS3 pseudoclasses
- array(
- 'li:only-child',
- array(
- 'li.nested',
- )
- ),
- array(
- 'p[rel=test]:parent',
- array(
- 'p',
- 'p',
- )
- ),
- array(
- 'li:first-child',
- array(
- 'li',
- 'li#i_have_nested_list',
- 'li.nested',
- )
- ),
- array(
- ':last-child',
- array(
- 'html',
- 'script',
- 'body',
- 'p.body',
- 'p.body',
- 'li',
- 'p.body',
- 'p.after',
- 'ul',
- 'ul',
- 'li.nested',
- 'li.second',
- )
- ),
- array(
- ':nth-child(1n+1)',
- array(
- 'html',
- 'head',
- 'meta',
- 'div.articles',
- 'ul',
- 'li',
- 'p',
- 'p',
- 'p',
- 'li#i_have_nested_list',
- 'ul',
- 'li.nested',
- )
- ),
- array(
- ':nth-child(3n+6)',
- array(
- 'script',
- 'p.body',
- 'p.body',
- 'li',
- 'p.body',
- )
- ),
- array(
- ':nth-child(2n)',
- array(
- 'title',
- 'script',
- 'body',
- 'p.title',
- 'li#testID',
- 'p.title',
- 'p.noTitle',
- 'p.after',
- 'ul',
- 'li.second',
- )
- ),
- array(
- ':nth-child(1)',
- array(
- 'html',
- 'head',
- 'meta',
- 'div.articles',
- 'ul',
- 'li',
- 'p',
- 'p',
- 'p',
- 'li#i_have_nested_list',
- 'ul',
- 'li.nested',
- )
- ),
- array(
- ':nth-child(odd)',
- array(
- 'html',
- 'head',
- 'meta',
- 'script',
- 'div.articles',
- 'ul',
- 'li',
- 'p',
- 'p.body',
- 'p',
- 'p.body',
- 'li',
- 'p',
- 'p.body',
- 'li#i_have_nested_list',
- 'ul',
- 'li.nested',
- )
- ),
- array(
- ':nth-child(even)',
- array(
- 'title',
- 'script',
- 'body',
- 'p.title',
- 'li#testID',
- 'p.title',
- 'p.noTitle',
- 'p.after',
- 'ul',
- 'li.second',
- )
- ),
- array(
- ':empty',
- array(
- 'meta',
- 'script',
- 'script',
- 'li.nested',
- )
- ),
- // array(
- // '',
- // array(
- // '',
- // )
- // ),
- // array(
- // '',
- // array(
- // '',
- // )
- // ),
- // array(
- // '',
- // array(
- // '',
- // )
- // ),
- );
- phpQuery::newDocumentFile('test.html');
- foreach( $tests as $k => $test ) {
- $tests[ $k ][2] = pq( $test[0] )->whois();
- }
- foreach( $tests as $test ) {
- if ( $test[1] == $test[2] )
- print "Test '{$test[0]}' PASSED :)";
- else {
- print "Test '{$test[0]}' <strong>FAILED</strong> !!!";
- print_r($test[2]);
- }
- print "<br /><br />";
- }
- //
- $testName = 'Complicated selector 1';
- phpQuery::newDocumentFile('test.html');
- pq('<select name="test[]"><option value=3>test</option></select>')
- ->appendTo('body');
- $result = pq('select[name="test[]"]:has(option[value=3])');
- if ( $result->size() == 1 )
- print "Test '{$testName}' PASSED :)";
- else
- print "Test '{$testName}' <strong>FAILED</strong> !!! ";
- $result->dump();
- print "\n";
- ?>
|