diff options
author | Andreas Fischer <bantu@phpbb.com> | 2010-08-20 22:05:05 +0200 |
---|---|---|
committer | Andreas Fischer <bantu@phpbb.com> | 2010-08-20 22:05:05 +0200 |
commit | df111373a6b6614857c6729b5fcc23985e0b0278 (patch) | |
tree | a9ab5fb95c24787d6c6421a643165ea9f39c81a7 | |
parent | 3f0c02533aad96ead9597b96351c0fd6b0cf5178 (diff) | |
parent | f870434222b209f705b902168cad179b7ef8bd12 (diff) | |
download | forums-df111373a6b6614857c6729b5fcc23985e0b0278.tar forums-df111373a6b6614857c6729b5fcc23985e0b0278.tar.gz forums-df111373a6b6614857c6729b5fcc23985e0b0278.tar.bz2 forums-df111373a6b6614857c6729b5fcc23985e0b0278.tar.xz forums-df111373a6b6614857c6729b5fcc23985e0b0278.zip |
Merge branch 'feature/naderman/auto-loading' into develop
* feature/naderman/auto-loading:
[feature/auto-loading] Only check subdir if there is another name part.
-rw-r--r-- | phpBB/includes/class_loader.php | 2 | ||||
-rw-r--r-- | tests/class_loader/class_loader_test.php | 6 | ||||
-rw-r--r-- | tests/class_loader/includes/dir.php | 6 |
3 files changed, 13 insertions, 1 deletions
diff --git a/phpBB/includes/class_loader.php b/phpBB/includes/class_loader.php index c70351b437..5df654799a 100644 --- a/phpBB/includes/class_loader.php +++ b/phpBB/includes/class_loader.php @@ -115,7 +115,7 @@ class phpbb_class_loader $dirs = ''; - for ($i = 0; is_dir($path_prefix . $dirs . $parts[$i]) && $i < sizeof($parts); $i++) + for ($i = 0, $n = sizeof($parts); $i < $n && is_dir($path_prefix . $dirs . $parts[$i]); $i++) { $dirs .= $parts[$i] . '/'; } diff --git a/tests/class_loader/class_loader_test.php b/tests/class_loader/class_loader_test.php index 37c11657c4..e53507ded3 100644 --- a/tests/class_loader/class_loader_test.php +++ b/tests/class_loader/class_loader_test.php @@ -24,6 +24,12 @@ class phpbb_class_loader_test extends PHPUnit_Framework_TestCase $prefix .= 'includes/'; $this->assertEquals( + '', + $class_loader->resolve_path('phpbb_dir'), + 'Class with same name as a directory is unloadable' + ); + + $this->assertEquals( $prefix . 'class_name.php', $class_loader->resolve_path('phpbb_class_name'), 'Top level class' diff --git a/tests/class_loader/includes/dir.php b/tests/class_loader/includes/dir.php new file mode 100644 index 0000000000..1c8930d8e7 --- /dev/null +++ b/tests/class_loader/includes/dir.php @@ -0,0 +1,6 @@ +<?php + +class phpbb_dir +{ +} + |