/** * @covers ::reset */ public function testReset() { $packages = ['package' => ['machine_name' => 'package', 'config' => ['example.config', 'example.config3'], 'dependencies' => [], 'bundle' => 'giraffe'], 'package2' => ['machine_name' => 'package2', 'config' => ['example.config2'], 'dependencies' => [], 'bundle' => 'giraffe']]; $this->featuresManager->setPackages($packages); $config_item = new ConfigurationItem('example', [], ['package' => 'package']); $config_item2 = new ConfigurationItem('example2', [], ['package' => 'package2']); $this->featuresManager->setConfigCollection([$config_item, $config_item2]); $this->featuresManager->reset(); $this->assertEmpty($this->featuresManager->getPackages()); $config_collection = $this->featuresManager->getConfigCollection(); $this->assertEquals('', $config_collection[0]->getPackage()); $this->assertEquals('', $config_collection[1]->getPackage()); }
/** * Assigns a given subdirectory to configuration of specified types. * * @param string $subdirectory * The subdirectory that designated configuration should be exported to. */ protected function assignSubdirectoryByConfigTypes($subdirectory) { $current_bundle = $this->assigner->getBundle(); $settings = $current_bundle->getAssignmentSettings($this->getPluginId()); $types = $settings['types']['config']; $config_collection = $this->featuresManager->getConfigCollection(); foreach ($config_collection as &$item) { if (in_array($item->getType(), $types)) { $item->setSubdirectory($subdirectory); } } // Clean up the $item pass by reference. unset($item); $this->featuresManager->setConfigCollection($config_collection); }
/** * @covers ::prepareFiles */ public function testPrepareFiles() { $packages = []; $packages['test_feature'] = new Package('test_feature', ['config' => ['test_config'], 'name' => 'Test feature']); $config_collection = []; $config_collection['test_config'] = new ConfigurationItem('test_config', ['foo' => 'bar']); $this->featuresManager->setConfigCollection($config_collection); $this->featuresManager->prepareFiles($packages); $files = $packages['test_feature']->getFiles(); $this->assertCount(2, $files); $this->assertEquals('test_feature.info.yml', $files['info']['filename']); $this->assertEquals(Yaml::encode(['name' => 'Test feature', 'type' => 'module', 'core' => '8.x', 'config' => ['test_config'], 'features' => TRUE]), $files['info']['string']); $this->assertEquals('test_config.yml', $files['test_config']['filename']); $this->assertEquals(Yaml::encode(['foo' => 'bar']), $files['test_config']['string']); }
/** * @covers ::setConfigCollection * @covers ::getConfigCollection */ public function testConfigCollection() { $config = ['config' => 'collection']; $this->featuresManager->setConfigCollection($config); $this->assertArrayEquals($config, $this->featuresManager->getConfigCollection()); }