<?php 
 
/** 
 * Unit test for Phata\Widgetfy\Utils\URL 
 * 
 * Licence: 
 * 
 * This file is part of Widgetfy. 
 * 
 * Widgetfy is free software: you can redistribute 
 * it and/or modify it under the terms of the GNU 
 * Lesser General Public License as published by the 
 * Free Software Foundation, either version 3 of the 
 * License, or (at your option) any later version. 
 * 
 * Widgetfy is distributed in the hope that it will 
 * be useful, but WITHOUT ANY WARRANTY; without even 
 * the implied warranty of MERCHANTABILITY or FITNESS 
 * FOR A PARTICULAR PURPOSE.  See the GNU Lesser 
 * General Public Licensefor more details. 
 * 
 * You should have received a copy of the GNU Lesser 
 * General Public License along with Widgetfy.  If 
 * not, see <http://www.gnu.org/licenses/lgpl.html>. 
 * 
 * Description: 
 * 
 * This file is a unit test for 
 * - Phata\Widgetfy\Utils\URL 
 * 
 * @package   Widgetfy 
 * @author    Koala Yeung <koalay@gmail.com> 
 * @copyright 2014 Koala Yeung 
 * @licence   http://www.gnu.org/licenses/lgpl.html 
 * @link      http://github.com/Phata/Widgetfy 
 */ 
 
use Phata\Widgetfy\Utils\URL as URL; 
use PHPUnit\Framework\TestCase; 
 
class URLTest extends TestCase { 
 
    // basic, full test 
    public function testURL1() { 
        $url = 'http://user1:pass1@foobar.com:1024/some/path?query=string#hash'; 
        $parsed = parse_url($url); 
        $result = URL::build($parsed); 
        $this->assertEquals($url, $result); 
    } 
 
    // simple url with query and hash 
    public function testURL2() { 
        $url = 'http://foobar.com/some/path?query=string#hash'; 
        $parsed = parse_url($url); 
        $result = URL::build($parsed); 
        $this->assertEquals($url, $result); 
    } 
 
    // simple url 
    public function testURL3() { 
        $url = 'http://foobar.com/some/path'; 
        $parsed = parse_url($url); 
        $result = URL::build($parsed); 
        $this->assertEquals($url, $result); 
    } 
 
    // url without scheme 
    public function testURL4() { 
        $url = '//foobar.com/some/path'; 
        $parsed = parse_url($url); 
        $result = URL::build($parsed); 
        $this->assertEquals($url, $result); 
    } 
 
    // path only 
    public function testURL5() { 
        $url = '/some/path?query=value#somehash'; 
        $parsed = parse_url($url); 
        $result = URL::build($parsed); 
        $this->assertEquals($url, $result); 
    } 
 
    // partial path only 
    public function testURL6() { 
        $url = 'some/path?query=value#somehash'; 
        $parsed = parse_url($url); 
        $result = URL::build($parsed); 
        $this->assertEquals($url, $result); 
    } 
 
    // query and hash only 
    public function testURL7() { 
        $url = '?query=value#somehash'; 
        $parsed = parse_url($url); 
        $result = URL::build($parsed); 
        $this->assertEquals($url, $result); 
    } 
 
    // hash only 
    public function testURL8() { 
        $url = '#somehash'; 
        $parsed = parse_url($url); 
        $result = URL::build($parsed); 
        $this->assertEquals($url, $result); 
    } 
 
}
 
 |