public function testLibraryConfigAccess()
{
$config = Libraries::get('lithium');
// => ['path' => '/path/to/lithium', ...]
$expected = array('name' => 'lithium', 'path' => str_replace('\\', '/', realpath(Libraries::get('lithium', 'path'))), 'prefix' => 'lithium\\', 'suffix' => '.php', 'loader' => 'lithium\\core\\Libraries::load', 'includePath' => false, 'transform' => null, 'bootstrap' => false, 'defer' => true, 'default' => false);
if (!$this->hasApp) {
$expected['resources'] = sys_get_temp_dir();
$expected['default'] = true;
}
$this->assertEqual($expected, $config);
$this->assertNull(Libraries::get('foo'));
$configs = Libraries::get();
// => ['lithium' => ['path' => ...], 'myapp' => [...], ...]
$this->assertArrayHasKey('lithium', $configs);
$this->assertEqual($expected, $configs['lithium']);
if ($this->hasApp) {
$this->assertArrayHasKey(Libraries::get(true, 'name'), $configs);
}
$configs = Libraries::get(array('lithium'));
// => ['lithium' => ['path' => '...', ...]]
$this->assertEqual(array('lithium'), array_keys($configs));
$this->assertEqual($expected, $configs['lithium']);
$prefixes = Libraries::get(array('lithium'), 'prefix');
// => ['lithium' => 'lithium\\']
$this->assertEqual(array('lithium' => 'lithium\\'), $prefixes);
$allPre = Libraries::get(null, 'prefix');
// => ['my' => 'my\\', 'lithium' => 'lithium\\']
$this->assertNotEmpty($allPre);
$this->assertEqual(array_keys(Libraries::get()), array_keys($allPre));
foreach ($allPre as $prefix) {
$this->assertTrue(is_string($prefix) || is_bool($prefix));
}
$library = Libraries::get('lithium\\core\\Libraries');
// 'lithium'
$this->assertEqual('lithium', $library);
$this->assertNull(Libraries::get('foo\\bar\\baz'));
}