Commit d46fefcb authored by catch's avatar catch

Revert "Issue #2808063 by vaplas, martin107, Chi, Wim Leers, catch, dawehner,...

Revert "Issue #2808063 by vaplas, martin107, Chi, Wim Leers, catch, dawehner, alexpott: LibraryDiscoveryParser::buildByExtension() doesn't validate that extensions exist"

This reverts commit a68c44f4.
parent a68c44f4
......@@ -1543,7 +1543,7 @@ services:
- { name: needs_destruction }
library.discovery.parser:
class: Drupal\Core\Asset\LibraryDiscoveryParser
arguments: ['@app.root', '@module_handler', '@theme.manager', '@theme_handler']
arguments: ['@app.root', '@module_handler', '@theme.manager']
library.dependency_resolver:
class: Drupal\Core\Asset\LibraryDependencyResolver
arguments: ['@library.discovery']
......
......@@ -11,7 +11,6 @@
use Drupal\Core\Theme\ThemeManagerInterface;
use Drupal\Component\Serialization\Exception\InvalidDataTypeException;
use Drupal\Component\Utility\NestedArray;
use Drupal\Core\Extension\ThemeHandlerInterface;
/**
* Parses library files to get extension data.
......@@ -32,13 +31,6 @@ class LibraryDiscoveryParser {
*/
protected $themeManager;
/**
* The theme handler.
*
* @var \Drupal\Core\Extension\ThemeHandlerInterface
*/
protected $themeHandler;
/**
* The app root.
*
......@@ -55,14 +47,11 @@ class LibraryDiscoveryParser {
* The module handler.
* @param \Drupal\Core\Theme\ThemeManagerInterface $theme_manager
* The theme manager.
* @param \Drupal\Core\Extension\ThemeHandlerInterface $theme_handler
* The theme handler.
*/
public function __construct($root, ModuleHandlerInterface $module_handler, ThemeManagerInterface $theme_manager, ThemeHandlerInterface $theme_handler) {
public function __construct($root, ModuleHandlerInterface $module_handler, ThemeManagerInterface $theme_manager) {
$this->root = $root;
$this->moduleHandler = $module_handler;
$this->themeManager = $theme_manager;
$this->themeHandler = $theme_handler;
}
/**
......@@ -74,8 +63,6 @@ public function __construct($root, ModuleHandlerInterface $module_handler, Theme
* @return array
* All library definitions of the passed extension.
*
* @throws \AssertionError
* When the extension (theme, module, library) is not available.
* @throws \Drupal\Core\Asset\Exception\IncompleteLibraryDefinitionException
* Thrown when a library has no js/css/setting.
* @throws \UnexpectedValueException
......@@ -92,10 +79,9 @@ public function buildByExtension($extension) {
if ($this->moduleHandler->moduleExists($extension)) {
$extension_type = 'module';
}
elseif ($this->themeHandler->themeExists($extension)) {
else {
$extension_type = 'theme';
}
assert(isset($extension_type), sprintf('The extension "%s" is not available.', $extension));
$path = $this->drupalGetPath($extension_type, $extension);
}
......
......@@ -53,7 +53,7 @@ public function testDrupalSettingsCachingRegression() {
$session = $this->getSession();
// Insert a fake library into the already loaded library settings.
$fake_library = 'core/fakeLibrary';
$fake_library = 'fakeLibrary/fakeLibrary';
$session->evaluateScript("drupalSettings.ajaxPageState.libraries = drupalSettings.ajaxPageState.libraries + ',$fake_library';");
$libraries = $session->evaluateScript('drupalSettings.ajaxPageState.libraries');
......
......@@ -44,13 +44,6 @@ class LibraryDiscoveryParserTest extends UnitTestCase {
*/
protected $themeManager;
/**
* The mocked theme handler.
*
* @var \Drupal\Core\Extension\ThemeHandlerInterface|\PHPUnit_Framework_MockObject_MockObject
*/
protected $themeHandler;
/**
* The mocked lock backend.
*
......@@ -66,8 +59,6 @@ protected function setUp() {
$this->moduleHandler = $this->getMock('Drupal\Core\Extension\ModuleHandlerInterface');
$this->themeManager = $this->getMock('Drupal\Core\Theme\ThemeManagerInterface');
$this->themeHandler = $this->getMock('Drupal\Core\Extension\ThemeHandlerInterface');
$mock_active_theme = $this->getMockBuilder('Drupal\Core\Theme\ActiveTheme')
->disableOriginalConstructor()
->getMock();
......@@ -77,7 +68,7 @@ protected function setUp() {
$this->themeManager->expects($this->any())
->method('getActiveTheme')
->willReturn($mock_active_theme);
$this->libraryDiscoveryParser = new TestLibraryDiscoveryParser($this->root, $this->moduleHandler, $this->themeManager, $this->themeHandler);
$this->libraryDiscoveryParser = new TestLibraryDiscoveryParser($this->root, $this->moduleHandler, $this->themeManager);
}
/**
......@@ -118,11 +109,6 @@ public function testBuildByExtensionWithTheme() {
->with('example_theme')
->will($this->returnValue(FALSE));
$this->themeHandler->expects($this->atLeastOnce())
->method('themeExists')
->with('example_theme')
->will($this->returnValue(TRUE));
$path = __DIR__ . '/library_test_files';
$path = substr($path, strlen($this->root) + 1);
$this->libraryDiscoveryParser->setPaths('theme', 'example_theme', $path);
......@@ -174,28 +160,6 @@ public function testInvalidLibrariesFile() {
$this->libraryDiscoveryParser->buildByExtension('invalid_file');
}
/**
* Tests that an exception is thrown when the extension is not a valid
* module, theme or library.
*
* @covers ::buildByExtension
*/
public function testMissingExtension() {
$this->moduleHandler->expects($this->atLeastOnce())
->method('moduleExists')
->with('missing_extension')
->will($this->returnValue(FALSE));
$this->themeHandler->expects($this->atLeastOnce())
->method('themeExists')
->with('missing_extension')
->will($this->returnValue(FALSE));
assert_options(ASSERT_ACTIVE, 1);
$this->setExpectedException('\AssertionError', 'The extension "missing_extension" is not available.');
$this->libraryDiscoveryParser->buildByExtension('missing_extension');
}
/**
* Tests that an exception is thrown when no CSS/JS/setting is specified.
*
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment