Skip to content

Commit

Permalink
Verify behavior of new seeking shortcut.
Browse files Browse the repository at this point in the history
  • Loading branch information
dmsnell committed Sep 19, 2024
1 parent ad75ad5 commit a430966
Showing 1 changed file with 37 additions and 4 deletions.
41 changes: 37 additions & 4 deletions tests/phpunit/tests/html-api/wpHtmlTagProcessor-bookmark.php
Original file line number Diff line number Diff line change
Expand Up @@ -435,16 +435,49 @@ public function test_limits_the_number_of_bookmarks() {
public function test_limits_the_number_of_seek_calls() {
$processor = new WP_HTML_Tag_Processor( '<ul><li>One</li><li>Two</li><li>Three</li></ul>' );
$processor->next_tag( 'li' );
$processor->set_bookmark( 'bookmark' );

for ( $i = 0; $i < WP_HTML_Tag_Processor::MAX_SEEK_OPS; $i++ ) {
$this->assertTrue( $processor->seek( 'bookmark' ), 'Could not seek to the "bookmark"' );
$processor->set_bookmark( 'ping' );
$processor->next_tag( 'li' );
$processor->set_bookmark( 'pong' );

for ( $i = 0; $i < WP_HTML_Tag_Processor::MAX_SEEK_OPS; $i += 2 ) {
$this->assertTrue(
$processor->seek( 'ping' ),
'Could not seek to the "ping": check test setup.'
);

$this->assertTrue(
$processor->seek( 'pong' ),
'Could not seek to the "pong": check test setup.'
);
}

$this->setExpectedIncorrectUsage( 'WP_HTML_Tag_Processor::seek' );
$this->assertFalse( $processor->seek( 'bookmark' ), "$i-th seek() to the bookmark succeeded, even though it should exceed the allowed limit" );
}

/**
* @ticket {TICKET_NUMBER}
*
* @covers WP_HTML_Tag_Processor::seek
*/
public function test_skips_counting_noop_seek_calls() {
$processor = new WP_HTML_Tag_Processor( '<ul><li>One</li><li>Two</li><li>Three</li></ul>' );
$processor->next_tag( 'li' );
$processor->set_bookmark( 'here' );

for ( $i = 0; $i < WP_HTML_Tag_Processor::MAX_SEEK_OPS; $i++ ) {
$this->assertTrue(
$processor->seek( 'here' ),
'Could not seek to the "here": check test setup.'
);
}

$this->assertTrue(
$processor->seek( 'here' ),
'Should never fail to seek if the seek is pointing at the current location.'
);
}

/**
* Ensures that it's possible to seek to an earlier location in a document even
* after reaching the end of a document, when most functionality shuts down.
Expand Down

0 comments on commit a430966

Please sign in to comment.