Skip to content

Commit d3dd4ad

Browse files
author
Martin Brecht-Precht
committed
Added unit tests.
1 parent 49f8bc2 commit d3dd4ad

File tree

1 file changed

+62
-0
lines changed

1 file changed

+62
-0
lines changed

Diff for: test/UrlTest.php

+62
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
<?php
2+
3+
namespace Markenwerk\UrlUtil;
4+
5+
/**
6+
* Class UrlTest
7+
*
8+
* @package Markenwerk\UrlUtil
9+
*/
10+
class UrlTest extends \PHPUnit_Framework_TestCase
11+
{
12+
13+
public function testParser()
14+
{
15+
$url = new Url('https://john:[email protected]:8443/path/to/resource?arg1=123&arg2=test#fragment');
16+
17+
$scheme = $url->getScheme();
18+
fwrite(STDOUT, 'Scheme "' . $scheme . '"' . PHP_EOL);
19+
20+
$hostname = $url->getHostname();
21+
fwrite(STDOUT, 'Hostname "' . $hostname . '"' . PHP_EOL);
22+
23+
$port = $url->getPort();
24+
fwrite(STDOUT, 'Port "' . (string)$port . '"' . PHP_EOL);
25+
26+
$username = $url->getUsername();
27+
fwrite(STDOUT, 'Username "' . $username . '"' . PHP_EOL);
28+
29+
$password = $url->getPassword();
30+
fwrite(STDOUT, 'Password "' . $password . '"' . PHP_EOL);
31+
32+
$path = $url->getPath();
33+
fwrite(STDOUT, 'Path "' . $path . '"' . PHP_EOL);
34+
35+
$queryParameters = $url->getQueryParameters();
36+
foreach ($queryParameters as $queryParameter) {
37+
fwrite(STDOUT, 'Query parameter "' . $queryParameter->getKey() . '" is "' . $queryParameter->getValue() . '"' . PHP_EOL);
38+
}
39+
40+
$fragment = $url->getFragment();
41+
fwrite(STDOUT, 'Fragment "' . $fragment . '"' . PHP_EOL);
42+
43+
$url
44+
->setScheme('http')
45+
->setHostname('yourdomain.com')
46+
->setPort(8080)
47+
->setUsername('doe')
48+
->setPassword('supersecret')
49+
->setPath('path/to/another/resource')
50+
->removeQueryParameterByKey('arg2')
51+
->addQueryParameter(new QueryParameter('arg1', '456'))
52+
->addQueryParameter(new QueryParameter('arg3', 'test'))
53+
->setFragment('target');
54+
55+
fwrite(STDOUT, 'URL "' . $url->buildUrl() . '"' . PHP_EOL);
56+
57+
$expected = 'http://doe:[email protected]:8080/path/to/another/resource?arg1=456&arg3=test#target';
58+
$this->assertEquals($expected, $url->buildUrl());
59+
60+
}
61+
62+
}

0 commit comments

Comments
 (0)