WordPress.org

Make WordPress Core

Ticket #28222: 28222.withtests.patch

File 28222.withtests.patch, 4.6 KB (added by hinnerk, 7 years ago)

Added test cases, more readable regexp

  • src/wp-includes/functions.php

    diff --git src/wp-includes/functions.php src/wp-includes/functions.php
    index db399cf..39b86e7 100644
    function xmlrpc_removepostdata( $content ) { 
    441441 */
    442442function wp_extract_urls( $content ) {
    443443        preg_match_all(
    444                 "#((?:[\w-]+://?|[\w\d]+[.])[^\s()<>]+[.](?:\([\w\d]+\)|(?:[^`!()\[\]{};:'\".,<>?«»“”‘’\s]|(?:[:]\d+)?/?)+))#",
     444                "#(
     445                        (?: ([\w-]+:)?//? )
     446                        [^\s()<>]+
     447                        [.]
     448                        (?:
     449                                \([\w\d]+\) |
     450                                (?:
     451                                        [^`!()\[\]{};:'\".,<>?«»“”‘’\s] |
     452                                        (?: [:]\d+ )?/?
     453                                )+
     454                        )
     455                )#x",
    445456                $content,
    446457                $post_links
    447458        );
  • tests/phpunit/tests/functions.php

    diff --git tests/phpunit/tests/functions.php tests/phpunit/tests/functions.php
    index a223cf4..caac874 100644
    class Tests_Functions extends WP_UnitTestCase { 
    370370                $original_urls = array(
    371371                        'http://woo.com/1,2,3,4,5,6/-1-2-3-4-/woo.html',
    372372                        'http://this.com',
     373                        'http://127.0.0.1',
    373374                        'http://www111.urwyeoweytwutreyytqytwetowteuiiu.com/?346236346326&2134362574863.437',
    374375                        'http://wordpress-core/1,2,3,4,5,6/-1-2-3-4-/woo.html',
    375376                        'http://wordpress-core.com:8080/',
    class Tests_Functions extends WP_UnitTestCase { 
    419420                        'http://تونس.icom.museum',
    420421                        'http://türkiye.icom.museum',
    421422                        'http://украина.icom.museum',
    422                         'http://việtnam.icom.museum'
     423                        'http://việtnam.icom.museum',
     424                        'ftp://127.0.0.1/'
    423425                );
    424426
    425427                $blob ="
    class Tests_Functions extends WP_UnitTestCase { 
    427429
    428430                        http://this.com
    429431
     432                        http://127.0.0.1
     433
    430434                        http://www111.urwyeoweytwutreyytqytwetowteuiiu.com/?346236346326&amp;2134362574863.437
    431435
    432436                        http://wordpress-core/1,2,3,4,5,6/-1-2-3-4-/woo.html
    class Tests_Functions extends WP_UnitTestCase { 
    476480                        http://türkiye.icom.museum
    477481                        http://украина.icom.museum
    478482                        http://việtnam.icom.museum
     483                        ftp://127.0.0.1/
    479484                ";
    480485
    481486                $urls = wp_extract_urls( $blob );
    class Tests_Functions extends WP_UnitTestCase { 
    493498
    494499                $blob ="Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor
    495500                        incididunt ut labore http://woo.com/1,2,3,4,5,6/-1-2-3-4-/woo.html et dolore magna aliqua.
    496                         Ut http://this.com enim ad minim veniam, quis nostrud exercitation ullamco
     501                        Ut http://this.com enim ad minim veniam, quis nostrud exercitation 16.06. to 18.06.2014 ullamco http://127.0.0.1
    497502                        laboris nisi ut aliquip ex http://www111.urwyeoweytwutreyytqytwetowteuiiu.com/?346236346326&amp;2134362574863.437 ea
    498503                        commodo consequat. http://wordpress-core/1,2,3,4,5,6/-1-2-3-4-/woo.html Duis aute irure dolor in reprehenderit in voluptate
    499504                        velit esse http://wordpress-core.com:8080/ cillum dolore eu fugiat nulla <A href=\"http://www.website.com:5000\">http://www.website.com:5000</B> pariatur. Excepteur sint occaecat cupidatat non proident,
    class Tests_Functions extends WP_UnitTestCase { 
    502507                $urls = wp_extract_urls( $blob );
    503508                $this->assertNotEmpty( $urls );
    504509                $this->assertInternalType( 'array', $urls );
    505                 $this->assertCount( 7, $urls );
    506                 $this->assertEquals( array_slice( $original_urls, 0, 7 ), $urls );
     510                $this->assertCount( 8, $urls );
     511                $this->assertEquals( array_slice( $original_urls, 0, 8 ), $urls );
    507512
    508513                $blob = 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor
    509514                        incididunt ut labore <a href="http://woo.com/1,2,3,4,5,6/-1-2-3-4-/woo.html">343462^</a> et dolore magna aliqua.
    510                         Ut <a href="http://this.com">&amp;3640i6p1yi499</a> enim ad minim veniam, quis nostrud exercitation ullamco
     515                        Ut <a href="http://this.com">&amp;3640i6p1yi499</a> enim ad minim veniam, quis nostrud exercitation 16.06. to 18.06.2014 ullamco <a href="http://127.0.0.1">localhost</a>
    511516                        laboris nisi ut aliquip ex <a href="http://www111.urwyeoweytwutreyytqytwetowteuiiu.com/?346236346326&amp;2134362574863.437">343462^</a> ea
    512517                        commodo consequat. <a href="http://wordpress-core/1,2,3,4,5,6/-1-2-3-4-/woo.html">343462^</a> Duis aute irure dolor in reprehenderit in voluptate
    513518                        velit esse <a href="http://wordpress-core.com:8080/">-3-4--321-64-4@#!$^$!@^@^</a> cillum dolore eu <A href="http://www.website.com:5000">http://www.website.com:5000</B> fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident,
    class Tests_Functions extends WP_UnitTestCase { 
    516521                $urls = wp_extract_urls( $blob );
    517522                $this->assertNotEmpty( $urls );
    518523                $this->assertInternalType( 'array', $urls );
    519                 $this->assertCount( 7, $urls );
    520                 $this->assertEquals( array_slice( $original_urls, 0, 7 ), $urls );
     524                $this->assertCount( 8, $urls );
     525                $this->assertEquals( array_slice( $original_urls, 0, 8 ), $urls );
    521526        }
    522527}