/** * @before */ public function before() { $this->unlockCommand = new UnlockCommand(); self::$isUnlinkCalled = false; self::$fileExistsResult = false; self::$isFileExists = false; $mockBuilder = new MockBuilder(); $fileExistsMock = $mockBuilder->setName('file_exists')->setNamespace('Mage\\Command\\BuiltIn')->setFunction(function ($filePath) { UnlockCommandTest::$fileExistsResult = $filePath; return UnlockCommandTest::$isFileExists; })->build(); $unlinkMock = $mockBuilder->setName('unlink')->setNamespace('Mage\\Command\\BuiltIn')->setFunction(function () { UnlockCommandTest::$isUnlinkCalled = true; })->build(); $getCwdMock = $mockBuilder->setNamespace('Mage\\Command\\BuiltIn')->setName('getcwd')->setFunction(function () { return ''; })->build(); $fileExistsMock->disable(); $unlinkMock->disable(); $getCwdMock->disable(); $fileExistsMock->enable(); $unlinkMock->enable(); $getCwdMock->enable(); $configMock = $this->getMock('Mage\\Config'); $configMock->expects($this->atLeastOnce())->method('getEnvironment')->willReturn('production'); $this->unlockCommand->setConfig($configMock); $this->setUpConsoleStatics(); }
protected function setUp() { $builder = new MockBuilder(); $builder->setNamespace(__NAMESPACE__)->setFunctionProvider(new FixedValueFunction(1234)); $this->environment = new MockEnvironment(); $this->environment->addMock($builder->setName("time")->build()); $this->environment->addMock($builder->setName("rand")->build()); }
/** * @param string $mockName The mock function name. * * @expectedException malkusch\phpmock\MockEnabledException * @dataProvider provideTestCaseSensitivity * @test */ public function testFailEnable($mockName) { $builder = new MockBuilder(); $builder->setNamespace(__NAMESPACE__)->setName(strtolower($mockName))->setFunctionProvider(new FixedValueFunction(1234)); $this->mock = $builder->build(); $this->mock->enable(); $failingMock = $builder->setName($mockName)->build(); $failingMock->enable(); }
/** * @before */ public function before() { self::$fgetsCount = 0; self::$mockName = ''; self::$mockEmail = ''; self::$mockDesc = ''; self::$filePutContentsResult = ''; self::$filePutContentsFile = ''; $this->lockCommand = new LockCommand(); $mockBuilder = new MockBuilder(); $fopenMock = $mockBuilder->setName('fopen')->setNamespace('Mage')->setFunction(function () { return 'a'; })->build(); $this->fgetsValue = new FixedValueFunction(); $fgetsMock = $mockBuilder->setNamespace('Mage')->setName('fgets')->setFunction(function () { switch (LockCommandTest::$fgetsCount) { case 0: LockCommandTest::$fgetsCount++; return LockCommandTest::$mockName; case 1: LockCommandTest::$fgetsCount++; return LockCommandTest::$mockEmail; case 2: LockCommandTest::$fgetsCount++; return LockCommandTest::$mockDesc; default: throw new \Exception('"fgets" count limit exceed'); } })->build(); $getCwdMock = $mockBuilder->setNamespace('Mage\\Command\\Builtin')->setName('getcwd')->setFunction(function () { return ''; })->build(); $fileGetContentsMock = $mockBuilder->setNamespace('Mage\\Command\\Builtin')->setName('file_put_contents')->setFunction(function ($file, $contents) { LockCommandTest::$filePutContentsFile = $file; LockCommandTest::$filePutContentsResult = $contents; })->build(); $dateMock = $mockBuilder->setNamespace('Mage\\Command\\BuiltIn')->setName('date')->setFunction(function () { return '2015-01-01 12:00:00'; })->build(); $fopenMock->disable(); $fgetsMock->disable(); $getCwdMock->disable(); $fileGetContentsMock->disable(); $dateMock->disable(); $fopenMock->enable(); $fgetsMock->enable(); $getCwdMock->enable(); $fileGetContentsMock->enable(); $dateMock->enable(); $this->setUpConsoleStatics(); }
/** * Builds a sleep(), usleep(), date(), time() and microtime() mock environment. * * @return MockEnvironment */ public function build() { $environment = new MockEnvironment(); $builder = new MockBuilder(); $builder->setNamespace($this->namespace); // microtime() mock $microtime = new FixedMicrotimeFunction($this->timestamp); $builder->setName("microtime")->setFunctionProvider($microtime); $environment->addMock($builder->build()); // time() mock $builder->setName("time")->setFunction([$microtime, "getTime"]); $environment->addMock($builder->build()); // date() mock $date = new FixedDateFunction($this->timestamp); $builder->setName("date")->setFunctionProvider($date); $environment->addMock($builder->build()); $incrementables = [$microtime, $date]; // sleep() mock $builder->setName("sleep")->setFunctionProvider(new SleepFunction($incrementables)); $environment->addMock($builder->build()); // usleep() mock $builder->setName("usleep")->setFunctionProvider(new UsleepFunction($incrementables)); $environment->addMock($builder->build()); return $environment; }
protected function setUp() { $this->builder = new MockBuilder(); $this->builder->setName("time")->setFunctionProvider(new FixedValueFunction(1234)); }