Make WordPress Core

Ticket #9064: test-extract-pingable-urls.diff

File test-extract-pingable-urls.diff, 3.6 KB (added by wonderboymusic, 11 years ago)
  • tests/functions.php

     
    376376                $this->assertNotEmpty( $mimes2 );
    377377                $this->assertEquals( $mimes2, $mimes );
    378378        }
     379       
     380        function test_extract_pingable_urls() {
     381                $original_urls = array(
     382                        'http://woo.com/1,2,3,4,5,6/-1-2-3-4-/woo.html',
     383                        'http://this.com',
     384                        'http://www111.urwyeoweytwutreyytqytwetowteuiiu.com/?346236346326&2134362574863.437',
     385                        'http://wordpress-core/1,2,3,4,5,6/-1-2-3-4-/woo.html',
     386                        'http://wordpress-core/',
     387                        'http://wordpress-core/?346236346326&2134362574863.437',
     388                );
     389               
     390                $blob ="
     391                        http://woo.com/1,2,3,4,5,6/-1-2-3-4-/woo.html
     392
     393                        http://this.com
     394
     395                        http://www111.urwyeoweytwutreyytqytwetowteuiiu.com/?346236346326&2134362574863.437
     396
     397                        http://wordpress-core/1,2,3,4,5,6/-1-2-3-4-/woo.html
     398
     399                        http://wordpress-core/
     400
     401                        http://wordpress-core/?346236346326&2134362574863.437
     402                ";
     403               
     404                $urls = _extract_pingable_urls( $blob );
     405               
     406                $this->assertNotEmpty( $urls );
     407                $this->assertInternalType( 'array', $urls );
     408                $this->assertEquals( 6, count( $urls ) );
     409                $this->assertEquals( $original_urls, $urls );
     410               
     411                $exploded = array_values( array_filter( array_map( 'trim', explode( "\n", $blob ) ) ) );
     412                // _extract_pingable_urls calls html_entity_decode
     413                $decoded = array_map( 'html_entity_decode', $exploded );
     414               
     415                $this->assertEquals( $decoded, $urls );
     416                $this->assertEquals( $original_urls, $decoded );
     417               
     418                $blob ="Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor
     419                        incididunt ut labore http://woo.com/1,2,3,4,5,6/-1-2-3-4-/woo.html et dolore magna aliqua.
     420                        Ut http://this.com enim ad minim veniam, quis nostrud exercitation ullamco
     421                        laboris nisi ut aliquip ex http://www111.urwyeoweytwutreyytqytwetowteuiiu.com/?346236346326&2134362574863.437 ea
     422                        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
     423                        velit esse http://wordpress-core/ cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident,
     424                        sunt in culpa qui officia deserunt mollit http://wordpress-core/?346236346326&2134362574863.437 anim id est laborum.";
     425               
     426                $urls = _extract_pingable_urls( $blob );
     427               
     428                $this->assertNotEmpty( $urls );
     429                $this->assertInternalType( 'array', $urls );
     430                $this->assertEquals( 6, count( $urls ) );
     431                $this->assertEquals( $original_urls, $urls );
     432               
     433                $blob = 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor
     434                        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.
     435                        Ut <a href="http://this.com">&amp;3640i6p1yi499</a> enim ad minim veniam, quis nostrud exercitation ullamco
     436                        laboris nisi ut aliquip ex <a href="http://www111.urwyeoweytwutreyytqytwetowteuiiu.com/?346236346326&amp;2134362574863.437">343462^</a> ea
     437                        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
     438                        velit esse <a href="http://wordpress-core/">-3-4--321-64-4@#!$^$!@^@^</a> cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident,
     439                        sunt in culpa qui officia deserunt mollit <a href="http://wordpress-core/?346236346326&amp;2134362574863.437">)(*&^%$</a> anim id est laborum.';
     440               
     441                $urls = _extract_pingable_urls( $blob );
     442               
     443                $this->assertNotEmpty( $urls );
     444                $this->assertInternalType( 'array', $urls );
     445                $this->assertEquals( 6, count( $urls ) );
     446                $this->assertEquals( $original_urls, $urls );
     447        }
    379448}