Changeset 60698 for trunk/tests/phpunit/tests/pluggable/wpMail.php
- Timestamp:
- 09/01/2025 04:02:25 AM (3 months ago)
- File:
-
- 1 edited
-
trunk/tests/phpunit/tests/pluggable/wpMail.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/tests/phpunit/tests/pluggable/wpMail.php
r58097 r60698 555 555 $this->assertNotSame( 'user1', $phpmailer->AltBody ); 556 556 } 557 558 /** 559 * Test that wp_mail() can send embedded images. 560 * 561 * @ticket 28059 562 * @covers ::wp_mail 563 */ 564 public function test_wp_mail_can_send_embedded_images() { 565 $embeds = array( 566 'canola' => DIR_TESTDATA . '/images/canola.jpg', 567 DIR_TESTDATA . '/images/test-image-2.gif', 568 DIR_TESTDATA . '/images/avif-lossy.avif', 569 ); 570 571 $message = ''; 572 foreach ( $embeds as $key => $path ) { 573 $message .= '<p><img src="cid:' . $key . '" alt="" /></p>'; 574 } 575 576 wp_mail( 577 'user@example.org', 578 'Embedded images test', 579 $message, 580 'Content-Type: text/html', 581 array(), 582 $embeds 583 ); 584 585 $mailer = tests_retrieve_phpmailer_instance(); 586 $attachments = $mailer->getAttachments(); 587 588 foreach ( $attachments as $attachment ) { 589 $inline_embed_exists = in_array( $attachment[0], $embeds, true ) && 'inline' === $attachment[6]; 590 $this->assertTrue( $inline_embed_exists, 'The attachment ' . $attachment[2] . ' is not inline in the embeds array.' ); 591 } 592 foreach ( $embeds as $key => $path ) { 593 $this->assertStringContainsString( 'cid:' . $key, $mailer->get_sent()->body, 'The cid ' . $key . ' is not referenced in the mail body.' ); 594 } 595 } 596 /** 597 * Test that wp_mail() can send embedded images as a multiple line string. 598 * 599 * @ticket 28059 600 * @covers ::wp_mail 601 */ 602 public function test_wp_mail_string_embeds() { 603 $embeds = DIR_TESTDATA . '/images/canola.jpg' . "\n"; 604 $embeds .= DIR_TESTDATA . '/images/test-image-2.gif'; 605 606 $message = '<p><img src="cid:0" alt="" /></p><p><img src="cid:1" alt="" /></p>'; 607 608 wp_mail( 609 'user@example.org', 610 'Embedded images test', 611 $message, 612 'Content-Type: text/html', 613 array(), 614 $embeds 615 ); 616 617 $embeds_array = explode( "\n", $embeds ); 618 $mailer = tests_retrieve_phpmailer_instance(); 619 $attachments = $mailer->getAttachments(); 620 621 foreach ( $attachments as $attachment ) { 622 $inline_embed_exists = in_array( $attachment[0], $embeds_array, true ) && 'inline' === $attachment[6]; 623 $this->assertTrue( $inline_embed_exists, 'The attachment ' . $attachment[2] . ' is not inline in the embeds array.' ); 624 } 625 foreach ( $embeds_array as $key => $path ) { 626 $this->assertStringContainsString( 'cid:' . $key, $mailer->get_sent()->body, 'The cid ' . $key . ' is not referenced in the mail body.' ); 627 } 628 } 557 629 }
Note: See TracChangeset
for help on using the changeset viewer.