Verified Commit 8ec568f2 authored by Lee Rowlands's avatar Lee Rowlands
Browse files

Issue #2911377 by smustgrave, ProFire, MerryHamster, ranjith_kumar_k_u, Medha...

Issue #2911377 by smustgrave, ProFire, MerryHamster, ranjith_kumar_k_u, Medha Kumari, Spokje, neclimdul, a.dmitriiev, quietone, catch, Gábor Hojtsy: Fix for Unit Test on Windows

(cherry picked from commit e1f56ada)
parent 3b1b6b2e
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -20,7 +20,8 @@ public function testFindFile() {

    // The full path is returned therefore only tests with
    // assertStringEndsWith() so the test is portable.
    $this->assertStringEndsWith('core/tests/Drupal/Tests/Component/ClassFinder/ClassFinderTest.php', $finder->findFile(ClassFinderTest::class));
    $expected_path = str_replace('/', DIRECTORY_SEPARATOR, 'core/tests/Drupal/Tests/Component/ClassFinder/ClassFinderTest.php');
    $this->assertStringEndsWith($expected_path, $finder->findFile(ClassFinderTest::class));
    $class = 'Not\\A\\Class';
    $this->assertNull($finder->findFile($class));

@@ -30,7 +31,7 @@ public function testFindFile() {
    $loader->register();
    $this->assertEquals(__FILE__, $finder->findFile($class));
    // This shouldn't prevent us from finding the original file.
    $this->assertStringEndsWith('core/tests/Drupal/Tests/Component/ClassFinder/ClassFinderTest.php', $finder->findFile(ClassFinderTest::class));
    $this->assertStringEndsWith($expected_path, $finder->findFile(ClassFinderTest::class));

    // Clean up the additional autoloader after the test.
    $loader->unregister();
+10 −9
Original line number Diff line number Diff line
@@ -80,18 +80,19 @@ public function testDiscovery() {
    $discovery = new YamlDirectoryDiscovery($directories, 'test');
    $data = $discovery->findAll();

    $this->assertSame(['id' => 'item1', 'name' => 'test1 item 1', YamlDirectoryDiscovery::FILE_KEY => 'vfs://modules/test_1/subdir1/item_1.test.yml'], $data['test_1']['item1']);
    $this->assertSame(['id' => 'item2', 'name' => 'test1 item 2', YamlDirectoryDiscovery::FILE_KEY => 'vfs://modules/test_1/subdir2/item_2.test.yml'], $data['test_1']['item2']);
    // The file path is dependent on the operating system, so we adjust the directory separator.
    $this->assertSame(['id' => 'item1', 'name' => 'test1 item 1', YamlDirectoryDiscovery::FILE_KEY => 'vfs://modules/test_1/subdir1' . DIRECTORY_SEPARATOR . 'item_1.test.yml'], $data['test_1']['item1']);
    $this->assertSame(['id' => 'item2', 'name' => 'test1 item 2', YamlDirectoryDiscovery::FILE_KEY => 'vfs://modules/test_1/subdir2' . DIRECTORY_SEPARATOR . 'item_2.test.yml'], $data['test_1']['item2']);
    $this->assertCount(2, $data['test_1']);

    $this->assertSame(['id' => 'item3', 'name' => 'test2 item 3', YamlDirectoryDiscovery::FILE_KEY => 'vfs://modules/test_2/subdir1/item_3.test.yml'], $data['test_2']['item3']);
    $this->assertSame(['id' => 'item3', 'name' => 'test2 item 3', YamlDirectoryDiscovery::FILE_KEY => 'vfs://modules/test_2/subdir1' . DIRECTORY_SEPARATOR . 'item_3.test.yml'], $data['test_2']['item3']);
    $this->assertCount(1, $data['test_2']);

    $this->assertArrayNotHasKey('test_3', $data, 'test_3 provides 0 items');

    $this->assertSame(['id' => 'item4', 'name' => 'test4 item 4', YamlDirectoryDiscovery::FILE_KEY => 'vfs://modules/test_4/subdir1/item_4.test.yml'], $data['test_4']['item4']);
    $this->assertSame(['id' => 'item5', 'name' => 'test4 item 5', YamlDirectoryDiscovery::FILE_KEY => 'vfs://modules/test_4/subdir1/item_5.test.yml'], $data['test_4']['item5']);
    $this->assertSame(['id' => 'item6', 'name' => 'test4 item 6', YamlDirectoryDiscovery::FILE_KEY => 'vfs://modules/test_4/subdir1/item_6.test.yml'], $data['test_4']['item6']);
    $this->assertSame(['id' => 'item4', 'name' => 'test4 item 4', YamlDirectoryDiscovery::FILE_KEY => 'vfs://modules/test_4/subdir1' . DIRECTORY_SEPARATOR . 'item_4.test.yml'], $data['test_4']['item4']);
    $this->assertSame(['id' => 'item5', 'name' => 'test4 item 5', YamlDirectoryDiscovery::FILE_KEY => 'vfs://modules/test_4/subdir1' . DIRECTORY_SEPARATOR . 'item_5.test.yml'], $data['test_4']['item5']);
    $this->assertSame(['id' => 'item6', 'name' => 'test4 item 6', YamlDirectoryDiscovery::FILE_KEY => 'vfs://modules/test_4/subdir1' . DIRECTORY_SEPARATOR . 'item_6.test.yml'], $data['test_4']['item6']);
    $this->assertCount(3, $data['test_4']);
  }

@@ -113,7 +114,7 @@ public function testDiscoveryAlternateId() {
    $discovery = new YamlDirectoryDiscovery($directories, 'test', 'alt_id');
    $data = $discovery->findAll();

    $this->assertSame(['alt_id' => 'item1', 'id' => 'ignored', YamlDirectoryDiscovery::FILE_KEY => 'vfs://modules/test_1/item_1.test.yml'], $data['test_1']['item1']);
    $this->assertSame(['alt_id' => 'item1', 'id' => 'ignored', YamlDirectoryDiscovery::FILE_KEY => 'vfs://modules/test_1' . DIRECTORY_SEPARATOR . 'item_1.test.yml'], $data['test_1']['item1']);
    $this->assertCount(1, $data['test_1']);
  }

@@ -125,7 +126,7 @@ public function testDiscoveryAlternateId() {
   */
  public function testDiscoveryNoIdException() {
    $this->expectException(DiscoveryException::class);
    $this->expectExceptionMessage('The vfs://modules/test_1/item_1.test.yml contains no data in the identifier key \'id\'');
    $this->expectExceptionMessage('The vfs://modules/test_1' . DIRECTORY_SEPARATOR . 'item_1.test.yml contains no data in the identifier key \'id\'');
    vfsStream::setup('modules', NULL, [
      'test_1' => [
        'item_1.test.yml' => "",
@@ -146,7 +147,7 @@ public function testDiscoveryNoIdException() {
   */
  public function testDiscoveryInvalidYamlException() {
    $this->expectException(DiscoveryException::class);
    $this->expectExceptionMessage('The vfs://modules/test_1/item_1.test.yml contains invalid YAML');
    $this->expectExceptionMessage('The vfs://modules/test_1' . DIRECTORY_SEPARATOR . 'item_1.test.yml contains invalid YAML');
    vfsStream::setup('modules', NULL, [
      'test_1' => [
        'item_1.test.yml' => "id: invalid\nfoo : [bar}",
+7 −7
Original line number Diff line number Diff line
@@ -41,11 +41,11 @@ protected function setUp(): void {
   */
  public function testGet() {
    // Test a cache miss.
    $result = $this->fileCache->get(__DIR__ . '/Fixtures/no-llama-42.yml');
    $result = $this->fileCache->get(__DIR__ . DIRECTORY_SEPARATOR . 'Fixtures' . DIRECTORY_SEPARATOR . 'no-llama-42.yml');
    $this->assertNull($result);

    // Test a cache hit.
    $filename = __DIR__ . '/Fixtures/llama-42.txt';
    $filename = __DIR__ . DIRECTORY_SEPARATOR . 'Fixtures' . DIRECTORY_SEPARATOR . 'llama-42.txt';
    $realpath = realpath($filename);
    $cid = 'prefix:test:' . $realpath;
    $data = [
@@ -68,11 +68,11 @@ public function testGet() {
   */
  public function testGetMultiple() {
    // Test a cache miss.
    $result = $this->fileCache->getMultiple([__DIR__ . '/Fixtures/no-llama-42.yml']);
    $result = $this->fileCache->getMultiple([__DIR__ . DIRECTORY_SEPARATOR . 'Fixtures' . DIRECTORY_SEPARATOR . 'no-llama-42.yml']);
    $this->assertEmpty($result);

    // Test a cache hit.
    $filename = __DIR__ . '/Fixtures/llama-42.txt';
    $filename = __DIR__ . DIRECTORY_SEPARATOR . 'Fixtures' . DIRECTORY_SEPARATOR . 'llama-42.txt';
    $realpath = realpath($filename);
    $cid = 'prefix:test:' . $realpath;
    $data = [
@@ -87,7 +87,7 @@ public function testGetMultiple() {
    $this->assertEquals([$filename => 42], $result);

    // Test a static cache hit.
    $file2 = __DIR__ . '/Fixtures/llama-23.txt';
    $file2 = __DIR__ . DIRECTORY_SEPARATOR . 'Fixtures' . DIRECTORY_SEPARATOR . 'llama-23.txt';
    $this->fileCache->set($file2, 23);

    $result = $this->fileCache->getMultiple([$filename, $file2]);
@@ -102,7 +102,7 @@ public function testGetMultiple() {
   * @covers ::set
   */
  public function testSet() {
    $filename = __DIR__ . '/Fixtures/llama-23.txt';
    $filename = __DIR__ . DIRECTORY_SEPARATOR . 'Fixtures' . DIRECTORY_SEPARATOR . 'llama-23.txt';
    $realpath = realpath($filename);
    $cid = 'prefix:test:' . $realpath;
    $data = [
@@ -123,7 +123,7 @@ public function testSet() {
   * @covers ::delete
   */
  public function testDelete() {
    $filename = __DIR__ . '/Fixtures/llama-23.txt';
    $filename = __DIR__ . DIRECTORY_SEPARATOR . 'Fixtures' . DIRECTORY_SEPARATOR . 'llama-23.txt';
    $realpath = realpath($filename);
    $cid = 'prefix:test:' . $realpath;