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('
')
->find('.field1')
->php('longlongtest');
$validResult = 'longlongtestlonglongtest';
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 = <<
div.articles text node
-
This is paragraph of first LI
News 1 title
News 1 body
-
This is paragraph of first LI
News 2 title
News 2 body
-
This is paragraph of first LI
News 3
News 3 body
paragraph after UL
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("{$result}
").'
';
$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);