mirror of
https://github.com/gosticks/wordpress-develop.git
synced 2025-10-16 12:05:38 +00:00
wp-tests-config.php can/should reside in the root of a develop checkout. `phpunit` should be run from the root. see #25088. git-svn-id: https://develop.svn.wordpress.org/trunk@25165 602fd350-edb4-49c9-b593-d223f7449a82
198 lines
9.8 KiB
PHP
198 lines
9.8 KiB
PHP
<?php
|
|
|
|
/**
|
|
* @group formatting
|
|
*/
|
|
class Tests_Formatting_WPTexturize extends WP_UnitTestCase {
|
|
function test_dashes() {
|
|
$this->assertEquals('Hey — boo?', wptexturize('Hey -- boo?'));
|
|
$this->assertEquals('<a href="http://xx--xx">Hey — boo?</a>', wptexturize('<a href="http://xx--xx">Hey -- boo?</a>'));
|
|
}
|
|
|
|
function test_disable() {
|
|
$this->assertEquals('<pre>---</pre>', wptexturize('<pre>---</pre>'));
|
|
$this->assertEquals('[a]a–b[code]---[/code]a–b[/a]', wptexturize('[a]a--b[code]---[/code]a--b[/a]'));
|
|
$this->assertEquals('<pre><code></code>--</pre>', wptexturize('<pre><code></code>--</pre>'));
|
|
|
|
$this->assertEquals('<code>---</code>', wptexturize('<code>---</code>'));
|
|
|
|
$this->assertEquals('<code>href="baba"</code> “baba”', wptexturize('<code>href="baba"</code> "baba"'));
|
|
|
|
$enabled_tags_inside_code = '<code>curl -s <a href="http://x/">baba</a> | grep sfive | cut -d "\"" -f 10 > topmp3.txt</code>';
|
|
$this->assertEquals($enabled_tags_inside_code, wptexturize($enabled_tags_inside_code));
|
|
|
|
$double_nest = '<pre>"baba"<code>"baba"<pre></pre></code>"baba"</pre>';
|
|
$this->assertEquals($double_nest, wptexturize($double_nest));
|
|
|
|
$invalid_nest = '<pre></code>"baba"</pre>';
|
|
$this->assertEquals($invalid_nest, wptexturize($invalid_nest));
|
|
|
|
}
|
|
|
|
//WP Ticket #1418
|
|
function test_bracketed_quotes_1418() {
|
|
$this->assertEquals('(“test”)', wptexturize('("test")'));
|
|
$this->assertEquals('(‘test’)', wptexturize("('test')"));
|
|
$this->assertEquals('(’twas)', wptexturize("('twas)"));
|
|
}
|
|
|
|
//WP Ticket #3810
|
|
function test_bracketed_quotes_3810() {
|
|
$this->assertEquals('A dog (“Hubertus”) was sent out.', wptexturize('A dog ("Hubertus") was sent out.'));
|
|
}
|
|
|
|
//WP Ticket #4539
|
|
function test_basic_quotes() {
|
|
$this->assertEquals('test’s', wptexturize('test\'s'));
|
|
$this->assertEquals('test’s', wptexturize('test\'s'));
|
|
|
|
$this->assertEquals('‘quoted’', wptexturize('\'quoted\''));
|
|
$this->assertEquals('“quoted”', wptexturize('"quoted"'));
|
|
|
|
$this->assertEquals('space before ‘quoted’ space after', wptexturize('space before \'quoted\' space after'));
|
|
$this->assertEquals('space before “quoted” space after', wptexturize('space before "quoted" space after'));
|
|
|
|
$this->assertEquals('(‘quoted’)', wptexturize('(\'quoted\')'));
|
|
$this->assertEquals('{“quoted”}', wptexturize('{"quoted"}'));
|
|
|
|
$this->assertEquals('‘qu(ot)ed’', wptexturize('\'qu(ot)ed\''));
|
|
$this->assertEquals('“qu{ot}ed”', wptexturize('"qu{ot}ed"'));
|
|
|
|
$this->assertEquals(' ‘test’s quoted’ ', wptexturize(' \'test\'s quoted\' '));
|
|
$this->assertEquals(' “test’s quoted” ', wptexturize(' "test\'s quoted" '));
|
|
}
|
|
|
|
/**
|
|
* @ticket 4539
|
|
* @ticket 15241
|
|
*/
|
|
function test_full_sentences_with_unmatched_single_quotes() {
|
|
$this->assertEquals(
|
|
'That means every moment you’re working on something without it being in the public it’s actually dying.',
|
|
wptexturize("That means every moment you're working on something without it being in the public it's actually dying.")
|
|
);
|
|
}
|
|
|
|
/**
|
|
* @ticket 4539
|
|
*/
|
|
function test_quotes() {
|
|
$this->assertEquals('“Quoted String”', wptexturize('"Quoted String"'));
|
|
$this->assertEquals('Here is “<a href="http://example.com">a test with a link</a>”', wptexturize('Here is "<a href="http://example.com">a test with a link</a>"'));
|
|
$this->assertEquals('Here is “<a href="http://example.com">a test with a link and a period</a>”.', wptexturize('Here is "<a href="http://example.com">a test with a link and a period</a>".'));
|
|
$this->assertEquals('Here is “<a href="http://example.com">a test with a link</a>” and a space.', wptexturize('Here is "<a href="http://example.com">a test with a link</a>" and a space.'));
|
|
$this->assertEquals('Here is “<a href="http://example.com">a test with a link</a> and some text quoted”', wptexturize('Here is "<a href="http://example.com">a test with a link</a> and some text quoted"'));
|
|
$this->assertEquals('Here is “<a href="http://example.com">a test with a link</a>”, and a comma.', wptexturize('Here is "<a href="http://example.com">a test with a link</a>", and a comma.'));
|
|
$this->assertEquals('Here is “<a href="http://example.com">a test with a link</a>”; and a semi-colon.', wptexturize('Here is "<a href="http://example.com">a test with a link</a>"; and a semi-colon.'));
|
|
$this->assertEquals('Here is “<a href="http://example.com">a test with a link</a>”- and a dash.', wptexturize('Here is "<a href="http://example.com">a test with a link</a>"- and a dash.'));
|
|
$this->assertEquals('Here is “<a href="http://example.com">a test with a link</a>”… and ellipses.', wptexturize('Here is "<a href="http://example.com">a test with a link</a>"... and ellipses.'));
|
|
$this->assertEquals('Here is “a test <a href="http://example.com">with a link</a>”.', wptexturize('Here is "a test <a href="http://example.com">with a link</a>".'));
|
|
$this->assertEquals('Here is “<a href="http://example.com">a test with a link</a>”and a work stuck to the end.', wptexturize('Here is "<a href="http://example.com">a test with a link</a>"and a work stuck to the end.'));
|
|
$this->assertEquals('A test with a finishing number, “like 23”.', wptexturize('A test with a finishing number, "like 23".'));
|
|
$this->assertEquals('A test with a number, “like 62”, is nice to have.', wptexturize('A test with a number, "like 62", is nice to have.'));
|
|
}
|
|
|
|
/**
|
|
* @ticket 4539
|
|
*/
|
|
function test_quotes_before_s() {
|
|
$this->assertEquals('test’s', wptexturize("test's"));
|
|
$this->assertEquals('‘test’s', wptexturize("'test's"));
|
|
$this->assertEquals('‘test’s’', wptexturize("'test's'"));
|
|
$this->assertEquals('‘string’', wptexturize("'string'"));
|
|
$this->assertEquals('‘string’s’', wptexturize("'string's'"));
|
|
}
|
|
|
|
/**
|
|
* @ticket 4539
|
|
*/
|
|
function test_quotes_before_numbers() {
|
|
$this->assertEquals('Class of ’99', wptexturize("Class of '99"));
|
|
$this->assertEquals('Class of ’99’s', wptexturize("Class of '99's"));
|
|
$this->assertEquals('‘Class of ’99’', wptexturize("'Class of '99'"));
|
|
$this->assertEquals('‘Class of ’99’s’', wptexturize("'Class of '99's'"));
|
|
$this->assertEquals('‘Class of ’99’s’', wptexturize("'Class of '99’s'"));
|
|
$this->assertEquals('“Class of 99”', wptexturize("\"Class of 99\""));
|
|
$this->assertEquals('“Class of ’99”', wptexturize("\"Class of '99\""));
|
|
}
|
|
|
|
function test_quotes_after_numbers() {
|
|
$this->assertEquals('Class of ’99', wptexturize("Class of '99"));
|
|
}
|
|
|
|
/**
|
|
* @ticket 4539
|
|
* @ticket 15241
|
|
*/
|
|
function test_other_html() {
|
|
$this->assertEquals('‘<strong>', wptexturize("'<strong>"));
|
|
$this->assertEquals('‘<strong>Quoted Text</strong>’,', wptexturize("'<strong>Quoted Text</strong>',"));
|
|
$this->assertEquals('“<strong>Quoted Text</strong>”,', wptexturize('"<strong>Quoted Text</strong>",'));
|
|
}
|
|
|
|
function test_x() {
|
|
$this->assertEquals('14×24', wptexturize("14x24"));
|
|
}
|
|
|
|
function test_minutes_seconds() {
|
|
$this->assertEquals('9′', wptexturize('9\''));
|
|
$this->assertEquals('9″', wptexturize("9\""));
|
|
|
|
$this->assertEquals('a 9′ b', wptexturize('a 9\' b'));
|
|
$this->assertEquals('a 9″ b', wptexturize("a 9\" b"));
|
|
|
|
$this->assertEquals('“a 9′ b”', wptexturize('"a 9\' b"'));
|
|
$this->assertEquals('‘a 9″ b’', wptexturize("'a 9\" b'"));
|
|
}
|
|
|
|
/**
|
|
* @ticket 8775
|
|
*/
|
|
function test_wptexturize_quotes_around_numbers() {
|
|
$this->assertEquals('“12345”', wptexturize('"12345"'));
|
|
$this->assertEquals('‘12345’', wptexturize('\'12345\''));
|
|
$this->assertEquals('“a 9′ plus a ‘9’, maybe a 9′ ‘9’ ”', wptexturize('"a 9\' plus a \'9\', maybe a 9\' \'9\' "'));
|
|
$this->assertEquals('<p>‘99<br />‘123’<br />’tis<br />‘s’</p>', wptexturize('<p>\'99<br />\'123\'<br />\'tis<br />\'s\'</p>'));
|
|
}
|
|
|
|
/**
|
|
* @ticket 8912
|
|
*/
|
|
function test_wptexturize_html_comments() {
|
|
$this->assertEquals('<!--[if !IE]>--><!--<![endif]-->', wptexturize('<!--[if !IE]>--><!--<![endif]-->'));
|
|
$this->assertEquals('<!--[if !IE]>"a 9\' plus a \'9\', maybe a 9\' \'9\' "<![endif]-->', wptexturize('<!--[if !IE]>"a 9\' plus a \'9\', maybe a 9\' \'9\' "<![endif]-->'));
|
|
$this->assertEquals('<ul><li>Hello.</li><!--<li>Goodbye.</li>--></ul>', wptexturize('<ul><li>Hello.</li><!--<li>Goodbye.</li>--></ul>'));
|
|
}
|
|
|
|
/**
|
|
* @ticket 4539
|
|
* @ticket 15241
|
|
*/
|
|
function test_entity_quote_cuddling() {
|
|
$this->assertEquals(' “Testing”', wptexturize(' "Testing"'));
|
|
$this->assertEquals('&“Testing”', wptexturize('&"Testing"'));
|
|
}
|
|
|
|
/**
|
|
* @ticket 22823
|
|
*/
|
|
function test_apostrophes_before_primes() {
|
|
$this->assertEquals( 'WordPress 3.5’s release date', wptexturize( "WordPress 3.5's release date" ) );
|
|
}
|
|
|
|
/**
|
|
* @ticket 23185
|
|
*/
|
|
function test_spaces_around_hyphens() {
|
|
$this->assertEquals( ' – ', wptexturize( ' - ' ) );
|
|
$this->assertEquals( ' – ', wptexturize( ' - ' ) );
|
|
$this->assertEquals( ' – ', wptexturize( ' - ' ) );
|
|
$this->assertEquals( ' – ', wptexturize( ' - ') );
|
|
|
|
$this->assertEquals( ' — ', wptexturize( ' -- ' ) );
|
|
$this->assertEquals( ' — ', wptexturize( ' -- ' ) );
|
|
$this->assertEquals( ' — ', wptexturize( ' -- ' ) );
|
|
$this->assertEquals( ' — ', wptexturize( ' -- ') );
|
|
}
|
|
}
|