Skip to content
This repository has been archived by the owner on Feb 20, 2023. It is now read-only.

Commit

Permalink
Make autoloader function anonymous.
Browse files Browse the repository at this point in the history
  • Loading branch information
sebastianbergmann committed Oct 3, 2012
1 parent cab48c8 commit efc85d6
Show file tree
Hide file tree
Showing 3 changed files with 70 additions and 93 deletions.
115 changes: 52 additions & 63 deletions PHPUnit/Framework/MockObject/Autoload.php
Expand Up @@ -42,70 +42,59 @@
* @since File available since Release 1.1.0
*/

function phpunit_mockobject_autoload($class = NULL) {
static $classes = NULL;
static $path = NULL;
spl_autoload_register(
function ($class)
{
static $classes = NULL;
static $path = NULL;

if ($classes === NULL) {
$classes = array(
'phpunit_framework_mockobject_builder_identity' => '/Framework/MockObject/Builder/Identity.php',
'phpunit_framework_mockobject_builder_invocationmocker' => '/Framework/MockObject/Builder/InvocationMocker.php',
'phpunit_framework_mockobject_builder_match' => '/Framework/MockObject/Builder/Match.php',
'phpunit_framework_mockobject_builder_methodnamematch' => '/Framework/MockObject/Builder/MethodNameMatch.php',
'phpunit_framework_mockobject_builder_namespace' => '/Framework/MockObject/Builder/Namespace.php',
'phpunit_framework_mockobject_builder_parametersmatch' => '/Framework/MockObject/Builder/ParametersMatch.php',
'phpunit_framework_mockobject_builder_stub' => '/Framework/MockObject/Builder/Stub.php',
'phpunit_framework_mockobject_generator' => '/Framework/MockObject/Generator.php',
'phpunit_framework_mockobject_invocation' => '/Framework/MockObject/Invocation.php',
'phpunit_framework_mockobject_invocation_object' => '/Framework/MockObject/Invocation/Object.php',
'phpunit_framework_mockobject_invocation_static' => '/Framework/MockObject/Invocation/Static.php',
'phpunit_framework_mockobject_invocationmocker' => '/Framework/MockObject/InvocationMocker.php',
'phpunit_framework_mockobject_invokable' => '/Framework/MockObject/Invokable.php',
'phpunit_framework_mockobject_matcher' => '/Framework/MockObject/Matcher.php',
'phpunit_framework_mockobject_matcher_anyinvokedcount' => '/Framework/MockObject/Matcher/AnyInvokedCount.php',
'phpunit_framework_mockobject_matcher_anyparameters' => '/Framework/MockObject/Matcher/AnyParameters.php',
'phpunit_framework_mockobject_matcher_invocation' => '/Framework/MockObject/Matcher/Invocation.php',
'phpunit_framework_mockobject_matcher_invokedatindex' => '/Framework/MockObject/Matcher/InvokedAtIndex.php',
'phpunit_framework_mockobject_matcher_invokedatleastonce' => '/Framework/MockObject/Matcher/InvokedAtLeastOnce.php',
'phpunit_framework_mockobject_matcher_invokedcount' => '/Framework/MockObject/Matcher/InvokedCount.php',
'phpunit_framework_mockobject_matcher_invokedrecorder' => '/Framework/MockObject/Matcher/InvokedRecorder.php',
'phpunit_framework_mockobject_matcher_methodname' => '/Framework/MockObject/Matcher/MethodName.php',
'phpunit_framework_mockobject_matcher_parameters' => '/Framework/MockObject/Matcher/Parameters.php',
'phpunit_framework_mockobject_matcher_statelessinvocation' => '/Framework/MockObject/Matcher/StatelessInvocation.php',
'phpunit_framework_mockobject_mockbuilder' => '/Framework/MockObject/MockBuilder.php',
'phpunit_framework_mockobject_mockobject' => '/Framework/MockObject/MockObject.php',
'phpunit_framework_mockobject_stub' => '/Framework/MockObject/Stub.php',
'phpunit_framework_mockobject_stub_consecutivecalls' => '/Framework/MockObject/Stub/ConsecutiveCalls.php',
'phpunit_framework_mockobject_stub_exception' => '/Framework/MockObject/Stub/Exception.php',
'phpunit_framework_mockobject_stub_matchercollection' => '/Framework/MockObject/Stub/MatcherCollection.php',
'phpunit_framework_mockobject_stub_return' => '/Framework/MockObject/Stub/Return.php',
'phpunit_framework_mockobject_stub_returnargument' => '/Framework/MockObject/Stub/ReturnArgument.php',
'phpunit_framework_mockobject_stub_returncallback' => '/Framework/MockObject/Stub/ReturnCallback.php',
'phpunit_framework_mockobject_stub_returnself' => '/Framework/MockObject/Stub/ReturnSelf.php',
'phpunit_framework_mockobject_stub_returnvaluemap' => '/Framework/MockObject/Stub/ReturnValueMap.php',
'phpunit_framework_mockobject_verifiable' => '/Framework/MockObject/Verifiable.php'
);
if ($classes === NULL) {
$classes = array(
'phpunit_framework_mockobject_builder_identity' => '/Framework/MockObject/Builder/Identity.php',
'phpunit_framework_mockobject_builder_invocationmocker' => '/Framework/MockObject/Builder/InvocationMocker.php',
'phpunit_framework_mockobject_builder_match' => '/Framework/MockObject/Builder/Match.php',
'phpunit_framework_mockobject_builder_methodnamematch' => '/Framework/MockObject/Builder/MethodNameMatch.php',
'phpunit_framework_mockobject_builder_namespace' => '/Framework/MockObject/Builder/Namespace.php',
'phpunit_framework_mockobject_builder_parametersmatch' => '/Framework/MockObject/Builder/ParametersMatch.php',
'phpunit_framework_mockobject_builder_stub' => '/Framework/MockObject/Builder/Stub.php',
'phpunit_framework_mockobject_generator' => '/Framework/MockObject/Generator.php',
'phpunit_framework_mockobject_invocation' => '/Framework/MockObject/Invocation.php',
'phpunit_framework_mockobject_invocation_object' => '/Framework/MockObject/Invocation/Object.php',
'phpunit_framework_mockobject_invocation_static' => '/Framework/MockObject/Invocation/Static.php',
'phpunit_framework_mockobject_invocationmocker' => '/Framework/MockObject/InvocationMocker.php',
'phpunit_framework_mockobject_invokable' => '/Framework/MockObject/Invokable.php',
'phpunit_framework_mockobject_matcher' => '/Framework/MockObject/Matcher.php',
'phpunit_framework_mockobject_matcher_anyinvokedcount' => '/Framework/MockObject/Matcher/AnyInvokedCount.php',
'phpunit_framework_mockobject_matcher_anyparameters' => '/Framework/MockObject/Matcher/AnyParameters.php',
'phpunit_framework_mockobject_matcher_invocation' => '/Framework/MockObject/Matcher/Invocation.php',
'phpunit_framework_mockobject_matcher_invokedatindex' => '/Framework/MockObject/Matcher/InvokedAtIndex.php',
'phpunit_framework_mockobject_matcher_invokedatleastonce' => '/Framework/MockObject/Matcher/InvokedAtLeastOnce.php',
'phpunit_framework_mockobject_matcher_invokedcount' => '/Framework/MockObject/Matcher/InvokedCount.php',
'phpunit_framework_mockobject_matcher_invokedrecorder' => '/Framework/MockObject/Matcher/InvokedRecorder.php',
'phpunit_framework_mockobject_matcher_methodname' => '/Framework/MockObject/Matcher/MethodName.php',
'phpunit_framework_mockobject_matcher_parameters' => '/Framework/MockObject/Matcher/Parameters.php',
'phpunit_framework_mockobject_matcher_statelessinvocation' => '/Framework/MockObject/Matcher/StatelessInvocation.php',
'phpunit_framework_mockobject_mockbuilder' => '/Framework/MockObject/MockBuilder.php',
'phpunit_framework_mockobject_mockobject' => '/Framework/MockObject/MockObject.php',
'phpunit_framework_mockobject_stub' => '/Framework/MockObject/Stub.php',
'phpunit_framework_mockobject_stub_consecutivecalls' => '/Framework/MockObject/Stub/ConsecutiveCalls.php',
'phpunit_framework_mockobject_stub_exception' => '/Framework/MockObject/Stub/Exception.php',
'phpunit_framework_mockobject_stub_matchercollection' => '/Framework/MockObject/Stub/MatcherCollection.php',
'phpunit_framework_mockobject_stub_return' => '/Framework/MockObject/Stub/Return.php',
'phpunit_framework_mockobject_stub_returnargument' => '/Framework/MockObject/Stub/ReturnArgument.php',
'phpunit_framework_mockobject_stub_returncallback' => '/Framework/MockObject/Stub/ReturnCallback.php',
'phpunit_framework_mockobject_stub_returnself' => '/Framework/MockObject/Stub/ReturnSelf.php',
'phpunit_framework_mockobject_stub_returnvaluemap' => '/Framework/MockObject/Stub/ReturnValueMap.php',
'phpunit_framework_mockobject_verifiable' => '/Framework/MockObject/Verifiable.php'
);

$path = dirname(dirname(dirname(__FILE__)));
}
$path = dirname(dirname(dirname(__FILE__)));
}

if ($class === NULL) {
$result = array(__FILE__);
$cn = strtolower($class);

foreach ($classes as $file) {
$result[] = $path . $file;
}

return $result;
}

$cn = strtolower($class);

if (isset($classes[$cn])) {
$file = $path . $classes[$cn];

require $file;
}
}

spl_autoload_register('phpunit_mockobject_autoload');
if (isset($classes[$cn])) {
require $path . $classes[$cn];
}
}
);
45 changes: 17 additions & 28 deletions PHPUnit/Framework/MockObject/Autoload.php.in
Expand Up @@ -42,35 +42,24 @@
* @since File available since Release 1.1.0
*/

function phpunit_mockobject_autoload($class = NULL) {
static $classes = NULL;
static $path = NULL;
spl_autoload_register(
function ($class)
{
static $classes = NULL;
static $path = NULL;

if ($classes === NULL) {
$classes = array(
___CLASSLIST___
);
if ($classes === NULL) {
$classes = array(
___CLASSLIST___
);

$path = dirname(dirname(dirname(__FILE__)));
}
$path = dirname(dirname(dirname(__FILE__)));
}

if ($class === NULL) {
$result = array(__FILE__);
$cn = strtolower($class);

foreach ($classes as $file) {
$result[] = $path . $file;
}

return $result;
}

$cn = strtolower($class);

if (isset($classes[$cn])) {
$file = $path . $classes[$cn];

require $file;
}
}

spl_autoload_register('phpunit_mockobject_autoload');
if (isset($classes[$cn])) {
require $path . $classes[$cn];
}
}
);
3 changes: 1 addition & 2 deletions build.xml
Expand Up @@ -44,11 +44,10 @@
<exec executable="phpab">
<arg value="--output" />
<arg path="PHPUnit/Framework/MockObject/Autoload.php" />
<arg value="--compat" />
<arg value="--template" />
<arg path="PHPUnit/Framework/MockObject/Autoload.php.in" />
<arg value="--indent" />
<arg value=" " />
<arg value=" " />
<arg path="PHPUnit" />
</exec>
</target>
Expand Down

0 comments on commit efc85d6

Please sign in to comment.