public function testClassInstanceWithSubnamespace()
{
$testApp = Libraries::get(true, 'resources') . '/tmp/tests/test_app';
mkdir($testApp);
$paths = array("/controllers", "/controllers/admin");
foreach ($paths as $path) {
$namespace = str_replace('/', '\\', $path);
$dotsyntax = str_replace('/', '.', trim($path, '/'));
$class = 'Posts';
Libraries::add('test_app', array('path' => $testApp));
$body = <<<EOD
<?php
namespace test_app{$namespace};
class {$class}Controller extends \\lithium\\action\\Controller {
\tpublic function index() {
\t\treturn true;
\t}
}
?>
EOD;
mkdir($testApp . $path, 0777, true);
$filepath = $testApp . $path . "/{$class}Controller.php";
file_put_contents($filepath, $body);
Libraries::cache(false);
$expected = "test_app{$namespace}\\{$class}Controller";
$instance = Libraries::instance($dotsyntax, "Posts", array('library' => 'test_app'));
$result = get_class($instance);
$this->assertEqual($expected, $result, "{$path} did not work");
}
}