/** * Tests a request where modules are enabled, but xautoload is already * enabled. * * @dataProvider providerModuleEnable * * @param mixed[] $initialModules * Initial modules being installed / enabled. * @param array $expectedCalls * * @throws \Exception */ function testModuleEnable(array $initialModules, array $expectedCalls) { $this->prepare(); $this->prepareInitialModules($initialModules); foreach ($this->exampleModules->getExampleClasses() as $classes) { foreach ((array) $classes as $class) { $this->assertClassIsUndefined($class); } } $this->exampleDrupal->boot(); $new_modules = array_keys($this->exampleModules->getExampleClasses()); $this->exampleDrupal->moduleEnable($new_modules); # HackyLog::log($this->callLog->getCalls()); $this->callLog->assertCalls($this, $expectedCalls); // Now we want all classes to be available. foreach ($this->exampleModules->getExampleClasses() as $classes) { foreach ((array) $classes as $class) { $this->assertClassExists($class); } } $this->unprepare(); }