$this->themeHandler->
themeExists('theme_a'
)->
willReturn(TRUE
);
$this->themeHandler->
themeExists('core'
)->
willReturn(FALSE
);
$this->themeHandler->
themeExists('invalid_provider'
)->
willReturn(FALSE
);
$theme_a =
new Extension('vfs://root', 'theme', 'themes/theme_a/theme_a.layouts.yml'
);
$this->themeHandler->
getTheme('theme_a'
)->
willReturn($theme_a);
$this->themeHandler->
getThemeDirectories()->
willReturn(['theme_a' => vfsStream::
url('root/themes/theme_a'
)]);
$this->cacheBackend =
$this->
prophesize(CacheBackendInterface::
class);
$namespaces =
new \
ArrayObject(['Drupal\Core' => vfsStream::
url('root/core/lib/Drupal/Core'
)]);
$this->layoutPluginManager =
new LayoutPluginManager($namespaces,
$this->cacheBackend->
reveal(),
$this->moduleHandler->
reveal(),
$this->themeHandler->
reveal());
} /**
* @covers ::getDefinitions
* @covers ::providerExists
*/
public function testGetDefinitions() { $expected =
[ 'module_a_provided_layout',
'theme_a_provided_layout',
'plugin_provided_layout',
];