You are here

protected function PHPUnit_Framework_MockObject_Generator::generateClassName in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator.php \PHPUnit_Framework_MockObject_Generator::generateClassName()

Parameters

array|string $type:

string $className:

string $prefix:

Return value

array

3 calls to PHPUnit_Framework_MockObject_Generator::generateClassName()
PHPUnit_Framework_MockObject_Generator::generateMock in vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator.php
PHPUnit_Framework_MockObject_Generator::getMockForTrait in vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator.php
Returns a mock object for the specified trait with all abstract methods of the trait mocked. Concrete methods to mock can be specified with the `$mockedMethods` parameter.
PHPUnit_Framework_MockObject_Generator::getObjectForTrait in vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator.php
Returns an object for the specified trait.

File

vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator.php, line 821

Class

PHPUnit_Framework_MockObject_Generator
Mock Object Code Generator

Code

protected function generateClassName($type, $className, $prefix) {
  if (is_array($type)) {
    $type = implode('_', $type);
  }
  if ($type[0] == '\\') {
    $type = substr($type, 1);
  }
  $classNameParts = explode('\\', $type);
  if (count($classNameParts) > 1) {
    $type = array_pop($classNameParts);
    $namespaceName = implode('\\', $classNameParts);
    $fullClassName = $namespaceName . '\\' . $type;
  }
  else {
    $namespaceName = '';
    $fullClassName = $type;
  }
  if ($className == '') {
    do {
      $className = $prefix . $type . '_' . substr(md5(microtime()), 0, 8);
    } while (class_exists($className, false));
  }
  return array(
    'className' => $className,
    'originalClassName' => $type,
    'fullClassName' => $fullClassName,
    'namespaceName' => $namespaceName,
  );
}