PluginProbe ʕ •ᴥ•ʔ
EmbedPress – PDF Embedder, 3D PDF FlipBook, Google Reviews, YouTube Videos, Upload & Embed PDF documents / 2.7.2
EmbedPress – PDF Embedder, 3D PDF FlipBook, Google Reviews, YouTube Videos, Upload & Embed PDF documents v2.7.2
4.6.1 4.6.0 4.5.6 4.5.5 4.5.4 4.5.3 4.5.2 trunk 1.0.0 1.1.0 1.1.1 1.1.2 1.1.3 1.2.0 1.3.0 1.3.1 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 1.5.0 1.6.0 1.6.1 1.6.2 1.6.3 1.7.0 1.7.1 1.7.2 1.7.3 1.7.4 1.7.5 2.0.0 2.0.1 2.0.2 2.0.3 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.2.0 2.2.1 2.2.2 2.3.0 2.3.1 2.3.2 2.3.3 2.4.0 2.4.1 2.5.0 2.5.1 2.5.2 2.5.3 2.5.4 2.5.5 2.6.0 2.6.1 2.6.2 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 2.7.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.1.3 3.2.0 3.2.1 3.3.0 3.3.1 3.3.2 3.3.3 3.3.4 3.3.5 3.3.6 3.3.7 3.4.0 3.4.1 3.4.2 3.4.3 3.5.0 3.5.1 3.5.2 3.5.3 3.6.0 3.6.1 3.6.2 3.6.3 3.6.4 3.6.5 3.6.6 3.6.7 3.6.8 3.7.0 3.7.1 3.7.2 3.7.3 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.9.0 3.9.1 3.9.10 3.9.11 3.9.12 3.9.13 3.9.14 3.9.15 3.9.16 3.9.17 3.9.2 3.9.3 3.9.4 3.9.5 3.9.6 3.9.7 3.9.8 3.9.9 4.0.0 4.0.1 4.0.10 4.0.11 4.0.12 4.0.13 4.0.14 4.0.2 4.0.3 4.0.4 4.0.5 4.0.6 4.0.7 4.0.8 4.0.9 4.1.0 4.1.1 4.1.10 4.1.2 4.1.3 4.1.4 4.1.5 4.1.6 4.1.7 4.1.8 4.1.9 4.2.0 4.2.1 4.2.2 4.2.3 4.2.4 4.2.5 4.2.6 4.2.7 4.2.8 4.2.9 4.3.0 4.3.1 4.4.0 4.4.1 4.4.10 4.4.11 4.4.2 4.4.3 4.4.4 4.4.5 4.4.6 4.4.7 4.4.8 4.4.9 4.5.0 4.5.1
embedpress / vendor / wpdevelopers / embera / tests / Embera / ProviderCollection / DefaultProviderCollectionTest.php
embedpress / vendor / wpdevelopers / embera / tests / Embera / ProviderCollection Last commit date
CustomProviderCollectionTest.php 5 years ago DefaultProviderCollectionTest.php 5 years ago SlimProviderCollectionTest.php 5 years ago
DefaultProviderCollectionTest.php
125 lines
1 <?php
2 /**
3 * DefaultProviderCollectionTest.php
4 *
5 * @package Embera
6 * @author Michael Pratt <yo@michael-pratt.com>
7 * @link http://www.michael-pratt.com/
8 *
9 * For the full copyright and license information, please view the LICENSE
10 * file that was distributed with this source code.
11 */
12
13 namespace Embera\ProviderCollection;
14
15 use PHPUnit\Framework\TestCase;
16 use Embera\Embera;
17
18 final class DefaultProviderCollectionTest extends TestCase
19 {
20 protected $urls = [
21 'http://www.youtube.com/watch?v=WtPiGYsllos&index=1',
22 'https://m.youtube.com/watch?v=mghhLqu31cQ',
23 'https://host.com/invalid/url'
24 ];
25
26 protected $config = [
27 'https_only' => false,
28 'fake_responses' => Embera::ALLOW_FAKE_RESPONSES,
29 'maxwidth' => 430,
30 'maxheight' => 270,
31 ];
32
33 public function testCanFindProviders()
34 {
35 $collection = new DefaultProviderCollection($this->config);
36 $providers = $collection->findProviders($this->urls);
37
38 foreach ($providers as $p) {
39 $this->assertContains($p->getProviderName(), [ 'Youtube']);
40 }
41 }
42
43 public function testCanFindProvidersWithHttpsSupport()
44 {
45 $collection = new DefaultProviderCollection(array_merge($this->config, ['https_only' => true]));
46 $providers = $collection->findProviders($this->urls);
47 foreach ($providers as $p) {
48 $this->assertTrue($p->hasHttpsSupport());
49 }
50 }
51
52 public function testUnsupportedUrlsResponse()
53 {
54 $collection = new DefaultProviderCollection($this->config);
55 $providers = $collection->findProviders([
56 'https://host.com/unsupported/host/url',
57 'https://oembed.com/#section1',
58 'https://www.youtube.com/feed/subscriptions',
59 ]);
60
61 $this->assertEmpty($providers);
62 }
63
64 public function testCanFilterByProviderName()
65 {
66 $collection = new DefaultProviderCollection($this->config);
67 $newCollection = $collection->filter('Youtube');
68
69 $providers = $newCollection->findProviders($this->urls);
70
71 foreach ($providers as $p) {
72 $this->assertEquals($p->getProviderName(), 'Youtube');
73 }
74 }
75
76 public function testCanFilterByClosure()
77 {
78 $collection = new DefaultProviderCollection($this->config);
79 $newCollection = $collection->filter(static function ($elem) {
80 return (in_array($elem, ['Youtube', 'Vimeo']));
81 });
82
83 $providers = $newCollection->findProviders($this->urls);
84
85 foreach ($providers as $p) {
86 $this->assertContains($p->getProviderName(), ['Youtube', 'Vimeo']);
87 }
88 }
89
90 public function testCanReadInputWithoutUrls()
91 {
92 $collection = new DefaultProviderCollection($this->config);
93 $providers = $collection->findProviders('This is a text without urls.');
94 $this->assertEmpty($providers);
95 }
96
97 public function testCanDetectUrlsInString()
98 {
99 $collection = new DefaultProviderCollection($this->config);
100 $providers = $collection->findProviders(implode(' <br> ', $this->urls));
101 $this->assertTrue(count($providers) > 0);
102 }
103
104 public function testCanAddNewProviders()
105 {
106 $collection = new DefaultProviderCollection($this->config);
107
108 // Remove all Providers
109 $collection = $collection->filter(static function ($elem) {
110 return false;
111 });
112
113 $providers = $collection->findProviders($this->urls);
114 $this->assertCount(0, $providers);
115
116 // Add Only Youtube
117 $collection->addProvider('youtube.com', 'Embera\Provider\Youtube');
118 $providers = $collection->findProviders($this->urls);
119 $this->assertTrue(count($providers) > 0);
120 foreach ($providers as $p) {
121 $this->assertEquals($p->getProviderName(), 'Youtube');
122 }
123 }
124 }
125