Changeset 41069 for branches/4.8/tests/phpunit/tests/formatting/Emoji.php
- Timestamp:
- 07/18/2017 03:47:29 AM (8 years ago)
- Location:
- branches/4.8
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/4.8
- Property svn:mergeinfo changed
/trunk merged: 41043,41045-41046
- Property svn:mergeinfo changed
-
branches/4.8/tests/phpunit/tests/formatting/Emoji.php
r40837 r41069 3 3 /** 4 4 * @group formatting 5 * @group emoji 5 6 */ 6 7 class Tests_Formatting_Emoji extends WP_UnitTestCase { 8 9 private $png_cdn = 'https://s.w.org/images/core/emoji/2.3/72x72/'; 10 private $svn_cdn = 'https://s.w.org/images/core/emoji/2.3/svg/'; 11 7 12 /** 8 13 * @ticket 36525 9 14 */ 10 15 public function test_unfiltered_emoji_cdns() { 11 $png_cdn = 'https://s.w.org/images/core/emoji/2.3/72x72/';12 $svn_cdn = 'https://s.w.org/images/core/emoji/2.3/svg/';13 14 16 $output = get_echo( '_print_emoji_detection_script' ); 15 17 16 $this->assertContains( wp_json_encode( $ png_cdn ), $output );17 $this->assertContains( wp_json_encode( $ svn_cdn ), $output );18 $this->assertContains( wp_json_encode( $this->png_cdn ), $output ); 19 $this->assertContains( wp_json_encode( $this->svn_cdn ), $output ); 18 20 } 19 21 … … 26 28 */ 27 29 public function test_filtered_emoji_svn_cdn() { 28 $png_cdn = 'https://s.w.org/images/core/emoji/2.3/72x72/';29 $svn_cdn = 'https://s.w.org/images/core/emoji/2.3/svg/';30 31 30 $filtered_svn_cdn = $this->_filtered_emoji_svn_cdn(); 32 31 … … 35 34 $output = get_echo( '_print_emoji_detection_script' ); 36 35 37 $this->assertContains( wp_json_encode( $ png_cdn ), $output );38 $this->assertNotContains( wp_json_encode( $ svn_cdn ), $output );36 $this->assertContains( wp_json_encode( $this->png_cdn ), $output ); 37 $this->assertNotContains( wp_json_encode( $this->svn_cdn ), $output ); 39 38 $this->assertContains( wp_json_encode( $filtered_svn_cdn ), $output ); 40 39 … … 50 49 */ 51 50 public function test_filtered_emoji_png_cdn() { 52 $png_cdn = 'https://s.w.org/images/core/emoji/2.3/72x72/';53 $svn_cdn = 'https://s.w.org/images/core/emoji/2.3/svg/';54 55 51 $filtered_png_cdn = $this->_filtered_emoji_png_cdn(); 56 52 … … 60 56 61 57 $this->assertContains( wp_json_encode( $filtered_png_cdn ), $output ); 62 $this->assertNotContains( wp_json_encode( $ png_cdn ), $output );63 $this->assertContains( wp_json_encode( $ svn_cdn ), $output );58 $this->assertNotContains( wp_json_encode( $this->png_cdn ), $output ); 59 $this->assertContains( wp_json_encode( $this->svn_cdn ), $output ); 64 60 65 61 remove_filter( 'emoji_url', array( $this, '_filtered_emoji_png_cdn' ) ); 66 62 } 67 63 64 /** 65 * @ticket 35293 66 */ 67 public function test_wp_emoji_regex_returns_regexen() { 68 $default = wp_emoji_regex(); 69 $this->assertNotEmpty( $default ); 70 71 $codepoints = wp_emoji_regex( 'codepoints' ); 72 $this->assertNotEmpty( $codepoints ); 73 74 $this->assertSame( $default, $codepoints ); 75 76 $entities = wp_emoji_regex( 'entities' ); 77 $this->assertNotEmpty( $entities ); 78 79 $this->assertNotSame( $default, $entities ); 80 } 81 82 public function data_wp_encode_emoji() { 83 return array( 84 array( 85 // Not emoji 86 '’', 87 '’', 88 ), 89 array( 90 // Simple emoji 91 '🙂', 92 '🙂', 93 ), 94 array( 95 // Skin tone, gender, ZWJ, emoji selector 96 '👮🏼♀️', 97 '👮🏼‍♀️', 98 ), 99 array( 100 // Unicode 10 101 '🧚', 102 '🧚', 103 ), 104 ); 105 } 106 107 /** 108 * @ticket 35293 109 * @dataProvider data_wp_encode_emoji 110 */ 111 public function test_wp_encode_emoji( $emoji, $expected ) { 112 $this->assertSame( $expected, wp_encode_emoji( $emoji ) ); 113 } 114 115 public function data_wp_staticize_emoji() { 116 $data = array( 117 array( 118 // Not emoji 119 '’', 120 '’', 121 ), 122 array( 123 // Simple emoji 124 '🙂', 125 '<img src="' . $this->png_cdn . '1f642.png" alt="" class="wp-smiley" style="height: 1em; max-height: 1em;" />', 126 ), 127 array( 128 // Skin tone, gender, ZWJ, emoji selector 129 '👮🏼♀️', 130 '<img src="' . $this->png_cdn . '1f46e-1f3fc-200d-2640-fe0f.png" alt="" class="wp-smiley" style="height: 1em; max-height: 1em;" />', 131 ), 132 array( 133 // Unicode 10 134 '🧚', 135 '<img src="' . $this->png_cdn . '1f9da.png" alt="" class="wp-smiley" style="height: 1em; max-height: 1em;" />', 136 ), 137 ); 138 139 // Older versions of PHP don't html_entity_decode() emoji, so we need to make sure they're testing in the expected form. 140 foreach ( $data as $key => $datum ) { 141 $emoji = html_entity_decode( wp_encode_emoji( $datum[0] ) ); 142 $data[ $key ][1] = str_replace( 'alt=""', 'alt="' . $emoji . '"', $datum[1] ); 143 } 144 145 return $data; 146 } 147 148 /** 149 * @ticket 35293 150 * @dataProvider data_wp_staticize_emoji 151 */ 152 public function test_wp_staticize_emoji( $emoji, $expected ) { 153 $this->assertSame( $expected, wp_staticize_emoji( $emoji ) ); 154 } 68 155 }
Note: See TracChangeset
for help on using the changeset viewer.