diff --git a/core/modules/system/lib/Drupal/system/Tests/Bundle/BundleTest.php b/core/modules/system/lib/Drupal/system/Tests/Bundle/BundleTest.php index 3fa0d1d..3122ffc 100644 --- a/core/modules/system/lib/Drupal/system/Tests/Bundle/BundleTest.php +++ b/core/modules/system/lib/Drupal/system/Tests/Bundle/BundleTest.php @@ -41,4 +41,12 @@ function testBundleRegistration() { $this->drupalGet(''); $this->assertText(t('The bundle_test event subscriber fired!'), 'The bundle_test event subscriber fired'); } + + /** + * Tests module bundle services in the request that enables a module. + */ + function testBundleRegistrationAfterEnable() { + $this->drupalGet('bundle_test_dependent'); + $this->assertText('Drupal\bundle_test_dependent::test()'); + } } diff --git a/core/modules/system/tests/modules/bundle_test/bundle_test.module b/core/modules/system/tests/modules/bundle_test/bundle_test.module index b3d9bbc..8eaf707 100644 --- a/core/modules/system/tests/modules/bundle_test/bundle_test.module +++ b/core/modules/system/tests/modules/bundle_test/bundle_test.module @@ -1 +1,25 @@ 'Bundle test dependent callback', + 'page callback' => 'bundle_test_dependent_callback', + 'access callback' => TRUE, + 'type' => MENU_CALLBACK, + ); + + return $items; +} + +/** + * Enables the bundle_test_dependent module and invokes one of its services. + */ +function bundle_test_dependent_callback() { + module_enable(array('bundle_test_dependent')); + return drupal_container()->get('bundle_test_dependent.test_service')->test(); +} diff --git a/core/modules/system/tests/modules/bundle_test_dependent/bundle_test_dependent.info b/core/modules/system/tests/modules/bundle_test_dependent/bundle_test_dependent.info new file mode 100644 index 0000000..3f7e3ec --- /dev/null +++ b/core/modules/system/tests/modules/bundle_test_dependent/bundle_test_dependent.info @@ -0,0 +1,6 @@ +name = "Bundle test dependent" +description = "Support module for bundle testing." +package = Testing +version = VERSION +core = 8.x +hidden = TRUE diff --git a/core/modules/system/tests/modules/bundle_test_dependent/bundle_test_dependent.module b/core/modules/system/tests/modules/bundle_test_dependent/bundle_test_dependent.module new file mode 100644 index 0000000..eb498dd --- /dev/null +++ b/core/modules/system/tests/modules/bundle_test_dependent/bundle_test_dependent.module @@ -0,0 +1,6 @@ +register('bundle_test_dependent.test_service', 'Drupal\bundle_test_dependent\TestClass'); + } +} diff --git a/core/modules/system/tests/modules/bundle_test_dependent/lib/Drupal/bundle_test_dependent/TestClass.php b/core/modules/system/tests/modules/bundle_test_dependent/lib/Drupal/bundle_test_dependent/TestClass.php new file mode 100644 index 0000000..92a744b --- /dev/null +++ b/core/modules/system/tests/modules/bundle_test_dependent/lib/Drupal/bundle_test_dependent/TestClass.php @@ -0,0 +1,22 @@ +