| 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">&3640i6p1yi499</a> enim ad minim veniam, quis nostrud exercitation ullamco |
| 436 | laboris nisi ut aliquip ex <a href="http://www111.urwyeoweytwutreyytqytwetowteuiiu.com/?346236346326&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&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 | } |