Вход Регистрация
Файл: symfony-2.7/src/Symfony/Bridge/Twig/Tests/Extension/HttpFoundationExtensionTest.php
Строк: 102
<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace SymfonyBridgeTwigTestsExtension;

use 
SymfonyBridgeTwigExtensionHttpFoundationExtension;
use 
SymfonyComponentHttpFoundationRequestStack;
use 
SymfonyComponentHttpFoundationRequest;

class 
HttpFoundationExtensionTest extends PHPUnit_Framework_TestCase
{
    
/**
     * @dataProvider getGenerateAbsoluteUrlData()
     */
    
public function testGenerateAbsoluteUrl($expected$path$pathinfo)
    {
        
$stack = new RequestStack();
        
$stack->push(Request::create($pathinfo));
        
$extension = new HttpFoundationExtension($stack);

        
$this->assertEquals($expected$extension->generateAbsoluteUrl($path));
    }

    public function 
getGenerateAbsoluteUrlData()
    {
        return array(
            array(
'http://localhost/foo.png''/foo.png''/foo/bar.html'),
            array(
'http://localhost/foo/foo.png''foo.png''/foo/bar.html'),
            array(
'http://localhost/foo/foo.png''foo.png''/foo/bar'),
            array(
'http://localhost/foo/bar/foo.png''foo.png''/foo/bar/'),

            array(
'http://example.com/baz''http://example.com/baz''/'),
            array(
'https://example.com/baz''https://example.com/baz''/'),
            array(
'//example.com/baz''//example.com/baz''/'),
        );
    }

    
/**
     * @dataProvider getGenerateRelativePathData()
     */
    
public function testGenerateRelativePath($expected$path$pathinfo)
    {
        if (!
method_exists('SymfonyComponentHttpFoundationRequest''getRelativeUriForPath')) {
            
$this->markTestSkipped('Your version of Symfony HttpFoundation is too old.');
        }

        
$stack = new RequestStack();
        
$stack->push(Request::create($pathinfo));
        
$extension = new HttpFoundationExtension($stack);

        
$this->assertEquals($expected$extension->generateRelativePath($path));
    }

    public function 
getGenerateRelativePathData()
    {
        return array(
            array(
'../foo.png''/foo.png''/foo/bar.html'),
            array(
'../baz/foo.png''/baz/foo.png''/foo/bar.html'),
            array(
'baz/foo.png''baz/foo.png''/foo/bar.html'),

            array(
'http://example.com/baz''http://example.com/baz''/'),
            array(
'https://example.com/baz''https://example.com/baz''/'),
            array(
'//example.com/baz''//example.com/baz''/'),
        );
    }
}
Онлайн: 3
Реклама