| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217 | <?phprequire_once 'PHPUnit/Autoload.php';require_once '../phpQuery/phpQuery.php';//phpQuery::$debug = true;class phpQueryBasicTest extends PHPUnit_Framework_TestCase {    function provider() {        // TODO change filename        return array( array(                phpQuery::newDocumentFile('test.html')        ));    }    /**     * @param phpQueryObject $pq     * @dataProvider provider     * @return void     */    function testFilterWithPseudoclass( $pq ) {//        xdebug_break();//    function testFilterWithPseudoclass( $pq ) {//        print_r(`ls`);//        $pq = phpQuery::newDocumentFile('test.html');        $pq = $pq->find('p')            ->filter('.body:gt(1)');        $result = array(            'p.body',        );        $this->assertTrue( $pq->whois() == $result );    }    /**     * @param phpQueryObject $pq     * @dataProvider provider     * @return void     */    function testSlice( $pq ) {        $testResult = array(            'li#testID',        );        $pq = $pq->find('li')            ->slice(1, 2);                $this->assertTrue( $pq->whois() == $testResult );    }    /**     * @param phpQueryObject $pq     * @dataProvider provider     * @return void     */    function testSlice2( $pq ) {        // SLICE2        $testResult = array(            'li#testID',            'li',            'li#i_have_nested_list',            'li.nested',        );        $pq = $pq->find('li')            ->slice(1, -1);                $this->assertTrue( $pq->whois() == $testResult );    }    /**     * @return void     */    function testMultiInsert() {        // Multi-insert        $pq = phpQuery::newDocument('<li><span class="field1"></span><span class="field1"></span></li>')            ->find('.field1')                ->php('longlongtest');        $validResult = '<li><span class="field1"><php>longlongtest</php></span><span class="field1"><php>longlongtest</php></span></li>';        similar_text($pq->htmlOuter(), $validResult, $similarity);        $this->assertGreaterThan( 80, $similarity);    }    /**     * @param phpQueryObject $pq     * @dataProvider provider     * @return void     */    function testIndex( $pq ) {        $testResult = 1;        $pq = $pq->find('p')            ->index(                $pq->find('p.title:first')            );        $this->assertTrue( $pq == $testResult );    }    /**     * @param phpQueryObject $pq     * @dataProvider provider     * @return void     */    function testClone( $pq ) {        $testResult = 3;        $document = null;        $pq = $pq->toReference($document)            ->find('p:first');                foreach(array(0,1,2) as $i) {            $pq->clone()                ->addClass("clone-test")                ->addClass("class-$i")                ->insertBefore($pq);        }        $size = $document->find('.clone-test')->size();        $this->assertEquals( $testResult, $size);    }    /**     * @param phpQueryObject $pq     * @dataProvider provider     * @return void     */    function testNextSibling( $pq ) {        $testResult = 3;        $document = null;        $result = $pq->find('li:first')            ->next()            ->next()            ->prev()            ->is('#testID');        $this->assertTrue( $result );    }    /**     * @param phpQueryObject $pq     * @dataProvider provider     * @return void     */    function testSimpleDataInsertion( $pq ) {        $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',            ),        );        $articles = $pq->find('.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->find('.articles')->htmlOuter();        //print htmlspecialchars("<pre>{$result}</pre>").'<br />';        $similarity = 0.0;        similar_text($testResult, $result, $similarity);        $this->assertGreaterThan( 90, $similarity);    }//    function __construct() {//        xdebug_break();//        parent::__construct();//    }}$test = new phpQueryBasicTest();//$test->testFilterWithPseudoclass();$result = null;//$test->run($result);
 |