Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php namespace Alchemy\Zippy\Tests\Adapter\VersionProbe; use Alchemy\Zippy\Tests\TestCa..
Decoded Output download
<?php
namespace Alchemy\Zippy\Tests\Adapter\VersionProbe;
use Alchemy\Zippy\Tests\TestCase;
use Alchemy\Zippy\Adapter\VersionProbe\ZipVersionProbe;
use Alchemy\Zippy\Adapter\VersionProbe\VersionProbeInterface;
class ZipVersionProbeTest extends TestCase
{
/**
* @covers Alchemy\Zippy\Adapter\VersionProbe\ZipVersionProbe::getStatus
*/
public function testGetStatusIsOk()
{
$mockedProcessBuilderInflator = $this->getMockBuilder('\Alchemy\Zippy\ProcessBuilder\ProcessBuilder')
->disableOriginalConstructor()
->getMock();
$mockedProcessBuilderInflator
->expects($this->once())
->method('add')
->with('-h')
->will($this->returnSelf());
$processInflator = $this->getSuccessFullMockProcess();
$mockedProcessBuilderInflator
->expects($this->once())
->method('getProcess')
->will($this->returnValue($processInflator));
$processInflator
->expects($this->once())
->method('getOutput')
->will($this->returnValue('Copyright (c) 1990-2008 Info-ZIP - Type \'zip "-L"\' for software license.
Zip 3.0 (July 5th 2008). Usage:
zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfile list] [-xi list]
The default action is to add or replace zipfile entries from list, which
can include the special name - to compress standard input.
If zipfile and list are omitted, zip compresses stdin to stdout.
-f freshen: only changed files -u update: only changed or new files
-d delete entries in zipfile -m move into zipfile (delete OS files)
-r recurse into directories -j junk (don\'t record) directory names
-0 store only -l convert LF to CR LF (-ll CR LF to LF)
-1 compress faster -9 compress better
-q quiet operation -v verbose operation/print version info
-c add one-line comments -z add zipfile comment
-@ read names from stdin -o make zipfile as old as latest entry
-x exclude the following names -i include only the following names
-F fix zipfile (-FF try harder) -D do not add directory entries
-A adjust self-extracting exe -J junk zipfile prefix (unzipsfx)
-T test zipfile integrity -X eXclude eXtra file attributes
-y store symbolic links as the link instead of the referenced file
-e encrypt -n don\'t compress these suffixes
-h2 show more help'));
$mockedProcessBuilderDeflator = $this->getMockBuilder('\Alchemy\Zippy\ProcessBuilder\ProcessBuilder')
->disableOriginalConstructor()
->getMock();
$mockedProcessBuilderDeflator
->expects($this->once())
->method('add')
->with('-h')
->will($this->returnSelf());
$processDeflator = $this->getSuccessFullMockProcess();
$mockedProcessBuilderDeflator
->expects($this->once())
->method('getProcess')
->will($this->returnValue($processDeflator));
$processDeflator
->expects($this->once())
->method('getOutput')
->will($this->returnValue('UnZip 5.52 of 28 February 2005, by Info-ZIP. Maintained by C. Spieler. Send
bug reports using http://www.info-zip.org/zip-bug.html; see README for details.
Usage: unzip [-Z] [-opts[modifiers]] file[.zip] [list] [-x xlist] [-d exdir]
Default action is to extract files in list, except those in xlist, to exdir;
file[.zip] may be a wildcard. -Z => ZipInfo mode ("unzip -Z" for usage).
-p extract files to pipe, no messages -l list files (short format)
-f freshen existing files, create none -t test compressed archive data
-u update files, create if necessary -z display archive comment
-x exclude files that follow (in xlist) -d extract files into exdir
modifiers: -q quiet mode (-qq => quieter)
-n never overwrite existing files -a auto-convert any text files
-o overwrite files WITHOUT prompting -aa treat ALL files as text
-j junk paths (do not make directories) -v be verbose/print version info
-C match filenames case-insensitively -L make (some) names lowercase
-X restore UID/GID info -V retain VMS version numbers
-K keep setuid/setgid/tacky permissions -M pipe through "more" pager
Examples (see unzip.txt for more info):
unzip data1 -x joe => extract all files except joe from zipfile data1.zip
unzip -p foo | more => send contents of foo.zip via pipe into program more
unzip -fo foo ReadMe => quietly replace existing ReadMe if archive file newer'));
$probe = new ZipVersionProbe($this->getMockedProcessBuilderFactory($mockedProcessBuilderInflator), $this->getMockedProcessBuilderFactory($mockedProcessBuilderDeflator));
$this->assertEquals(VersionProbeInterface::PROBE_OK, $probe->getStatus());
// second time is served from cache
$this->assertEquals(VersionProbeInterface::PROBE_OK, $probe->getStatus());
}
/**
* @covers Alchemy\Zippy\Adapter\VersionProbe\ZipVersionProbe::getStatus
*/
public function testGetStatusIsNotOk()
{
$mockedProcessBuilderInflator = $this->getMockBuilder('\Alchemy\Zippy\ProcessBuilder\ProcessBuilder')
->disableOriginalConstructor()
->getMock();
$mockedProcessBuilderInflator
->expects($this->once())
->method('add')
->with('-h')
->will($this->returnSelf());
$processInflator = $this->getSuccessFullMockProcess();
$mockedProcessBuilderInflator
->expects($this->once())
->method('getProcess')
->will($this->returnValue($processInflator));
$processInflator
->expects($this->once())
->method('getOutput')
->will($this->returnValue('bsdtar 2.8.3 - libarchive 2.8.3'));
$mockedProcessBuilderDeflator = $this->getMockBuilder('\Alchemy\Zippy\ProcessBuilder\ProcessBuilder')
->disableOriginalConstructor()
->getMock();
$mockedProcessBuilderDeflator
->expects($this->once())
->method('add')
->with('-h')
->will($this->returnSelf());
$processDeflator = $this->getSuccessFullMockProcess();
$mockedProcessBuilderDeflator
->expects($this->once())
->method('getProcess')
->will($this->returnValue($processDeflator));
$processDeflator
->expects($this->once())
->method('getOutput')
->will($this->returnValue('bsdtar 2.8.3 - libarchive 2.8.3'));
$probe = new ZipVersionProbe($this->getMockedProcessBuilderFactory($mockedProcessBuilderInflator), $this->getMockedProcessBuilderFactory($mockedProcessBuilderDeflator));
$this->assertEquals(VersionProbeInterface::PROBE_NOTSUPPORTED, $probe->getStatus());
// second time is served from cache
$this->assertEquals(VersionProbeInterface::PROBE_NOTSUPPORTED, $probe->getStatus());
}
}
?>
Did this file decode correctly?
Original Code
<?php
namespace Alchemy\Zippy\Tests\Adapter\VersionProbe;
use Alchemy\Zippy\Tests\TestCase;
use Alchemy\Zippy\Adapter\VersionProbe\ZipVersionProbe;
use Alchemy\Zippy\Adapter\VersionProbe\VersionProbeInterface;
class ZipVersionProbeTest extends TestCase
{
/**
* @covers Alchemy\Zippy\Adapter\VersionProbe\ZipVersionProbe::getStatus
*/
public function testGetStatusIsOk()
{
$mockedProcessBuilderInflator = $this->getMockBuilder('\Alchemy\Zippy\ProcessBuilder\ProcessBuilder')
->disableOriginalConstructor()
->getMock();
$mockedProcessBuilderInflator
->expects($this->once())
->method('add')
->with('-h')
->will($this->returnSelf());
$processInflator = $this->getSuccessFullMockProcess();
$mockedProcessBuilderInflator
->expects($this->once())
->method('getProcess')
->will($this->returnValue($processInflator));
$processInflator
->expects($this->once())
->method('getOutput')
->will($this->returnValue('Copyright (c) 1990-2008 Info-ZIP - Type \'zip "-L"\' for software license.
Zip 3.0 (July 5th 2008). Usage:
zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfile list] [-xi list]
The default action is to add or replace zipfile entries from list, which
can include the special name - to compress standard input.
If zipfile and list are omitted, zip compresses stdin to stdout.
-f freshen: only changed files -u update: only changed or new files
-d delete entries in zipfile -m move into zipfile (delete OS files)
-r recurse into directories -j junk (don\'t record) directory names
-0 store only -l convert LF to CR LF (-ll CR LF to LF)
-1 compress faster -9 compress better
-q quiet operation -v verbose operation/print version info
-c add one-line comments -z add zipfile comment
-@ read names from stdin -o make zipfile as old as latest entry
-x exclude the following names -i include only the following names
-F fix zipfile (-FF try harder) -D do not add directory entries
-A adjust self-extracting exe -J junk zipfile prefix (unzipsfx)
-T test zipfile integrity -X eXclude eXtra file attributes
-y store symbolic links as the link instead of the referenced file
-e encrypt -n don\'t compress these suffixes
-h2 show more help'));
$mockedProcessBuilderDeflator = $this->getMockBuilder('\Alchemy\Zippy\ProcessBuilder\ProcessBuilder')
->disableOriginalConstructor()
->getMock();
$mockedProcessBuilderDeflator
->expects($this->once())
->method('add')
->with('-h')
->will($this->returnSelf());
$processDeflator = $this->getSuccessFullMockProcess();
$mockedProcessBuilderDeflator
->expects($this->once())
->method('getProcess')
->will($this->returnValue($processDeflator));
$processDeflator
->expects($this->once())
->method('getOutput')
->will($this->returnValue('UnZip 5.52 of 28 February 2005, by Info-ZIP. Maintained by C. Spieler. Send
bug reports using http://www.info-zip.org/zip-bug.html; see README for details.
Usage: unzip [-Z] [-opts[modifiers]] file[.zip] [list] [-x xlist] [-d exdir]
Default action is to extract files in list, except those in xlist, to exdir;
file[.zip] may be a wildcard. -Z => ZipInfo mode ("unzip -Z" for usage).
-p extract files to pipe, no messages -l list files (short format)
-f freshen existing files, create none -t test compressed archive data
-u update files, create if necessary -z display archive comment
-x exclude files that follow (in xlist) -d extract files into exdir
modifiers: -q quiet mode (-qq => quieter)
-n never overwrite existing files -a auto-convert any text files
-o overwrite files WITHOUT prompting -aa treat ALL files as text
-j junk paths (do not make directories) -v be verbose/print version info
-C match filenames case-insensitively -L make (some) names lowercase
-X restore UID/GID info -V retain VMS version numbers
-K keep setuid/setgid/tacky permissions -M pipe through "more" pager
Examples (see unzip.txt for more info):
unzip data1 -x joe => extract all files except joe from zipfile data1.zip
unzip -p foo | more => send contents of foo.zip via pipe into program more
unzip -fo foo ReadMe => quietly replace existing ReadMe if archive file newer'));
$probe = new ZipVersionProbe($this->getMockedProcessBuilderFactory($mockedProcessBuilderInflator), $this->getMockedProcessBuilderFactory($mockedProcessBuilderDeflator));
$this->assertEquals(VersionProbeInterface::PROBE_OK, $probe->getStatus());
// second time is served from cache
$this->assertEquals(VersionProbeInterface::PROBE_OK, $probe->getStatus());
}
/**
* @covers Alchemy\Zippy\Adapter\VersionProbe\ZipVersionProbe::getStatus
*/
public function testGetStatusIsNotOk()
{
$mockedProcessBuilderInflator = $this->getMockBuilder('\Alchemy\Zippy\ProcessBuilder\ProcessBuilder')
->disableOriginalConstructor()
->getMock();
$mockedProcessBuilderInflator
->expects($this->once())
->method('add')
->with('-h')
->will($this->returnSelf());
$processInflator = $this->getSuccessFullMockProcess();
$mockedProcessBuilderInflator
->expects($this->once())
->method('getProcess')
->will($this->returnValue($processInflator));
$processInflator
->expects($this->once())
->method('getOutput')
->will($this->returnValue('bsdtar 2.8.3 - libarchive 2.8.3'));
$mockedProcessBuilderDeflator = $this->getMockBuilder('\Alchemy\Zippy\ProcessBuilder\ProcessBuilder')
->disableOriginalConstructor()
->getMock();
$mockedProcessBuilderDeflator
->expects($this->once())
->method('add')
->with('-h')
->will($this->returnSelf());
$processDeflator = $this->getSuccessFullMockProcess();
$mockedProcessBuilderDeflator
->expects($this->once())
->method('getProcess')
->will($this->returnValue($processDeflator));
$processDeflator
->expects($this->once())
->method('getOutput')
->will($this->returnValue('bsdtar 2.8.3 - libarchive 2.8.3'));
$probe = new ZipVersionProbe($this->getMockedProcessBuilderFactory($mockedProcessBuilderInflator), $this->getMockedProcessBuilderFactory($mockedProcessBuilderDeflator));
$this->assertEquals(VersionProbeInterface::PROBE_NOTSUPPORTED, $probe->getStatus());
// second time is served from cache
$this->assertEquals(VersionProbeInterface::PROBE_NOTSUPPORTED, $probe->getStatus());
}
}
Function Calls
None |
Stats
MD5 | b40b18ba307d4dfe4df7c0d7dfb487c8 |
Eval Count | 0 |
Decode Time | 99 ms |