PluginProbe ʕ •ᴥ•ʔ
Brevo – Email, SMS, Web Push, Chat, and more. / trunk
Brevo – Email, SMS, Web Push, Chat, and more. vtrunk
2.9.13 2.9.14 2.9.15 2.9.16 2.9.17 2.9.18 2.9.4 2.9.5 2.9.6 2.9.7 2.9.8 2.9.9 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.9 3.1.0 3.1.1 3.1.10 3.1.11 3.1.12 3.1.13 3.1.14 3.1.15 3.1.16 3.1.2 3.1.20 3.1.21 3.1.22 3.1.23 3.1.24 3.1.25 3.1.26 3.1.27 3.1.28 3.1.29 3.1.3 3.1.30 3.1.31 3.1.32 3.1.33 3.1.34 3.1.35 3.1.36 3.1.37 3.1.38 3.1.39 3.1.4 3.1.40 3.1.41 3.1.42 3.1.43 3.1.44 3.1.45 3.1.46 3.1.47 3.1.48 3.1.49 3.1.5 3.1.50 3.1.51 3.1.52 3.1.53 3.1.54 3.1.55 3.1.56 3.1.57 3.1.58 3.1.59 3.1.6 3.1.60 3.1.61 3.1.62 3.1.63 3.1.64 3.1.65 3.1.66 3.1.67 3.1.68 3.1.69 3.1.7 3.1.70 3.1.71 3.1.72 3.1.73 3.1.74 3.1.75 3.1.76 3.1.77 3.1.78 3.1.79 3.1.8 3.1.80 3.1.81 3.1.82 3.1.83 3.1.84 3.1.85 3.1.86 3.1.87 3.1.88 3.1.89 3.1.9 3.1.90 3.1.91 3.1.92 3.1.93 3.1.94 3.1.95 3.1.96 3.1.97 3.1.98 3.2.0 3.2.1 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.2.7 3.2.8 3.2.9 3.3.0 3.3.1 3.3.2 3.3.3 3.3.4 3.3.5 trunk 1.0 1.5 2.0.8 2.9.10 2.9.11 2.9.12
mailin / wonderpush-php-lib / tests / Util / UrlUtilTest.php
mailin / wonderpush-php-lib / tests / Util Last commit date
ArrayUtilTest.php 1 year ago StringUtilTest.php 1 year ago TimeUnitTest.php 1 year ago TimeUtilTest.php 1 year ago TimeValueTest.php 1 year ago UrlUtilTest.php 1 year ago
UrlUtilTest.php
64 lines
1 <?php
2
3 namespace WonderPush\Util;
4
5 class UrlUtilTest extends \WonderPush\TestCase {
6
7 public function testParseQueryStringEmpty() {
8 $this->assertEquals(array(), UrlUtil::parseQueryString(null));
9 $this->assertEquals(array(), UrlUtil::parseQueryString(array()));
10 $this->assertEquals(array(), UrlUtil::parseQueryString(''));
11
12 $this->assertNotEquals(array(), UrlUtil::parseQueryString('='));
13 }
14
15 public function testParseQueryStringArray() {
16 $this->assertEquals(array(), UrlUtil::parseQueryString(array()));
17 $this->assertEquals(array(0), UrlUtil::parseQueryString(array(0)));
18 $this->assertEquals(array('foo' => 'bar'), UrlUtil::parseQueryString(array('foo' => 'bar')));
19 }
20
21 public function testParseQueryString() {
22 $this->assertEquals(array('a' => 'A'), UrlUtil::parseQueryString('a=A'));
23 $this->assertEquals(array('a' => 'A', 'b' => 'B'), UrlUtil::parseQueryString('a=A&b=B'));
24 }
25
26 public function testParseQueryStringEncoding() {
27 $this->assertEquals(array('equal' => '='), UrlUtil::parseQueryString('equal=%3D'));
28 $this->assertEquals(array('space' => ' '), UrlUtil::parseQueryString('space=+'));
29 $this->assertEquals(array('space' => ' '), UrlUtil::parseQueryString('space=%20'));
30 $this->assertEquals(array('unencoded' => 'a=b'), UrlUtil::parseQueryString('unencoded=a=b'));
31 $this->assertEquals(array('wicked=key&a=b' => 'wicked=value&c=d'), UrlUtil::parseQueryString('wicked%3Dkey%26a%3Db=wicked%3Dvalue%26c%3Dd'));
32 }
33
34 public function testReplaceQueryStringInUrlWithNullOrEmptyArray() {
35 $this->assertEquals('foo//bar', UrlUtil::replaceQueryStringInUrl('foo//bar', null));
36 $this->assertEquals('foo//bar', UrlUtil::replaceQueryStringInUrl('foo//bar', array()));
37 $this->assertEquals('foo//bar', UrlUtil::replaceQueryStringInUrl('foo//bar?', null));
38 $this->assertEquals('foo//bar', UrlUtil::replaceQueryStringInUrl('foo//bar?', array()));
39 $this->assertEquals('foo//bar', UrlUtil::replaceQueryStringInUrl('foo//bar?a=b', null));
40 $this->assertEquals('foo//bar', UrlUtil::replaceQueryStringInUrl('foo//bar?a=b', array()));
41 $this->assertEquals('foo//bar', UrlUtil::replaceQueryStringInUrl('foo//bar?a=b&c=d', null));
42 $this->assertEquals('foo//bar', UrlUtil::replaceQueryStringInUrl('foo//bar?a=b&c=d', array()));
43 }
44
45 public function testReplaceQueryStringInUrl() {
46 $this->assertEquals('foo//bar?a=A&b=B', UrlUtil::replaceQueryStringInUrl('foo//bar', array('a' => 'A', 'b' => 'B')));
47 $this->assertEquals('foo//bar?a=A&b=B', UrlUtil::replaceQueryStringInUrl('foo//bar?', array('a' => 'A', 'b' => 'B')));
48 $this->assertEquals('foo//bar?a=A&b=B', UrlUtil::replaceQueryStringInUrl('foo//bar?a=b', array('a' => 'A', 'b' => 'B')));
49 $this->assertEquals('foo//bar?a=A&b=B', UrlUtil::replaceQueryStringInUrl('foo//bar?a=b&c=d', array('a' => 'A', 'b' => 'B')));
50 $this->assertEquals('https://host.ext/some/path?a=A&b=B', UrlUtil::replaceQueryStringInUrl('https://host.ext/some/path', array('a' => 'A', 'b' => 'B')));
51 }
52
53 public function testReplaceQueryStringInUrlEncoding() {
54 $this->assertEquals('foo//bar?equal=%3D', UrlUtil::replaceQueryStringInUrl('foo//bar', array('equal' => '=')));
55 if (defined('PHP_QUERY_RFC3986')) {
56 $this->assertEquals('foo//bar?space=%20', UrlUtil::replaceQueryStringInUrl('foo//bar', array('space' => ' ')));
57 } else {
58 $this->assertEquals('foo//bar?space=+', UrlUtil::replaceQueryStringInUrl('foo//bar', array('space' => ' ')));
59 }
60 $this->assertEquals('foo//bar?wicked%3Dkey%26a%3Db=wicked%3Dvalue%26c%3Dd', UrlUtil::replaceQueryStringInUrl('foo//bar', array('wicked=key&a=b' => 'wicked=value&c=d')));
61 }
62
63 }
64