public function FeaturesManagerTest::testGetPackages in Features 8.3
Same name and namespace in other branches
- 8.4 tests/src/Unit/FeaturesManagerTest.php \Drupal\Tests\features\Unit\FeaturesManagerTest::testGetPackages()
@covers ::filterPackages
File
- tests/
src/ Unit/ FeaturesManagerTest.php, line 261
Class
- FeaturesManagerTest
- @coversDefaultClass Drupal\features\FeaturesManager @group features
Namespace
Drupal\Tests\features\UnitCode
public function testGetPackages() {
$packages = [
'package' => new Package('package', [
'bundle' => '',
'status' => FeaturesManagerInterface::STATUS_NO_EXPORT,
]),
'package2' => new Package('package2', [
'bundle' => '',
'status' => FeaturesManagerInterface::STATUS_UNINSTALLED,
]),
'package3' => new Package('package3', [
'bundle' => 'my_bundle',
'status' => FeaturesManagerInterface::STATUS_NO_EXPORT,
]),
'package4' => new Package('package4', [
'bundle' => 'my_bundle',
'status' => FeaturesManagerInterface::STATUS_UNINSTALLED,
]),
];
// Filter for the default bundle.
$filtered_packages = $this->featuresManager
->filterPackages($packages, FeaturesBundleInterface::DEFAULT_BUNDLE);
$this
->assertEquals([
'package',
'package2',
], array_keys($filtered_packages));
// Filter for a custom bundle.
$filtered_packages = $this->featuresManager
->filterPackages($packages, 'my_bundle');
$this
->assertEquals([
'package3',
'package4',
], array_keys($filtered_packages));
// Filter for a non-matching bundle.
$filtered_packages = $this->featuresManager
->filterPackages($packages, 'some_bundle');
$this
->assertEquals([], array_keys($filtered_packages));
// Filter for the default bundle removing only exported.
$filtered_packages = $this->featuresManager
->filterPackages($packages, FeaturesBundleInterface::DEFAULT_BUNDLE, TRUE);
$this
->assertEquals([
'package',
], array_keys($filtered_packages));
// Filter for a custom bundle removing only exported.
$filtered_packages = $this->featuresManager
->filterPackages($packages, 'my_bundle', TRUE);
$this
->assertEquals([
'package3',
], array_keys($filtered_packages));
// Filter for a non-matching bundle removing only exported.
$filtered_packages = $this->featuresManager
->filterPackages($packages, 'some_bundle', TRUE);
$this
->assertEquals([], array_keys($filtered_packages));
}