Security update for Core, with self-updated composer
[yaffs-website] / vendor / webflo / drupal-finder / tests / DrupalFinderTest.php
diff --git a/vendor/webflo/drupal-finder/tests/DrupalFinderTest.php b/vendor/webflo/drupal-finder/tests/DrupalFinderTest.php
deleted file mode 100644 (file)
index 5ca42f9..0000000
+++ /dev/null
@@ -1,302 +0,0 @@
-<?php
-
-use org\bovigo\vfs\vfsStream;
-
-class DrupalFinderTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @var \DrupalFinder\DrupalFinder
-     */
-    protected $finder;
-
-    protected static $fileStructure = [
-      'autoload.php' => '',
-      'composer.json' => '',
-      'core' => [
-        'includes' => [
-          'common.inc' => '',
-        ],
-        'misc' => [
-          'drupal.js' => '',
-        ],
-        'core.services.yml' => '',
-      ],
-      'modules' => [],
-      'vendor' => [],
-    ];
-
-    /**
-     * @return array
-     */
-    protected function getDrupalComposerStructure()
-    {
-        $fileStructure = [
-          'web' => static::$fileStructure,
-          'composer.json' => json_encode([
-            'require' => [
-              'drupal/core' => '*',
-            ],
-            'extra' => [
-              'installer-paths' => [
-                'web/core' => [
-                  'type:drupal-core',
-                ],
-              ],
-            ],
-          ]),
-          'vendor' => [],
-        ];
-        unset($fileStructure['web']['composer.json']);
-        unset($fileStructure['web']['vendor']);
-
-        return $fileStructure;
-    }
-
-    protected function setUp()
-    {
-        parent::setUp();
-        $this->finder = new \DrupalFinder\DrupalFinder();
-    }
-
-    public function testDrupalDefaultStructure()
-    {
-        $root = vfsStream::setup('root', null, static::$fileStructure);
-
-        $this->assertTrue($this->finder->locateRoot($root->url()));
-        $this->assertSame('vfs://root', $this->finder->getDrupalRoot());
-        $this->assertSame('vfs://root', $this->finder->getComposerRoot());
-        $this->assertSame('vfs://root/vendor', $this->finder->getVendorDir());
-
-        $this->assertTrue($this->finder->locateRoot($root->url() . '/misc'));
-        $this->assertSame('vfs://root', $this->finder->getDrupalRoot());
-        $this->assertSame('vfs://root', $this->finder->getComposerRoot());
-        $this->assertSame('vfs://root/vendor', $this->finder->getVendorDir());
-
-        $root = vfsStream::setup(
-            'root',
-            null,
-            ['project' => static::$fileStructure]
-        );
-        $this->assertFalse(
-            $this->finder->locateRoot($root->url()),
-            'Not in the scope of the project'
-        );
-        $this->assertFalse($this->finder->getDrupalRoot());
-        $this->assertFalse($this->finder->getComposerRoot());
-        $this->assertFalse($this->finder->getVendorDir());
-    }
-
-    public function testDrupalComposerStructure()
-    {
-        $fileStructure = $this->getDrupalComposerStructure();
-        $this->assertComposerStructure($fileStructure);
-    }
-
-    public function testDrupalComposerStructureWithoutRequire()
-    {
-        $fileStructure = [
-          'web' => static::$fileStructure,
-          'composer.json' => json_encode([
-            'extra' => [
-              'installer-paths' => [
-                'web/core' => [
-                  'drupal/core',
-                ],
-              ],
-            ],
-          ]),
-        ];
-        unset($fileStructure['web']['composer.json']);
-        $this->assertComposerStructure($fileStructure);
-    }
-
-    public function testNoDrupalRootWithRealFilesystem()
-    {
-        $root = $this->tempdir(sys_get_temp_dir());
-
-        $this->assertFalse($this->finder->locateRoot($root));
-        $this->assertFalse($this->finder->getDrupalRoot());
-        $this->assertFalse($this->finder->getComposerRoot());
-        $this->assertFalse($this->finder->getVendorDir());
-    }
-
-    public function testDrupalDefaultStructureWithRealFilesystem()
-    {
-        $root = $this->tempdir(sys_get_temp_dir());
-        $this->dumpToFileSystem(static::$fileStructure, $root);
-
-        $this->assertTrue($this->finder->locateRoot($root));
-        $this->assertSame($root, $this->finder->getDrupalRoot());
-        $this->assertSame($root, $this->finder->getComposerRoot());
-        $this->assertSame($root . '/vendor', $this->finder->getVendorDir());
-
-        // Test symlink implementation
-        $symlink = $this->tempdir(sys_get_temp_dir());
-        $this->symlink($root, $symlink . '/foo');
-
-        $this->assertTrue($this->finder->locateRoot($symlink . '/foo'));
-        $this->assertSame($root, $this->finder->getDrupalRoot());
-        $this->assertSame($root, $this->finder->getComposerRoot());
-        $this->assertSame($root . '/vendor', $this->finder->getVendorDir());
-    }
-
-    public function testDrupalComposerStructureWithRealFilesystem()
-    {
-        $root = $this->tempdir(sys_get_temp_dir());
-        $this->dumpToFileSystem($this->getDrupalComposerStructure(), $root);
-
-        $this->assertTrue($this->finder->locateRoot($root));
-        $this->assertSame($root . '/web', $this->finder->getDrupalRoot());
-        $this->assertSame($root, $this->finder->getComposerRoot());
-        $this->assertSame($root . '/vendor', $this->finder->getVendorDir());
-
-        // Test symlink implementation
-        $symlink = $this->tempdir(sys_get_temp_dir());
-        $this->symlink($root, $symlink . '/foo');
-
-        $this->assertTrue($this->finder->locateRoot($symlink . '/foo'));
-        $this->assertSame($root . '/web', $this->finder->getDrupalRoot());
-        $this->assertSame($root, $this->finder->getComposerRoot());
-        $this->assertSame($root . '/vendor', $this->finder->getVendorDir());
-    }
-
-    public function testDrupalWithLinkedModule()
-    {
-        $root = $this->tempdir(sys_get_temp_dir());
-        $this->dumpToFileSystem(static::$fileStructure, $root);
-
-        $module = $this->tempdir(sys_get_temp_dir());
-        $module_link = $root . '/modules/foo';
-        $this->symlink($module, $module_link);
-
-        $this->assertTrue($this->finder->locateRoot($module_link));
-        $this->assertSame($root, realpath($this->finder->getDrupalRoot()));
-        $this->assertSame($root, realpath($this->finder->getComposerRoot()));
-        $this->assertSame($root . '/vendor', realpath($this->finder->getVendorDir()));
-    }
-
-    public function testDrupalWithCustomVendor()
-    {
-        $root = $this->tempdir(sys_get_temp_dir());
-        $fileStructure = static::$fileStructure;
-        $fileStructure['composer.json'] = json_encode([
-            'config' => [
-                'vendor-dir' => 'vendor-foo'
-            ]
-        ], JSON_UNESCAPED_SLASHES);
-        $fileStructure['vendor-foo'] = [];
-        $this->dumpToFileSystem($fileStructure, $root);
-
-        $this->assertTrue($this->finder->locateRoot($root));
-        $this->assertSame($root, realpath($this->finder->getDrupalRoot()));
-        $this->assertSame($root, realpath($this->finder->getComposerRoot()));
-        $this->assertSame($root . '/vendor-foo', realpath($this->finder->getVendorDir()));
-    }
-
-    protected function dumpToFileSystem($fileStructure, $root)
-    {
-        foreach ($fileStructure as $name => $content) {
-            if (is_array($content)) {
-                mkdir($root . '/' . $name);
-                $this->dumpToFileSystem($content, $root . '/' . $name);
-            } else {
-                file_put_contents($root . '/' . $name, $content);
-            }
-        }
-    }
-
-    protected function tempdir($dir, $prefix = '', $mode = 0700)
-    {
-        if (substr($dir, -1) != '/') {
-            $dir .= '/';
-        }
-        do {
-            $path = $dir . $prefix . mt_rand(0, 9999999);
-        } while (!mkdir($path, $mode));
-        register_shutdown_function(
-            ['DrupalFinderTest', 'tempdir_remove'],
-            $path
-        );
-
-        return realpath($path);
-    }
-
-    public static function tempdir_remove($path)
-    {
-        if (is_link($path)) {
-            if (defined('PHP_WINDOWS_VERSION_BUILD')) {
-                rmdir($path);
-            } else {
-                unlink($path);
-            }
-
-            return;
-        }
-
-        foreach (scandir($path) as $child) {
-            if (in_array($child, ['.', '..'])) {
-                continue;
-            }
-            $child = "$path/$child";
-            is_dir($child) ? static::tempdir_remove($child) : unlink($child);
-        }
-        rmdir($path);
-    }
-
-    /**
-     * @param $target
-     * @param $link
-     *
-     * @throws PHPUnit_Framework_SkippedTestError
-     */
-    private function symlink($target, $link)
-    {
-        try {
-            return symlink($target, $link);
-        } catch (Exception $e) {
-            if (defined('PHP_WINDOWS_VERSION_BUILD')
-              && strstr($e->getMessage(), WIN_ERROR_PRIVILEGE_NOT_HELD)
-            ) {
-                $this->markTestSkipped(<<<'MESSAGE'
-No privilege to create symlinks. Run test as Administrator (elevated process).
-MESSAGE
-                );
-            }
-            throw $e;
-        }
-    }
-
-    /**
-     * @param $fileStructure
-     */
-    protected function assertComposerStructure($fileStructure)
-    {
-        $root = vfsStream::setup('root', null, $fileStructure);
-        $this->assertTrue($this->finder->locateRoot($root->url() . '/web'));
-        $this->assertSame('vfs://root/web', $this->finder->getDrupalRoot());
-        $this->assertSame('vfs://root', $this->finder->getComposerRoot());
-        $this->assertSame('vfs://root/vendor', $this->finder->getVendorDir());
-
-        $this->assertTrue($this->finder->locateRoot($root->url() . '/web/misc'));
-        $this->assertSame('vfs://root/web', $this->finder->getDrupalRoot());
-        $this->assertSame('vfs://root', $this->finder->getComposerRoot());
-        $this->assertSame('vfs://root/vendor', $this->finder->getVendorDir());
-
-        $this->assertTrue($this->finder->locateRoot($root->url()));
-        $this->assertSame('vfs://root/web', $this->finder->getDrupalRoot());
-        $this->assertSame('vfs://root', $this->finder->getComposerRoot());
-        $this->assertSame('vfs://root/vendor', $this->finder->getVendorDir());
-
-        $root = vfsStream::setup(
-          'root',
-          null,
-          ['nested_folder' => $fileStructure]
-        );
-        $this->assertFalse($this->finder->locateRoot($root->url()));
-        $this->assertFalse($this->finder->getDrupalRoot());
-        $this->assertFalse($this->finder->getComposerRoot());
-        $this->assertFalse($this->finder->getVendorDir());
-    }
-}
-
-define('WIN_ERROR_PRIVILEGE_NOT_HELD', '1314');