wordpress-develop/tests/phpunit/tests/formatting/WpHtmlSplit.php
Boone Gorges f408407620 Improvements to PCRE benchmarking tests.
* Add test file accidentally omitted from [34761].
* Bail properly from benchmarker when a `preg_last_error()` is found.

Props miqrogroove.
See #34121.

git-svn-id: https://develop.svn.wordpress.org/trunk@34773 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-02 13:50:12 +00:00

54 lines
1.1 KiB
PHP

<?php
/**
* @group formatting
*/
class Tests_Formatting_WpHtmlSplit extends WP_UnitTestCase {
/**
* Basic functionality goes here.
*
* @dataProvider data_basic_features
*/
function test_basic_features( $input, $output ) {
return $this->assertEquals( $output, wp_html_split( $input ) );
}
function data_basic_features() {
return array(
array(
'abcd efgh',
array( 'abcd efgh' ),
),
array(
'abcd <html> efgh',
array( 'abcd ', '<html>', ' efgh' ),
),
array(
'abcd <!-- <html> --> efgh',
array( 'abcd ', '<!-- <html> -->', ' efgh' ),
),
array(
'abcd <![CDATA[ <html> ]]> efgh',
array( 'abcd ', '<![CDATA[ <html> ]]>', ' efgh' ),
),
);
}
/**
* Automated performance testing of the main regex.
*
* @dataProvider data_whole_posts
*/
function test_pcre_performance( $input ) {
$regex = get_html_split_regex();
$result = benchmark_pcre_backtracking( $regex, $input, 'split' );
return $this->assertLessThan( 200, $result );
}
function data_whole_posts() {
require_once( DIR_TESTDATA . '/formatting/whole-posts.php' );
return data_whole_posts();
}
}