Index: tests/phpunit/includes/utils.php
===================================================================
--- tests/phpunit/includes/utils.php	(revision 34771)
+++ tests/phpunit/includes/utils.php	(working copy)
@@ -432,15 +432,16 @@
 			continue;
 		case PREG_RECURSION_LIMIT_ERROR:
 			trigger_error('PCRE recursion limit encountered before backtrack limit.');
-			break;
+			return;
 		case PREG_BAD_UTF8_ERROR:
 			trigger_error('UTF-8 error during PCRE benchmark.');
-			break;
+			return;
 		case PREG_INTERNAL_ERROR:
 			trigger_error('Internal error during PCRE benchmark.');
-			break;
+			return;
 		default:
-			trigger_error('Unexpected error during PCRE benchmark.');	
+			trigger_error('Unexpected error during PCRE benchmark.');
+			return;
 		}
 	}
 
Index: tests/phpunit/tests/formatting/WpHtmlSplit.php
===================================================================
--- tests/phpunit/tests/formatting/WpHtmlSplit.php	(revision 0)
+++ tests/phpunit/tests/formatting/WpHtmlSplit.php	(working copy)
@@ -0,0 +1,53 @@
+<?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();
+	}
+}
\ No newline at end of file
