Ticket #38181: 38181.4.diff
| File 38181.4.diff, 12.0 KB (added by , 9 years ago) |
|---|
-
src/wp-includes/class-oembed.php
108 108 '#https?://www\.facebook\.com/notes/.*#i' => array( 'https://www.facebook.com/plugins/post/oembed.json/', true ), 109 109 '#https?://www\.facebook\.com/.*/videos/.*#i' => array( 'https://www.facebook.com/plugins/video/oembed.json/', true ), 110 110 '#https?://www\.facebook\.com/video\.php.*#i' => array( 'https://www.facebook.com/plugins/video/oembed.json/', true ), 111 '#https?://([a-z0-9-]+\.)?amazon\.(com|com\.mx|com\.br|ca)/.*#i' => array( 'https://read.amazon.com/kp/api/oembed', true ), 112 '#https?://([a-z0-9-]+\.)?amazon\.(co\.uk|de|fr|it|es|in|nl|ru)/.*#i' => array( 'https://read.amazon.co.uk/kp/api/oembed', true ), 113 '#https?://([a-z0-9-]+\.)?amazon\.(co\.jp|com\.au)/.*#i' => array( 'https://read.amazon.com.au/kp/api/oembed', true ), 114 '#https?://([a-z0-9-]+\.)?amazon\.cn/.*#i' => array( 'https://read.amazon.cn/kp/api/oembed', true ), 115 '#https?://(www\.)?a.co/.*#i' => array( 'https://read.amazon.com/kp/api/oembed', true ), 116 '#https?://(www\.)?amz.onl/.*#i' => array( 'https://read.amazon.com/kp/api/oembed', true ), 117 '#https?://(www\.)?amzn.to/.*#i' => array( 'https://read.amazon.com/kp/api/oembed', true ), 118 '#https?://(www\.)?amzn.eu/.*#i' => array( 'https://read.amazon.co.uk/kp/api/oembed', true ), 119 '#https?://(www\.)?amzn.in/.*#i' => array( 'https://read.amazon.in/kp/api/oembed', true ), 120 '#https?://(www\.)?amzn.asia/.*#i' => array( 'https://read.amazon.com.au/kp/api/oembed', true ), 121 '#https?://(www\.)?z.cn/.*#i' => array( 'https://read.amazon.cn/kp/api/oembed', true ), 111 122 ); 112 123 113 124 if ( ! empty( self::$early_providers['add'] ) ) { … … 181 192 * | Twitter | twitter.com/user | Yes | 4.7.0 | 182 193 * | Twitter | twitter.com/likes | Yes | 4.7.0 | 183 194 * | Twitter | twitter.com/lists | Yes | 4.7.0 | 195 * | Amazon Kindle| *.amazon.com | Yes | 4.7.0 | 196 * | Amazon Kindle| *.amazon.co.uk | Yes | 4.7.0 | 197 * | Amazon Kindle| *.amazon.de | Yes | 4.7.0 | 198 * | Amazon Kindle| *.amazon.fr | Yes | 4.7.0 | 199 * | Amazon Kindle| *.amazon.it | Yes | 4.7.0 | 200 * | Amazon Kindle| *.amazon.es | Yes | 4.7.0 | 201 * | Amazon Kindle| *.amazon.co.jp | Yes | 4.7.0 | 202 * | Amazon Kindle| *.amazon.cn | Yes | 4.7.0 | 203 * | Amazon Kindle| *.amazon.com.au | Yes | 4.7.0 | 204 * | Amazon Kindle| *.amazon.in | Yes | 4.7.0 | 205 * | Amazon Kindle| *.amazon.com.mx | Yes | 4.7.0 | 206 * | Amazon Kindle| *.amazon.com.br | Yes | 4.7.0 | 207 * | Amazon Kindle| *.amazon.ca | Yes | 4.7.0 | 208 * | Amazon Kindle| *.amazon.nl | Yes | 4.7.0 | 209 * | Amazon Kindle| *.amazon.ru | Yes | 4.7.0 | 210 * | Amazon Kindle| a.co | Yes | 4.7.0 | 211 * | Amazon Kindle| amzn.onl | Yes | 4.7.0 | 212 * | Amazon Kindle| amzn.to | Yes | 4.7.0 | 213 * | Amazon Kindle| amzn.eu | Yes | 4.7.0 | 214 * | Amazon Kindle| amzn.in | Yes | 4.7.0 | 215 * | Amazon Kindle| amzn.asia | Yes | 4.7.0 | 216 * | Amazon Kindle| z.cn | Yes | 4.7.0 | 184 217 * 185 218 * No longer supported providers: 186 219 * … … 201 234 */ 202 235 $this->providers = apply_filters( 'oembed_providers', $providers ); 203 236 237 204 238 // Fix any embeds that contain new lines in the middle of the HTML which breaks wpautop(). 205 239 add_filter( 'oembed_dataparse', array($this, '_strip_newlines'), 10, 3 ); 206 240 } -
tests/phpunit/tests/external-http/oembed.php
43 43 $out = $wp_embed->autoembed( 'https://www.youtube.com/v/QcIy9NiNbmo' ); 44 44 $this->assertContains( 'https://youtube.com/watch?v=QcIy9NiNbmo', $out ); 45 45 } 46 47 /** 48 * Test Kindle Instant Previews embeds 49 * 50 * @ticket 38181 51 */ 52 function test_amazon_kindle_non_book_embed() { 53 $out = wp_oembed_get( 'http://www.amazon.com/All-New-Kindle-E-reader-Glare-Free-Touchscreen/dp/B00ZV9PXP2/r' ); 54 $this->assertFalse( $out ); 55 56 $out = wp_oembed_get( 'https://www.amazon.com/All-New-Kindle-E-reader-Glare-Free-Touchscreen/dp/B00ZV9PXP2/r' ); 57 $this->assertFalse( $out ); 58 } 59 60 /** 61 * Support for Kindle previews shared from Kindle devices or apps 62 * 63 * @link http://www.amazon.com/bettersharing Kindle Instant Previews sharing homepage 64 * 65 * @ticket 38181 66 */ 67 function test_amazon_kindle_shared_preview_embed() { 68 // book 69 $out = wp_oembed_get( 'https://read.amazon.com/kp/kshare?asin=B008TW1HMG&tag=foo-20' ); 70 $this->assertContains( 'https://read.amazon.com/kp/card?', $out ); 71 $this->assertContains( 'asin=B008TW1HMG', $out ); 72 $this->assertContains( 'tag=foo-20', $out ); 73 74 // quote 75 $out = wp_oembed_get( 'https://read.amazon.com/kp/kshare?asin=B00DPM7TIG&tag=foo-20&id=XD3ezAVVQ3KP0bWxSFvosg' ); 76 $this->assertContains( 'https://read.amazon.com/kp/card?', $out ); 77 $this->assertContains( 'asin=B00DPM7TIG', $out ); 78 $this->assertContains( 'tag=foo-20', $out ); 79 80 // reading progress 81 $out = wp_oembed_get( 'https://read.amazon.com/kp/kshare?asin=B007P7HRS4&id=Sd6UmMYYTc6rHl1BYkXU2g&tag=foo-20' ); 82 $this->assertContains( 'https://read.amazon.com/kp/card?', $out ); 83 $this->assertContains( 'asin=B007P7HRS4', $out ); 84 $this->assertContains( 'tag=foo-20', $out ); 85 } 86 87 /** 88 * Support for Kindle previews created from the self-service embedding tool 89 * 90 * @link http://www.amazon.com/kindleinstantpreview Kindle Instant Previews for third parties 91 * 92 * @ticket 38181 93 */ 94 function test_amazon_kindle_embedded_preview_embed() { 95 // URL 96 $out = wp_oembed_get( 'https://read.amazon.com/kp/embed?asin=B008TW1HMG&tag=foo-20' ); 97 $this->assertContains( 'https://read.amazon.com/kp/card?', $out ); 98 $this->assertContains( 'asin=B008TW1HMG', $out ); 99 $this->assertContains( 'tag=foo-20', $out ); 100 101 // interactive book card 102 $out = wp_oembed_get( 'https://read.amazon.com/kp/card?asin=B008TW1HMG&tag=foo-20&preview=inline' ); 103 $this->assertContains( 'https://read.amazon.com/kp/card?', $out ); 104 $this->assertContains( 'asin=B008TW1HMG', $out ); 105 $this->assertContains( 'tag=foo-20', $out ); 106 } 107 108 /** 109 * Support for Kindle Instant Previews in non-US marketplaces 110 * 111 * @ticket 38181 112 */ 113 function test_amazon_kindle_preview_non_us_embed() { 114 // Americas (canonical TLD: .com) 115 $out = wp_oembed_get( 'https://read.amazon.ca/kp/embed?asin=B008TW1HMG&tag=foo-20&ref_=bar_qux' ); 116 $this->assertContains( 'https://read.amazon.com/kp/card?', $out ); 117 $this->assertContains( 'asin=B008TW1HMG', $out ); 118 $this->assertContains( 'tag=foo-20', $out ); 119 120 // Europe (canonical TLD: .co.uk) 121 $out = wp_oembed_get( 'https://read.amazon.in/kp/embed?asin=B008TW1HMG&tag=foo-20&ref_=bar_qux' ); 122 $this->assertContains( 'https://read.amazon.co.uk/kp/card?', $out ); 123 $this->assertContains( 'asin=B008TW1HMG', $out ); 124 $this->assertContains( 'tag=foo-20', $out ); 125 126 // Asia (canonical TLD: .com.au) 127 $out = wp_oembed_get( 'https://read.amazon.co.jp/kp/embed?asin=B008TW1HMG&tag=foo-20&ref_=bar_qux&preview=inline' ); 128 $this->assertContains( 'https://read.amazon.com.au/kp/card?', $out ); 129 $this->assertContains( 'asin=B008TW1HMG', $out ); 130 $this->assertContains( 'tag=foo-20', $out ); 131 132 // China (canonical TLD: .cn) 133 $out = wp_oembed_get( 'https://read.amazon.cn/kp/embed?asin=B01M06TYLV&tag=foo-20&ref_=bar_qux&preview=inline' ); 134 $this->assertContains( 'https://read.amazon.cn/kp/card?', $out ); 135 $this->assertContains( 'asin=B01M06TYLV', $out ); 136 $this->assertContains( 'tag=foo-20', $out ); 137 } 46 138 } 139 No newline at end of file -
tests/phpunit/tests/oembed.php
56 56 'facebook-notes' => '#https?://www\.facebook\.com/notes/.*#i', 57 57 'facebook-video' => '#https?://www\.facebook\.com/.*/videos/.*#i', 58 58 'facebook-videophp' => '#https?://www\.facebook\.com/video\.php.*#i', 59 'facebook-videophp' => '#https?://www\.facebook\.com/video\.php.*#i', 60 'amazon-na' => '#https?://([a-z0-9-]+\.)?amazon\.(com|com\.mx|com\.br|ca)/.*#i', 61 'amazon-eu' => '#https?://([a-z0-9-]+\.)?amazon\.(co\.uk|de|fr|it|es|in|nl|ru)/.*#i', 62 'amazon-asia' => '#https?://([a-z0-9-]+\.)?amazon\.(co\.jp|com\.au)/.*#i', 63 'amazon-cn' => '#https?://([a-z0-9-]+\.)?amazon\.cn/.*#i', 64 'amazon-a-co' => '#https?://(www\.)?a.co/.*#i', 65 'amazon-amz-onl' => '#https?://(www\.)?amz.onl/.*#i', 66 'amazon-amzn-to' => '#https?://(www\.)?amzn.to/.*#i', 67 'amazon-amzn-eu' => '#https?://(www\.)?amzn.eu/.*#i', 68 'amazon-amzn-in' => '#https?://(www\.)?amzn.in/.*#i', 69 'amazon-amzn-asia' => '#https?://(www\.)?amzn.asia/.*#i', 70 'amazon-z-cn' => '#https?://(www\.)?z.cn/.*#i', 59 71 ); 60 72 61 73 /** … … 801 813 'https://www.facebook.com/video.php?v=317622575398', 802 814 ), 803 815 ), 816 array( 817 $providers['amazon-na'], 818 array( 819 'https://read.amazon.com/kp/kshare?asin=B008TW1HMG&tag=foo-20', 820 'https://read.amazon.com/kp/kshare?asin=B00DPM7TIG&tag=foo-20&id=XD3ezAVVQ3KP0bWxSFvosg', 821 'https://read.amazon.com/kp/embed?asin=B008TW1HMG&tag=foo-20', 822 'https://read.amazon.com/kp/card?asin=B008TW1HMG&tag=foo-20&preview=inline', 823 'https://www.amazon.com/dp/B008TW1HMG', 824 'https://smile.amazon.com/dp/B008TW1HMG', 825 ), 826 ), 827 array( 828 $providers['amazon-eu'], 829 array( 830 'https://read.amazon.co.uk/kp/embed?asin=B008TW1HMG&tag=foo-20&ref_=bar_qux', 831 'https://lire.amazon.fr/kp/embed?asin=B008TW1HMG&tag=foo-20&ref_=bar_qux', 832 'https://www.amazon.fr/dp/B008TW1HMG', 833 ), 834 ), 835 array( 836 $providers['amazon-asia'], 837 array( 838 'https://read.amazon.com.au/kp/embed?asin=B008TW1HMG&tag=foo-20&ref_=bar_qux', 839 'https://read.amazon.co.jp/kp/embed?asin=B008TW1HMG&tag=foo-20&ref_=bar_qux', 840 'https://www.amazon.com.au/dp/B008TW1HMG', 841 ), 842 ), 843 array( 844 $providers['amazon-cn'], 845 array( 846 'https://read.amazon.cn/kp/embed?asin=B01M06TYLV&tag=foo-20&ref_=bar_qux', 847 'https://www.amazon.cn.au/dp/B01M06TYLV', 848 ), 849 ), 850 array( 851 $providers['amazon-a-co'], 852 array( 853 'https://a.co/2dyHj3O', 854 ), 855 ), 856 array( 857 $providers['amazon-amz-onl'], 858 array( 859 'https://read.amazon.com/kp/embed?asin=B008TW1HMG&tag=foo-20&ref_=bar_qux', 860 ), 861 ), 862 array( 863 $providers['amazon-amzn-to'], 864 array( 865 'http://amzn.to/2dyHj3O', 866 ), 867 ), 868 array( 869 $providers['amazon-amzn-eu'], 870 array( 871 'http://amzn.eu/4J2OlYl', 872 ), 873 ), 874 array( 875 $providers['amazon-amzn-in'], 876 array( 877 'http://amzn.in/a6Xi0h0', 878 ), 879 ), 880 array( 881 $providers['amazon-amzn-asia'], 882 array( 883 'http://amzn.asia/b6z94pa', 884 ), 885 ), 886 array( 887 $providers['amazon-z-cn'], 888 array( 889 'http://z.cn/85oPeSf', 890 ), 891 ), 804 892 ); 805 893 } 806 894