Ejemplo n.º 1
0
 /**
  * @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();
 }
Ejemplo n.º 2
0
 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();
 }
Ejemplo n.º 4
0
 /**
  * @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();
 }
Ejemplo n.º 5
0
 /**
  * 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;
 }
Ejemplo n.º 6
0
 protected function setUp()
 {
     $this->builder = new MockBuilder();
     $this->builder->setName("time")->setFunctionProvider(new FixedValueFunction(1234));
 }