class LibrariesDirectoryFileFinderTest in Drupal 8
Same name and namespace in other branches
- 9 core/tests/Drupal/Tests/Core/Asset/LibrariesDirectoryFileFinderTest.php \Drupal\Tests\Core\Asset\LibrariesDirectoryFileFinderTest
- 10 core/tests/Drupal/Tests/Core/Asset/LibrariesDirectoryFileFinderTest.php \Drupal\Tests\Core\Asset\LibrariesDirectoryFileFinderTest
@coversDefaultClass \Drupal\Core\Asset\LibrariesDirectoryFileFinder @group Asset
Hierarchy
- class \Drupal\Tests\UnitTestCase extends \PHPUnit\Framework\TestCase uses PhpunitCompatibilityTrait
- class \Drupal\Tests\Core\Asset\LibrariesDirectoryFileFinderTest
Expanded class hierarchy of LibrariesDirectoryFileFinderTest
File
- core/
tests/ Drupal/ Tests/ Core/ Asset/ LibrariesDirectoryFileFinderTest.php, line 14
Namespace
Drupal\Tests\Core\AssetView source
class LibrariesDirectoryFileFinderTest extends UnitTestCase {
/**
* @covers ::find
*/
public function testFind() {
// Place a library file in all the possible locations.
$structure = [
'sites' => [
'example.com' => [
'libraries' => [
'third_party_library' => [
'css' => [
'example.css' => '/*Some css*/',
],
],
],
],
],
'libraries' => [
'third_party_library' => [
'css' => [
'example.css' => '/*Some css*/',
],
],
],
'profiles' => [
'library_testing' => [
'libraries' => [
'third_party_library' => [
'css' => [
'example.css' => '/*Some css*/',
],
],
],
],
],
];
vfsStream::setup('root', NULL, $structure);
$extension_list = $this
->prophesize(ProfileExtensionList::class);
$extension_list
->getPath('library_testing')
->willReturn('profiles/library_testing');
$finder = new LibrariesDirectoryFileFinder('vfs://root', 'sites/example.com', $extension_list
->reveal(), 'library_testing');
// The site specific location is the first location used.
$path = $finder
->find('third_party_library/css/example.css');
$this
->assertEquals('sites/example.com/libraries/third_party_library/css/example.css', $path);
// After removing the site specific location the root libraries folder
// should be used.
unlink('vfs://root/sites/example.com/libraries/third_party_library/css/example.css');
$path = $finder
->find('third_party_library/css/example.css');
$this
->assertEquals('libraries/third_party_library/css/example.css', $path);
// The profile's libraries is now the only remaining location.
unlink('vfs://root/libraries/third_party_library/css/example.css');
$path = $finder
->find('third_party_library/css/example.css');
$this
->assertEquals('profiles/library_testing/libraries/third_party_library/css/example.css', $path);
// If the libraries file cannot be found FALSE is returned.
unlink('vfs://root/profiles/library_testing/libraries/third_party_library/css/example.css');
$this
->assertFalse($finder
->find('third_party_library/css/example.css'));
// Test finding by the directory only. As all the directories still we'll
// find the first location.
$path = $finder
->find('third_party_library');
$this
->assertEquals('sites/example.com/libraries/third_party_library', $path);
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
LibrariesDirectoryFileFinderTest:: |
public | function | @covers ::find | |
PhpunitCompatibilityTrait:: |
public | function | Returns a mock object for the specified class using the available method. | |
PhpunitCompatibilityTrait:: |
public | function | Compatibility layer for PHPUnit 6 to support PHPUnit 4 code. | |
UnitTestCase:: |
protected | property | The random generator. | |
UnitTestCase:: |
protected | property | The app root. | 1 |
UnitTestCase:: |
protected | function | Asserts if two arrays are equal by sorting them first. | |
UnitTestCase:: |
protected | function | Mocks a block with a block plugin. | 1 |
UnitTestCase:: |
protected | function | Returns a stub class resolver. | |
UnitTestCase:: |
public | function | Returns a stub config factory that behaves according to the passed array. | |
UnitTestCase:: |
public | function | Returns a stub config storage that returns the supplied configuration. | |
UnitTestCase:: |
protected | function | Sets up a container with a cache tags invalidator. | |
UnitTestCase:: |
protected | function | Gets the random generator for the utility methods. | |
UnitTestCase:: |
public | function | Returns a stub translation manager that just returns the passed string. | |
UnitTestCase:: |
public | function | Generates a unique random string containing letters and numbers. | |
UnitTestCase:: |
protected | function | 340 |