WordPress.org

Make WordPress Core

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

File test-extract-pingable-urls.diff, 3.6 KB (added by wonderboymusic, 19 months 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}