lithium\tests\cases\core\LibrariesTest::testLibraryConfigAccess PHP Method

testLibraryConfigAccess() public method

Tests accessing library configurations.
    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'));
    }