From 711e3dd2ba9c98a280c53022fe41d8f6b2b6d1bb Mon Sep 17 00:00:00 2001 From: Matt Stauffer Date: Fri, 2 Dec 2022 21:15:15 -0500 Subject: [PATCH] Move all drivers to PSR autoload, and write tests --- .gitignore | 2 +- .../Drivers}/BasicValetDriver.php | 2 ++ .../Drivers}/BedrockValetDriver.php | 2 ++ .../Drivers}/CakeValetDriver.php | 2 ++ .../Drivers}/Concrete5ValetDriver.php | 2 ++ .../Drivers}/ContaoValetDriver.php | 2 ++ .../Drivers}/CraftValetDriver.php | 2 ++ .../Drivers}/DrupalValetDriver.php | 2 ++ .../Drivers}/JigsawValetDriver.php | 2 ++ .../Drivers}/JoomlaValetDriver.php | 2 ++ .../Drivers}/KatanaValetDriver.php | 2 ++ .../Drivers}/KirbyValetDriver.php | 2 ++ .../Drivers}/LaravelValetDriver.php | 2 ++ .../Drivers}/Magento2ValetDriver.php | 2 ++ .../Drivers}/NeosValetDriver.php | 2 ++ .../Drivers}/SculpinValetDriver.php | 2 ++ .../Drivers}/StatamicV1ValetDriver.php | 2 ++ .../Drivers}/StatamicValetDriver.php | 2 ++ .../Drivers}/SymfonyValetDriver.php | 2 ++ .../Drivers}/Typo3ValetDriver.php | 2 ++ .../Drivers}/ValetDriver.php | 2 ++ .../Drivers}/WordPressValetDriver.php | 2 ++ cli/app.php | 3 +- cli/drivers/require.php | 30 ------------------ composer.json | 3 +- server.php | 5 +-- tests/Drivers/BaseDriverTestCase.php | 14 +++++++++ tests/Drivers/BasicValetDriverTest.php | 15 +++++++++ tests/Drivers/BedrockValetDriverTest.php | 30 ++++++++++++++++++ tests/Drivers/CakeValetDriverTest.php | 28 +++++++++++++++++ tests/Drivers/Concrete5ValetDriverTest.php | 28 +++++++++++++++++ tests/Drivers/ContaoValetDriverTest.php | 28 +++++++++++++++++ tests/Drivers/CraftValetDriverTest.php | 30 ++++++++++++++++++ tests/Drivers/DrupalValetDriverTest.php | 30 ++++++++++++++++++ tests/Drivers/JigsawValetDriverTest.php | 27 ++++++++++++++++ tests/Drivers/JoomlaValetDriverTest.php | 30 ++++++++++++++++++ tests/Drivers/KatanaValetDriverTest.php | 27 ++++++++++++++++ tests/Drivers/KirbyValetDriverTest.php | 30 ++++++++++++++++++ tests/Drivers/LaravelValetDriverTest.php | 28 +++++++++++++++++ tests/Drivers/Magento2ValetDriverTest.php | 28 +++++++++++++++++ tests/Drivers/NeosValetDriverTest.php | 28 +++++++++++++++++ tests/Drivers/SculpinValetDriverTest.php | 27 ++++++++++++++++ tests/Drivers/StatamicV1ValetDriverTest.php | 28 +++++++++++++++++ tests/Drivers/StatamicValetDriverTest.php | 31 +++++++++++++++++++ tests/Drivers/SymfonyValetDriverTest.php | 28 +++++++++++++++++ tests/Drivers/Typo3ValetDriverTest.php | 28 +++++++++++++++++ tests/Drivers/WordPressValetDriverTest.php | 30 ++++++++++++++++++ .../projects/bedrock/config/application.php | 0 .../Drivers/projects/bedrock/web/app/.gitkeep | 0 tests/Drivers/projects/bedrock/web/index.php | 0 .../projects/bedrock/web/wp-config.php | 0 tests/Drivers/projects/cake/bin/cake | 0 tests/Drivers/projects/cake/webroot/index.php | 0 .../concrete5/concrete/config/install/base | 0 .../projects/contao/vendor/contao/.gitkeep | 0 tests/Drivers/projects/contao/web/app.php | 0 tests/Drivers/projects/craft/craft | 0 tests/Drivers/projects/craft/public/index.php | 0 .../projects/drupal/public/misc/drupal.js | 0 .../projects/jigsaw/build_local/.gitkeep | 0 tests/Drivers/projects/joomla/index.php | 0 .../projects/joomla/libraries/joomla/.gitkeep | 0 tests/Drivers/projects/katana/katana | 0 tests/Drivers/projects/kirby/index.php | 0 tests/Drivers/projects/kirby/kirby/.gitkeep | 0 tests/Drivers/projects/laravel/artisan | 0 .../Drivers/projects/laravel/public/index.php | 0 tests/Drivers/projects/magento2/bin/magento | 0 tests/Drivers/projects/magento2/pub/index.php | 0 tests/Drivers/projects/neos/Web/.gitkeep | 0 tests/Drivers/projects/neos/flow | 0 .../public/index.php | 0 tests/Drivers/projects/sculpin/composer.json | 5 +++ .../projects/sculpin/output_dev/.gitkeep | 0 .../Drivers/projects/sculpin/source/.gitkeep | 0 .../projects/statamic/statamic/.gitkeep | 0 .../statamicv1/_app/core/statamic.php | 0 tests/Drivers/projects/statamicv1/index.php | 0 .../Drivers/projects/symfony/public/index.php | 0 tests/Drivers/projects/symfony/src/Kernel.php | 0 tests/Drivers/projects/symfony/web/app.php | 0 .../Drivers/projects/typo3/web/typo3/.gitkeep | 0 tests/Drivers/projects/wordpress/index.php | 0 .../Drivers/projects/wordpress/wp-config.php | 0 84 files changed, 627 insertions(+), 36 deletions(-) rename cli/{drivers => Valet/Drivers}/BasicValetDriver.php (99%) rename cli/{drivers => Valet/Drivers}/BedrockValetDriver.php (98%) rename cli/{drivers => Valet/Drivers}/CakeValetDriver.php (98%) rename cli/{drivers => Valet/Drivers}/Concrete5ValetDriver.php (98%) rename cli/{drivers => Valet/Drivers}/ContaoValetDriver.php (98%) rename cli/{drivers => Valet/Drivers}/CraftValetDriver.php (99%) rename cli/{drivers => Valet/Drivers}/DrupalValetDriver.php (99%) rename cli/{drivers => Valet/Drivers}/JigsawValetDriver.php (95%) rename cli/{drivers => Valet/Drivers}/JoomlaValetDriver.php (96%) rename cli/{drivers => Valet/Drivers}/KatanaValetDriver.php (95%) rename cli/{drivers => Valet/Drivers}/KirbyValetDriver.php (98%) rename cli/{drivers => Valet/Drivers}/LaravelValetDriver.php (98%) rename cli/{drivers => Valet/Drivers}/Magento2ValetDriver.php (99%) rename cli/{drivers => Valet/Drivers}/NeosValetDriver.php (98%) rename cli/{drivers => Valet/Drivers}/SculpinValetDriver.php (98%) rename cli/{drivers => Valet/Drivers}/StatamicV1ValetDriver.php (98%) rename cli/{drivers => Valet/Drivers}/StatamicValetDriver.php (99%) rename cli/{drivers => Valet/Drivers}/SymfonyValetDriver.php (98%) rename cli/{drivers => Valet/Drivers}/Typo3ValetDriver.php (99%) rename cli/{drivers => Valet/Drivers}/ValetDriver.php (99%) rename cli/{drivers => Valet/Drivers}/WordPressValetDriver.php (98%) delete mode 100644 cli/drivers/require.php create mode 100644 tests/Drivers/BaseDriverTestCase.php create mode 100644 tests/Drivers/BasicValetDriverTest.php create mode 100644 tests/Drivers/BedrockValetDriverTest.php create mode 100644 tests/Drivers/CakeValetDriverTest.php create mode 100644 tests/Drivers/Concrete5ValetDriverTest.php create mode 100644 tests/Drivers/ContaoValetDriverTest.php create mode 100644 tests/Drivers/CraftValetDriverTest.php create mode 100644 tests/Drivers/DrupalValetDriverTest.php create mode 100644 tests/Drivers/JigsawValetDriverTest.php create mode 100644 tests/Drivers/JoomlaValetDriverTest.php create mode 100644 tests/Drivers/KatanaValetDriverTest.php create mode 100644 tests/Drivers/KirbyValetDriverTest.php create mode 100644 tests/Drivers/LaravelValetDriverTest.php create mode 100644 tests/Drivers/Magento2ValetDriverTest.php create mode 100644 tests/Drivers/NeosValetDriverTest.php create mode 100644 tests/Drivers/SculpinValetDriverTest.php create mode 100644 tests/Drivers/StatamicV1ValetDriverTest.php create mode 100644 tests/Drivers/StatamicValetDriverTest.php create mode 100644 tests/Drivers/SymfonyValetDriverTest.php create mode 100644 tests/Drivers/Typo3ValetDriverTest.php create mode 100644 tests/Drivers/WordPressValetDriverTest.php create mode 100644 tests/Drivers/projects/bedrock/config/application.php create mode 100644 tests/Drivers/projects/bedrock/web/app/.gitkeep create mode 100644 tests/Drivers/projects/bedrock/web/index.php create mode 100644 tests/Drivers/projects/bedrock/web/wp-config.php create mode 100644 tests/Drivers/projects/cake/bin/cake create mode 100644 tests/Drivers/projects/cake/webroot/index.php create mode 100644 tests/Drivers/projects/concrete5/concrete/config/install/base create mode 100644 tests/Drivers/projects/contao/vendor/contao/.gitkeep create mode 100644 tests/Drivers/projects/contao/web/app.php create mode 100644 tests/Drivers/projects/craft/craft create mode 100644 tests/Drivers/projects/craft/public/index.php create mode 100644 tests/Drivers/projects/drupal/public/misc/drupal.js create mode 100644 tests/Drivers/projects/jigsaw/build_local/.gitkeep create mode 100644 tests/Drivers/projects/joomla/index.php create mode 100644 tests/Drivers/projects/joomla/libraries/joomla/.gitkeep create mode 100644 tests/Drivers/projects/katana/katana create mode 100644 tests/Drivers/projects/kirby/index.php create mode 100644 tests/Drivers/projects/kirby/kirby/.gitkeep create mode 100644 tests/Drivers/projects/laravel/artisan create mode 100644 tests/Drivers/projects/laravel/public/index.php create mode 100644 tests/Drivers/projects/magento2/bin/magento create mode 100644 tests/Drivers/projects/magento2/pub/index.php create mode 100644 tests/Drivers/projects/neos/Web/.gitkeep create mode 100644 tests/Drivers/projects/neos/flow create mode 100644 tests/Drivers/projects/public-with-index-non-laravel/public/index.php create mode 100644 tests/Drivers/projects/sculpin/composer.json create mode 100644 tests/Drivers/projects/sculpin/output_dev/.gitkeep create mode 100644 tests/Drivers/projects/sculpin/source/.gitkeep create mode 100644 tests/Drivers/projects/statamic/statamic/.gitkeep create mode 100644 tests/Drivers/projects/statamicv1/_app/core/statamic.php create mode 100644 tests/Drivers/projects/statamicv1/index.php create mode 100644 tests/Drivers/projects/symfony/public/index.php create mode 100644 tests/Drivers/projects/symfony/src/Kernel.php create mode 100644 tests/Drivers/projects/symfony/web/app.php create mode 100644 tests/Drivers/projects/typo3/web/typo3/.gitkeep create mode 100644 tests/Drivers/projects/wordpress/index.php create mode 100644 tests/Drivers/projects/wordpress/wp-config.php diff --git a/.gitignore b/.gitignore index 9b527bf..aee0c36 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ .DS_Store -vendor/ +/vendor/ composer.lock error.log .idea diff --git a/cli/drivers/BasicValetDriver.php b/cli/Valet/Drivers/BasicValetDriver.php similarity index 99% rename from cli/drivers/BasicValetDriver.php rename to cli/Valet/Drivers/BasicValetDriver.php index b5f9368..5b9f019 100644 --- a/cli/drivers/BasicValetDriver.php +++ b/cli/Valet/Drivers/BasicValetDriver.php @@ -1,5 +1,7 @@ command('which', function (OutputInterface $output) { - require __DIR__.'/drivers/require.php'; - $driver = ValetDriver::assign(getcwd(), basename(getcwd()), '/'); if ($driver) { diff --git a/cli/drivers/require.php b/cli/drivers/require.php deleted file mode 100644 index e64f7f5..0000000 --- a/cli/drivers/require.php +++ /dev/null @@ -1,30 +0,0 @@ -projects() as $projectDir) { + $this->assertTrue($driver->serves($projectDir, 'my-site', '/')); + } + } +} diff --git a/tests/Drivers/BedrockValetDriverTest.php b/tests/Drivers/BedrockValetDriverTest.php new file mode 100644 index 0000000..39613ac --- /dev/null +++ b/tests/Drivers/BedrockValetDriverTest.php @@ -0,0 +1,30 @@ +assertTrue($driver->serves($this->projectDir('bedrock'), 'my-site', '/')); + } + + public function test_it_doesnt_serve_non_bedrock_projects() + { + $driver = new BedrockValetDriver(); + + $this->assertFalse($driver->serves($this->projectDir('public-with-index-non-laravel'), 'my-site', '/')); + } + + public function test_it_gets_front_controller() + { + $driver = new BedrockValetDriver(); + + $_SERVER['HTTP_HOST'] = 'this is set in Valet requests but not phpunit'; + + $projectPath = $this->projectDir('bedrock'); + $this->assertEquals($projectPath.'/web/index.php', $driver->frontControllerPath($projectPath, 'my-site', '/')); + } +} diff --git a/tests/Drivers/CakeValetDriverTest.php b/tests/Drivers/CakeValetDriverTest.php new file mode 100644 index 0000000..5aa9f36 --- /dev/null +++ b/tests/Drivers/CakeValetDriverTest.php @@ -0,0 +1,28 @@ +assertTrue($driver->serves($this->projectDir('cake'), 'my-site', '/')); + } + + public function test_it_doesnt_serve_non_cake_projects() + { + $driver = new CakeValetDriver(); + + $this->assertFalse($driver->serves($this->projectDir('public-with-index-non-laravel'), 'my-site', '/')); + } + + public function test_it_gets_front_controller() + { + $driver = new CakeValetDriver(); + + $projectPath = $this->projectDir('cake'); + $this->assertEquals($projectPath . '/webroot/index.php', $driver->frontControllerPath($projectPath, 'my-site', '/')); + } +} diff --git a/tests/Drivers/Concrete5ValetDriverTest.php b/tests/Drivers/Concrete5ValetDriverTest.php new file mode 100644 index 0000000..a0d773e --- /dev/null +++ b/tests/Drivers/Concrete5ValetDriverTest.php @@ -0,0 +1,28 @@ +assertTrue($driver->serves($this->projectDir('concrete5'), 'my-site', '/')); + } + + public function test_it_doesnt_serve_non_concrete5_projects() + { + $driver = new Concrete5ValetDriver(); + + $this->assertFalse($driver->serves($this->projectDir('public-with-index-non-laravel'), 'my-site', '/')); + } + + public function test_it_gets_front_controller() + { + $driver = new Concrete5ValetDriver(); + + $projectPath = $this->projectDir('concrete5'); + $this->assertEquals($projectPath.'/index.php', $driver->frontControllerPath($projectPath, 'my-site', '/')); + } +} diff --git a/tests/Drivers/ContaoValetDriverTest.php b/tests/Drivers/ContaoValetDriverTest.php new file mode 100644 index 0000000..6818f99 --- /dev/null +++ b/tests/Drivers/ContaoValetDriverTest.php @@ -0,0 +1,28 @@ +assertTrue($driver->serves($this->projectDir('contao'), 'my-site', '/')); + } + + public function test_it_doesnt_serve_non_contao_projects() + { + $driver = new ContaoValetDriver(); + + $this->assertFalse($driver->serves($this->projectDir('public-with-index-non-laravel'), 'my-site', '/')); + } + + public function test_it_gets_front_controller() + { + $driver = new ContaoValetDriver(); + + $projectPath = $this->projectDir('contao'); + $this->assertEquals($projectPath . '/web/app.php', $driver->frontControllerPath($projectPath, 'my-site', '/')); + } +} diff --git a/tests/Drivers/CraftValetDriverTest.php b/tests/Drivers/CraftValetDriverTest.php new file mode 100644 index 0000000..c0acd6d --- /dev/null +++ b/tests/Drivers/CraftValetDriverTest.php @@ -0,0 +1,30 @@ +assertTrue($driver->serves($this->projectDir('craft'), 'my-site', '/')); + } + + public function test_it_doesnt_serve_non_craft_projects() + { + $driver = new CraftValetDriver(); + + $this->assertFalse($driver->serves($this->projectDir('public-with-index-non-laravel'), 'my-site', '/')); + } + + public function test_it_gets_front_controller() + { + $driver = new CraftValetDriver(); + + $_SERVER['HTTP_HOST'] = 'this is set in Valet requests but not phpunit'; + + $projectPath = $this->projectDir('craft'); + $this->assertEquals($projectPath . '/public/index.php', $driver->frontControllerPath($projectPath, 'my-site', '/')); + } +} diff --git a/tests/Drivers/DrupalValetDriverTest.php b/tests/Drivers/DrupalValetDriverTest.php new file mode 100644 index 0000000..c777d4a --- /dev/null +++ b/tests/Drivers/DrupalValetDriverTest.php @@ -0,0 +1,30 @@ +assertTrue($driver->serves($this->projectDir('drupal'), 'my-site', '/')); + } + + public function test_it_doesnt_serve_non_drupal_projects() + { + $driver = new DrupalValetDriver(); + + $this->assertFalse(!! $driver->serves($this->projectDir('public-with-index-non-laravel'), 'my-site', '/')); + } + + public function test_it_gets_front_controller() + { + $driver = new DrupalValetDriver(); + + $_SERVER['HTTP_HOST'] = 'this is set in Valet requests but not phpunit'; + + $projectPath = $this->projectDir('drupal'); + $this->assertEquals($projectPath . '/public/index.php', $driver->frontControllerPath($projectPath, 'my-site', '/')); + } +} diff --git a/tests/Drivers/JigsawValetDriverTest.php b/tests/Drivers/JigsawValetDriverTest.php new file mode 100644 index 0000000..b048e19 --- /dev/null +++ b/tests/Drivers/JigsawValetDriverTest.php @@ -0,0 +1,27 @@ +assertTrue($driver->serves($this->projectDir('jigsaw'), 'my-site', '/')); + } + + public function test_it_doesnt_serve_non_jigsaw_projects_with_public_directory() + { + $driver = new JigsawValetDriver(); + + $this->assertFalse($driver->serves($this->projectDir('public-with-index-non-laravel'), 'my-site', '/')); + } + + public function test_it_mutates_uri() + { + $driver = new JigsawValetDriver(); + + $this->assertEquals('/build_local/about', $driver->mutateUri('/about')); + } +} diff --git a/tests/Drivers/JoomlaValetDriverTest.php b/tests/Drivers/JoomlaValetDriverTest.php new file mode 100644 index 0000000..7a86f2a --- /dev/null +++ b/tests/Drivers/JoomlaValetDriverTest.php @@ -0,0 +1,30 @@ +assertTrue($driver->serves($this->projectDir('joomla'), 'my-site', '/')); + } + + public function test_it_doesnt_serve_non_joomla_projects_with_public_directory() + { + $driver = new JoomlaValetDriver(); + + $this->assertFalse($driver->serves($this->projectDir('public-with-index-non-laravel'), 'my-site', '/')); + } + + public function test_it_gets_front_controller() + { + $driver = new JoomlaValetDriver(); + + $_SERVER['HTTP_HOST'] = 'this is set in Valet requests but not phpunit'; + + $projectPath = $this->projectDir('joomla'); + $this->assertEquals($projectPath.'/index.php', $driver->frontControllerPath($projectPath, 'my-site', '/')); + } +} diff --git a/tests/Drivers/KatanaValetDriverTest.php b/tests/Drivers/KatanaValetDriverTest.php new file mode 100644 index 0000000..a243b70 --- /dev/null +++ b/tests/Drivers/KatanaValetDriverTest.php @@ -0,0 +1,27 @@ +assertTrue($driver->serves($this->projectDir('katana'), 'my-site', '/')); + } + + public function test_it_doesnt_serve_non_katana_projects_with_public_directory() + { + $driver = new KatanaValetDriver(); + + $this->assertFalse($driver->serves($this->projectDir('public-with-index-non-laravel'), 'my-site', '/')); + } + + public function test_it_mutates_uri() + { + $driver = new KatanaValetDriver(); + + $this->assertEquals('/public/about', $driver->mutateUri('/about')); + } +} diff --git a/tests/Drivers/KirbyValetDriverTest.php b/tests/Drivers/KirbyValetDriverTest.php new file mode 100644 index 0000000..3bfdf54 --- /dev/null +++ b/tests/Drivers/KirbyValetDriverTest.php @@ -0,0 +1,30 @@ +assertTrue($driver->serves($this->projectDir('kirby'), 'my-site', '/')); + } + + public function test_it_doesnt_serve_non_kirby_projects_with_public_directory() + { + $driver = new KirbyValetDriver(); + + $this->assertFalse($driver->serves($this->projectDir('public-with-index-non-laravel'), 'my-site', '/')); + } + + public function test_it_gets_front_controller() + { + $driver = new KirbyValetDriver(); + + $_SERVER['HTTP_HOST'] = 'this is set in Valet requests but not phpunit'; + + $projectPath = $this->projectDir('kirby'); + $this->assertEquals($projectPath . '/index.php', $driver->frontControllerPath($projectPath, 'my-site', '/')); + } +} diff --git a/tests/Drivers/LaravelValetDriverTest.php b/tests/Drivers/LaravelValetDriverTest.php new file mode 100644 index 0000000..2350ed6 --- /dev/null +++ b/tests/Drivers/LaravelValetDriverTest.php @@ -0,0 +1,28 @@ +assertTrue($driver->serves($this->projectDir('laravel'), 'my-site', '/')); + } + + public function test_it_doesnt_serve_non_laravel_projects_with_public_directory() + { + $driver = new LaravelValetDriver(); + + $this->assertFalse($driver->serves($this->projectDir('public-with-index-non-laravel'), 'my-site', '/')); + } + + public function test_it_gets_front_controller() + { + $driver = new LaravelValetDriver(); + + $projectPath = $this->projectDir('laravel'); + $this->assertEquals($projectPath.'/public/index.php', $driver->frontControllerPath($projectPath, 'my-site', '/')); + } +} diff --git a/tests/Drivers/Magento2ValetDriverTest.php b/tests/Drivers/Magento2ValetDriverTest.php new file mode 100644 index 0000000..590b65d --- /dev/null +++ b/tests/Drivers/Magento2ValetDriverTest.php @@ -0,0 +1,28 @@ +assertTrue($driver->serves($this->projectDir('magento2'), 'my-site', '/')); + } + + public function test_it_doesnt_serve_non_magento2_projects_with_public_directory() + { + $driver = new Magento2ValetDriver(); + + $this->assertFalse($driver->serves($this->projectDir('public-with-index-non-laravel'), 'my-site', '/')); + } + + public function test_it_gets_front_controller() + { + $driver = new Magento2ValetDriver(); + + $projectPath = $this->projectDir('magento2'); + $this->assertEquals($projectPath . '/pub/index.php', $driver->frontControllerPath($projectPath, 'my-site', '/')); + } +} diff --git a/tests/Drivers/NeosValetDriverTest.php b/tests/Drivers/NeosValetDriverTest.php new file mode 100644 index 0000000..5eb6ae8 --- /dev/null +++ b/tests/Drivers/NeosValetDriverTest.php @@ -0,0 +1,28 @@ +assertTrue($driver->serves($this->projectDir('neos'), 'my-site', '/')); + } + + public function test_it_doesnt_serve_non_neos_projects_with_public_directory() + { + $driver = new NeosValetDriver(); + + $this->assertFalse($driver->serves($this->projectDir('public-with-index-non-laravel'), 'my-site', '/')); + } + + public function test_it_gets_front_controller() + { + $driver = new NeosValetDriver(); + + $projectPath = $this->projectDir('neos'); + $this->assertEquals($projectPath . '/Web/index.php', $driver->frontControllerPath($projectPath, 'my-site', '/')); + } +} diff --git a/tests/Drivers/SculpinValetDriverTest.php b/tests/Drivers/SculpinValetDriverTest.php new file mode 100644 index 0000000..fc40717 --- /dev/null +++ b/tests/Drivers/SculpinValetDriverTest.php @@ -0,0 +1,27 @@ +assertTrue($driver->serves($this->projectDir('sculpin'), 'my-site', '/')); + } + + public function test_it_doesnt_serve_non_sculpin_projects_with_public_directory() + { + $driver = new SculpinValetDriver(); + + $this->assertFalse($driver->serves($this->projectDir('public-with-index-non-laravel'), 'my-site', '/')); + } + + public function test_it_mutates_uri() + { + $driver = new SculpinValetDriver(); + + $this->assertEquals('/output_dev/about', $driver->mutateUri('/about')); + } +} diff --git a/tests/Drivers/StatamicV1ValetDriverTest.php b/tests/Drivers/StatamicV1ValetDriverTest.php new file mode 100644 index 0000000..3cbae2f --- /dev/null +++ b/tests/Drivers/StatamicV1ValetDriverTest.php @@ -0,0 +1,28 @@ +assertTrue($driver->serves($this->projectDir('statamicv1'), 'my-site', '/')); + } + + public function test_it_doesnt_serve_non_statamicv1_projects() + { + $driver = new StatamicV1ValetDriver(); + + $this->assertFalse($driver->serves($this->projectDir('public-with-index-non-laravel'), 'my-site', '/')); + } + + public function test_it_gets_front_controller() + { + $driver = new StatamicV1ValetDriver(); + + $projectPath = $this->projectDir('statamicv1'); + $this->assertEquals($projectPath.'/index.php', $driver->frontControllerPath($projectPath, 'my-site', '/')); + } +} diff --git a/tests/Drivers/StatamicValetDriverTest.php b/tests/Drivers/StatamicValetDriverTest.php new file mode 100644 index 0000000..fac721e --- /dev/null +++ b/tests/Drivers/StatamicValetDriverTest.php @@ -0,0 +1,31 @@ +assertTrue($driver->serves($this->projectDir('statamic'), 'my-site', '/')); + } + + public function test_it_doesnt_serve_non_statamic_projects() + { + $driver = new StatamicValetDriver(); + + $this->assertFalse($driver->serves($this->projectDir('public-with-index-non-laravel'), 'my-site', '/')); + } + + public function test_it_gets_front_controller() + { + $driver = new StatamicValetDriver(); + + $_SERVER['REQUEST_METHOD'] = 'GET'; + $_SERVER['REQUEST_URI'] = '/about/'; + + $projectPath = $this->projectDir('statamicv1'); + $this->assertEquals($projectPath.'/index.php', $driver->frontControllerPath($projectPath, 'my-site', '/')); + } +} diff --git a/tests/Drivers/SymfonyValetDriverTest.php b/tests/Drivers/SymfonyValetDriverTest.php new file mode 100644 index 0000000..d214102 --- /dev/null +++ b/tests/Drivers/SymfonyValetDriverTest.php @@ -0,0 +1,28 @@ +assertTrue($driver->serves($this->projectDir('symfony'), 'my-site', '/')); + } + + public function test_it_doesnt_serve_non_symfony_projects() + { + $driver = new SymfonyValetDriver(); + + $this->assertFalse($driver->serves($this->projectDir('public-with-index-non-laravel'), 'my-site', '/')); + } + + public function test_it_gets_front_controller() + { + $driver = new SymfonyValetDriver(); + + $projectPath = $this->projectDir('symfony'); + $this->assertEquals($projectPath.'/web/app.php', $driver->frontControllerPath($projectPath, 'my-site', '/')); + } +} diff --git a/tests/Drivers/Typo3ValetDriverTest.php b/tests/Drivers/Typo3ValetDriverTest.php new file mode 100644 index 0000000..0c35e88 --- /dev/null +++ b/tests/Drivers/Typo3ValetDriverTest.php @@ -0,0 +1,28 @@ +assertTrue($driver->serves($this->projectDir('typo3'), 'my-site', '/')); + } + + public function test_it_doesnt_serve_non_typo3_projects() + { + $driver = new Typo3ValetDriver(); + + $this->assertFalse($driver->serves($this->projectDir('public-with-index-non-laravel'), 'my-site', '/')); + } + + public function test_it_gets_front_controller() + { + $driver = new Typo3ValetDriver(); + + $projectPath = $this->projectDir('typo3'); + $this->assertEquals($projectPath.'/web/index.php', $driver->frontControllerPath($projectPath, 'my-site', '/')); + } +} diff --git a/tests/Drivers/WordPressValetDriverTest.php b/tests/Drivers/WordPressValetDriverTest.php new file mode 100644 index 0000000..5f0d493 --- /dev/null +++ b/tests/Drivers/WordPressValetDriverTest.php @@ -0,0 +1,30 @@ +assertTrue($driver->serves($this->projectDir('wordpress'), 'my-site', '/')); + } + + public function test_it_doesnt_serve_non_wordpress_projects() + { + $driver = new WordPressValetDriver(); + + $this->assertFalse($driver->serves($this->projectDir('public-with-index-non-laravel'), 'my-site', '/')); + } + + public function test_it_gets_front_controller() + { + $driver = new WordPressValetDriver(); + + $_SERVER['HTTP_HOST'] = 'this is set in Valet requests but not phpunit'; + + $projectPath = $this->projectDir('wordpress'); + $this->assertEquals($projectPath.'/index.php', $driver->frontControllerPath($projectPath, 'my-site', '/')); + } +} diff --git a/tests/Drivers/projects/bedrock/config/application.php b/tests/Drivers/projects/bedrock/config/application.php new file mode 100644 index 0000000..e69de29 diff --git a/tests/Drivers/projects/bedrock/web/app/.gitkeep b/tests/Drivers/projects/bedrock/web/app/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/tests/Drivers/projects/bedrock/web/index.php b/tests/Drivers/projects/bedrock/web/index.php new file mode 100644 index 0000000..e69de29 diff --git a/tests/Drivers/projects/bedrock/web/wp-config.php b/tests/Drivers/projects/bedrock/web/wp-config.php new file mode 100644 index 0000000..e69de29 diff --git a/tests/Drivers/projects/cake/bin/cake b/tests/Drivers/projects/cake/bin/cake new file mode 100644 index 0000000..e69de29 diff --git a/tests/Drivers/projects/cake/webroot/index.php b/tests/Drivers/projects/cake/webroot/index.php new file mode 100644 index 0000000..e69de29 diff --git a/tests/Drivers/projects/concrete5/concrete/config/install/base b/tests/Drivers/projects/concrete5/concrete/config/install/base new file mode 100644 index 0000000..e69de29 diff --git a/tests/Drivers/projects/contao/vendor/contao/.gitkeep b/tests/Drivers/projects/contao/vendor/contao/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/tests/Drivers/projects/contao/web/app.php b/tests/Drivers/projects/contao/web/app.php new file mode 100644 index 0000000..e69de29 diff --git a/tests/Drivers/projects/craft/craft b/tests/Drivers/projects/craft/craft new file mode 100644 index 0000000..e69de29 diff --git a/tests/Drivers/projects/craft/public/index.php b/tests/Drivers/projects/craft/public/index.php new file mode 100644 index 0000000..e69de29 diff --git a/tests/Drivers/projects/drupal/public/misc/drupal.js b/tests/Drivers/projects/drupal/public/misc/drupal.js new file mode 100644 index 0000000..e69de29 diff --git a/tests/Drivers/projects/jigsaw/build_local/.gitkeep b/tests/Drivers/projects/jigsaw/build_local/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/tests/Drivers/projects/joomla/index.php b/tests/Drivers/projects/joomla/index.php new file mode 100644 index 0000000..e69de29 diff --git a/tests/Drivers/projects/joomla/libraries/joomla/.gitkeep b/tests/Drivers/projects/joomla/libraries/joomla/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/tests/Drivers/projects/katana/katana b/tests/Drivers/projects/katana/katana new file mode 100644 index 0000000..e69de29 diff --git a/tests/Drivers/projects/kirby/index.php b/tests/Drivers/projects/kirby/index.php new file mode 100644 index 0000000..e69de29 diff --git a/tests/Drivers/projects/kirby/kirby/.gitkeep b/tests/Drivers/projects/kirby/kirby/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/tests/Drivers/projects/laravel/artisan b/tests/Drivers/projects/laravel/artisan new file mode 100644 index 0000000..e69de29 diff --git a/tests/Drivers/projects/laravel/public/index.php b/tests/Drivers/projects/laravel/public/index.php new file mode 100644 index 0000000..e69de29 diff --git a/tests/Drivers/projects/magento2/bin/magento b/tests/Drivers/projects/magento2/bin/magento new file mode 100644 index 0000000..e69de29 diff --git a/tests/Drivers/projects/magento2/pub/index.php b/tests/Drivers/projects/magento2/pub/index.php new file mode 100644 index 0000000..e69de29 diff --git a/tests/Drivers/projects/neos/Web/.gitkeep b/tests/Drivers/projects/neos/Web/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/tests/Drivers/projects/neos/flow b/tests/Drivers/projects/neos/flow new file mode 100644 index 0000000..e69de29 diff --git a/tests/Drivers/projects/public-with-index-non-laravel/public/index.php b/tests/Drivers/projects/public-with-index-non-laravel/public/index.php new file mode 100644 index 0000000..e69de29 diff --git a/tests/Drivers/projects/sculpin/composer.json b/tests/Drivers/projects/sculpin/composer.json new file mode 100644 index 0000000..df2ca7a --- /dev/null +++ b/tests/Drivers/projects/sculpin/composer.json @@ -0,0 +1,5 @@ +{ + "require": { + "sculpin/sculpin": "1.0" + } +} diff --git a/tests/Drivers/projects/sculpin/output_dev/.gitkeep b/tests/Drivers/projects/sculpin/output_dev/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/tests/Drivers/projects/sculpin/source/.gitkeep b/tests/Drivers/projects/sculpin/source/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/tests/Drivers/projects/statamic/statamic/.gitkeep b/tests/Drivers/projects/statamic/statamic/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/tests/Drivers/projects/statamicv1/_app/core/statamic.php b/tests/Drivers/projects/statamicv1/_app/core/statamic.php new file mode 100644 index 0000000..e69de29 diff --git a/tests/Drivers/projects/statamicv1/index.php b/tests/Drivers/projects/statamicv1/index.php new file mode 100644 index 0000000..e69de29 diff --git a/tests/Drivers/projects/symfony/public/index.php b/tests/Drivers/projects/symfony/public/index.php new file mode 100644 index 0000000..e69de29 diff --git a/tests/Drivers/projects/symfony/src/Kernel.php b/tests/Drivers/projects/symfony/src/Kernel.php new file mode 100644 index 0000000..e69de29 diff --git a/tests/Drivers/projects/symfony/web/app.php b/tests/Drivers/projects/symfony/web/app.php new file mode 100644 index 0000000..e69de29 diff --git a/tests/Drivers/projects/typo3/web/typo3/.gitkeep b/tests/Drivers/projects/typo3/web/typo3/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/tests/Drivers/projects/wordpress/index.php b/tests/Drivers/projects/wordpress/index.php new file mode 100644 index 0000000..e69de29 diff --git a/tests/Drivers/projects/wordpress/wp-config.php b/tests/Drivers/projects/wordpress/wp-config.php new file mode 100644 index 0000000..e69de29