MediaWiki REL1_31
wfAssembleUrlTest.php
Go to the documentation of this file.
1<?php
10 public function testWfAssembleUrl( $parts, $output ) {
11 $partsDump = print_r( $parts, true );
12 $this->assertEquals(
13 $output,
14 wfAssembleUrl( $parts ),
15 "Testing $partsDump assembles to $output"
16 );
17 }
18
24 public static function provideURLParts() {
25 $schemes = [
26 '' => [],
27 '//' => [
28 'delimiter' => '//',
29 ],
30 'http://' => [
31 'scheme' => 'http',
32 'delimiter' => '://',
33 ],
34 ];
35
36 $hosts = [
37 '' => [],
38 'example.com' => [
39 'host' => 'example.com',
40 ],
41 'example.com:123' => [
42 'host' => 'example.com',
43 'port' => 123,
44 ],
45 'id@example.com' => [
46 'user' => 'id',
47 'host' => 'example.com',
48 ],
49 'id@example.com:123' => [
50 'user' => 'id',
51 'host' => 'example.com',
52 'port' => 123,
53 ],
54 'id:key@example.com' => [
55 'user' => 'id',
56 'pass' => 'key',
57 'host' => 'example.com',
58 ],
59 'id:key@example.com:123' => [
60 'user' => 'id',
61 'pass' => 'key',
62 'host' => 'example.com',
63 'port' => 123,
64 ],
65 ];
66
67 $cases = [];
68 foreach ( $schemes as $scheme => $schemeParts ) {
69 foreach ( $hosts as $host => $hostParts ) {
70 foreach ( [ '', '/path' ] as $path ) {
71 foreach ( [ '', 'query' ] as $query ) {
72 foreach ( [ '', 'fragment' ] as $fragment ) {
73 $parts = array_merge(
74 $schemeParts,
75 $hostParts
76 );
77 $url = $scheme .
78 $host .
79 $path;
80
81 if ( $path ) {
82 $parts['path'] = $path;
83 }
84 if ( $query ) {
85 $parts['query'] = $query;
86 $url .= '?' . $query;
87 }
88 if ( $fragment ) {
89 $parts['fragment'] = $fragment;
90 $url .= '#' . $fragment;
91 }
92
93 $cases[] = [
94 $parts,
95 $url,
96 ];
97 }
98 }
99 }
100 }
101 }
102
103 $complexURL = 'http://id:key@example.org:321' .
104 '/over/there?name=ferret&foo=bar#nose';
105 $cases[] = [
106 wfParseUrl( $complexURL ),
107 $complexURL,
108 ];
109
110 return $cases;
111 }
112}
wfParseUrl( $url)
parse_url() work-alike, but non-broken.
wfAssembleUrl( $urlParts)
This function will reassemble a URL parsed with wfParseURL.
GlobalFunctions wfAssembleUrl.
testWfAssembleUrl( $parts, $output)
provideURLParts
static provideURLParts()
Provider of URL parts for testing wfAssembleUrl()
static configuration should be added through ResourceLoaderGetConfigVars instead can be used to get the real title after the basic globals have been set but before ordinary actions take place $output
Definition hooks.txt:2255
null for the local wiki Added should default to null in handler for backwards compatibility add a value to it if you want to add a cookie that have to vary cache options can modify $query
Definition hooks.txt:1620