/** * @depends testAddNamespaceGetNamespaces * @return null */ public function testLoadNamespaces() { $namespaces = array('My\\Namespace\\A', 'My\\Namespace\\B', 'Other\\Namespace\\A'); $this->assertSame($this->dependency, $this->dependency->loadNamespaces($namespaces), 'uses fluent interface'); $this->assertEquals($namespaces, $this->dependency->getNamespaces()); /* no duplicates are loaded */ $namespaces[] = 'New\\Namespace\\X'; $this->assertSame($this->dependency, $this->dependency->loadNamespaces($namespaces), 'uses fluent interface'); $this->assertEquals($namespaces, $this->dependency->getNamespaces()); }
/** * Dependency Loader will throw an exception for any file it can not find * * @expectedException RunTimeException * @depends testDependencies * @return null */ public function testLoadDependencyClassNotFound() { $dependency = new ClassDependency(AF_LIB_PATH); $list = array('TestFuel\\Fake\\ClassLoader\\IsNotHere'); $dependency->loadNamespaces($list); $declared = get_declared_classes(); foreach ($list as $ns) { $this->assertNotContains($ns, $declared); } $this->clearAutoLoaders(); $result = $this->loader->loadDependency($dependency); $this->restoreAutoLoaders(); $this->assertNull($result); $declared = get_declared_classes(); foreach ($list as $ns) { $this->assertContains($ns, $declared); } }