3 * Copyright © 2013 Alexandre Emsenhuber
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License along
16 * with this program; if not, write to the Free Software Foundation, Inc.,
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18 * http://www.gnu.org/copyleft/gpl.html
24 * @covers ::wfParseUrl
26 class WfParseUrlTest
extends MediaWikiTestCase
{
27 protected function setUp() {
30 $this->setMwGlobals( 'wgUrlProtocols', array(
40 * @dataProvider provideURLs
42 public function testWfParseUrl( $url, $parts ) {
50 * Provider of URLs for testing wfParseUrl()
54 public static function provideURLs() {
61 'host' => 'example.org',
69 'host' => 'example.org',
73 'https://example.org',
77 'host' => 'example.org',
81 'http://id:key@example.org:123/path?foo=bar#baz',
87 'host' => 'example.org',
95 'file://example.org/etc/php.ini',
99 'host' => 'example.org',
100 'path' => '/etc/php.ini',
104 'file:///etc/php.ini',
107 'delimiter' => '://',
109 'path' => '/etc/php.ini',
116 'delimiter' => '://',
122 'mailto:id@example.org',
124 'scheme' => 'mailto',
126 'host' => 'id@example.org',
131 'mailto:id@example.org?subject=Foo',
133 'scheme' => 'mailto',
135 'host' => 'id@example.org',
137 'query' => 'subject=Foo',
141 'mailto:?subject=Foo',
143 'scheme' => 'mailto',
147 'query' => 'subject=Foo',