芝麻web文件管理V1.00
编辑当前文件:/home/qrafawbu/joolsmen.com/vendor/phpunit/phpunit/tests/Extensions/PhptTestCaseTest.php
* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ class Extensions_PhptTestCaseTest extends \PHPUnit_Framework_TestCase { const EXPECT_CONTENT = <<
--EXPECT-- Hello PHPUnit! EOF; const EXPECTF_CONTENT = <<
--EXPECTF-- Hello %s! EOF; const EXPECTREGEX_CONTENT = <<
--EXPECTREGEX-- Hello [HPU]{4}[nit]{3}! EOF; const FILE_SECTION = <<
EOF; protected $filename; protected $testCase; protected $phpUtil; protected function setUp() { $this->filename = sys_get_temp_dir() . '/phpunit.phpt'; touch($this->filename); $this->phpUtil = $this->getMockForAbstractClass('PHPUnit_Util_PHP', [], '', false); $this->testCase = new PHPUnit_Extensions_PhptTestCase($this->filename, $this->phpUtil); } protected function tearDown() { @unlink($this->filename); $this->filename = null; $this->testCase = null; } /** * Defines the content of the current PHPT test. * * @param string $content */ private function setPhpContent($content) { file_put_contents($this->filename, $content); } public function testShouldRunFileSectionAsTest() { $this->setPhpContent(self::EXPECT_CONTENT); $fileSection = '' . PHP_EOL; $this->phpUtil ->expects($this->once()) ->method('runJob') ->with($fileSection) ->will($this->returnValue(['stdout' => '', 'stderr' => ''])); $this->testCase->run(); } public function testShouldRunSkipifSectionWhenExists() { $skipifSection = '' . PHP_EOL; $phptContent = self::EXPECT_CONTENT . PHP_EOL; $phptContent .= '--SKIPIF--' . PHP_EOL; $phptContent .= $skipifSection; $this->setPhpContent($phptContent); $this->phpUtil ->expects($this->at(0)) ->method('runJob') ->with($skipifSection) ->will($this->returnValue(['stdout' => '', 'stderr' => ''])); $this->testCase->run(); } public function testShouldNotRunTestSectionIfSkipifSectionReturnsOutputWithSkipWord() { $skipifSection = '' . PHP_EOL; $phptContent = self::EXPECT_CONTENT . PHP_EOL; $phptContent .= '--SKIPIF--' . PHP_EOL; $phptContent .= $skipifSection; $this->setPhpContent($phptContent); $this->phpUtil ->expects($this->once()) ->method('runJob') ->with($skipifSection) ->will($this->returnValue(['stdout' => 'skip: Reason', 'stderr' => ''])); $this->testCase->run(); } public function testShouldRunCleanSectionWhenDefined() { $cleanSection = '' . PHP_EOL; $phptContent = self::EXPECT_CONTENT . PHP_EOL; $phptContent .= '--CLEAN--' . PHP_EOL; $phptContent .= $cleanSection; $this->setPhpContent($phptContent); $this->phpUtil ->expects($this->at(1)) ->method('runJob') ->with($cleanSection); $this->testCase->run(); } /** * @expectedException PHPUnit_Framework_Exception * @expectedExceptionMessage Invalid PHPT file */ public function testShouldThrowsAnExceptionWhenPhptFileIsEmpty() { $this->setPhpContent(''); $this->testCase->run(); } /** * @expectedException PHPUnit_Framework_Exception * @expectedExceptionMessage Invalid PHPT file */ public function testShouldThrowsAnExceptionWhenFileSectionIsMissing() { $this->setPhpContent( <<
testCase->run(); } /** * @expectedException PHPUnit_Framework_Exception * @expectedExceptionMessage Invalid PHPT file */ public function testShouldThrowsAnExceptionWhenThereIsNoExpecOrExpectifOrExpecregexSectionInPhptFile() { $this->setPhpContent( <<
EOF ); $this->testCase->run(); } public function testShouldValidateExpectSession() { $this->setPhpContent(self::EXPECT_CONTENT); $this->phpUtil ->expects($this->once()) ->method('runJob') ->with(self::FILE_SECTION) ->will($this->returnValue(['stdout' => 'Hello PHPUnit!', 'stderr' => ''])); $result = $this->testCase->run(); $this->assertTrue($result->wasSuccessful()); } public function testShouldValidateExpectfSession() { $this->setPhpContent(self::EXPECTF_CONTENT); $this->phpUtil ->expects($this->once()) ->method('runJob') ->with(self::FILE_SECTION) ->will($this->returnValue(['stdout' => 'Hello PHPUnit!', 'stderr' => ''])); $result = $this->testCase->run(); $this->assertTrue($result->wasSuccessful()); } public function testShouldValidateExpectregexSession() { $this->setPhpContent(self::EXPECTREGEX_CONTENT); $this->phpUtil ->expects($this->once()) ->method('runJob') ->with(self::FILE_SECTION) ->will($this->returnValue(['stdout' => 'Hello PHPUnit!', 'stderr' => ''])); $result = $this->testCase->run(); $this->assertTrue($result->wasSuccessful()); } public function testParseIniSection() { $phptTestCase = new PhpTestCaseProxy(__FILE__); $settings = $phptTestCase->parseIniSection("foo=1\nbar = 2\rbaz = 3\r\nempty=\nignore"); $expected = [ 'foo=1', 'bar = 2', 'baz = 3', 'empty=', 'ignore', ]; $this->assertEquals($expected, $settings); } } class PhpTestCaseProxy extends PHPUnit_Extensions_PhptTestCase { public function parseIniSection($content) { return parent::parseIniSection($content); } }