芝麻web文件管理V1.00
编辑当前文件:/home/mgatv524/public_html/somares/vendor/symfony/console/Tests/Command/LockableTraitTest.php
* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Console\Tests\Command; use PHPUnit\Framework\TestCase; use Symfony\Component\Console\Tester\CommandTester; use Symfony\Component\Lock\Factory; use Symfony\Component\Lock\Store\FlockStore; use Symfony\Component\Lock\Store\SemaphoreStore; class LockableTraitTest extends TestCase { protected static $fixturesPath; public static function setUpBeforeClass() { self::$fixturesPath = __DIR__.'/../Fixtures/'; require_once self::$fixturesPath.'/FooLockCommand.php'; require_once self::$fixturesPath.'/FooLock2Command.php'; } public function testLockIsReleased() { $command = new \FooLockCommand(); $tester = new CommandTester($command); $this->assertSame(2, $tester->execute([])); $this->assertSame(2, $tester->execute([])); } public function testLockReturnsFalseIfAlreadyLockedByAnotherCommand() { $command = new \FooLockCommand(); if (SemaphoreStore::isSupported(false)) { $store = new SemaphoreStore(); } else { $store = new FlockStore(); } $lock = (new Factory($store))->createLock($command->getName()); $lock->acquire(); $tester = new CommandTester($command); $this->assertSame(1, $tester->execute([])); $lock->release(); $this->assertSame(2, $tester->execute([])); } public function testMultipleLockCallsThrowLogicException() { $command = new \FooLock2Command(); $tester = new CommandTester($command); $this->assertSame(1, $tester->execute([])); } }