diff --git a/composer.json b/composer.json index 8332e94..5a98697 100644 --- a/composer.json +++ b/composer.json @@ -55,7 +55,8 @@ "scripts": { "test": "phpunit", "test-coverage": "rm clover.xml && XDEBUG_MODE=coverage vendor/bin/phpunit --coverage-html=coverage --coverage-clover=clover.xml && vendor/bin/coverage-check clover.xml 100", - "test-server": "echo \"Running Test Server\" && COMPOSER_PROCESS_TIMEOUT=60000 php -S localhost:8000 -t tests/server/", + "test-server": "echo \"Running Test Server\" && php -S localhost:8000 -t tests/server/", + "test-server-v2": "echo \"Running Test Server\" && php -S localhost:8000 -t tests/server-v2/", "test-coverage:win": "del clover.xml && phpunit --coverage-html=coverage --coverage-clover=clover.xml && coverage-check clover.xml 100", "lint": "phpstan --no-progress -cphpstan.neon", "beautify": "phpcbf --standard=phpcs.xml", diff --git a/tests/server-v2/index.php b/tests/server-v2/index.php new file mode 100644 index 0000000..547a1f9 --- /dev/null +++ b/tests/server-v2/index.php @@ -0,0 +1,175 @@ +Route text: Root route works!'; +}); +Flight::route('/querytestpath', function(){ + echo 'Route text: This ir query route
'; + echo "I got such query parameters:
";
+    print_r(Flight::request()->query);
+    echo "
"; +},false,"querytestpath"); + +// Test 2: Simple route +Flight::route('/test', function(){ + echo 'Route text: Test route works!'; +}); + +// Test 3: Route with parameter +Flight::route('/user/@name', function($name){ + echo "Route text: Hello, $name!"; +}); +Flight::route('POST /postpage', function () { + echo 'Route text: THIS IS POST METHOD PAGE'; +},false,"postpage"); + +// Test 4: Grouped routes +Flight::group('/group', function(){ + Flight::route('/test', function(){ + echo 'Route text: Group test route works!'; + }); + Flight::route('/user/@name', function($name){ + echo "Route text: There is variable called name and it is $name"; + }); + Flight::group('/group1', function(){ + Flight::group('/group2', function(){ + Flight::group('/group3', function(){ + Flight::group('/group4', function(){ + Flight::group('/group5', function(){ + Flight::group('/group6', function(){ + Flight::group('/group7', function(){ + Flight::group('/group8', function(){ + Flight::route('/final_group', function(){ + echo 'Mega Group test route works!'; + },false,"final_group"); + }); + }); + }); + }); + }); + }); + }); + }); +}); + +// Test 5: Route alias +Flight::route('/alias', function(){ + echo 'Route text: Alias route works!'; +}, false, 'aliasroute'); +class authCheck { + public function before(){ + if(!isset($_COOKIE['user'])){ + echo 'Middleware text: You are not authorized to access this route!'; + } + } +} +$middle = new authCheck(); +// Test 6: Route with middleware +Flight::route('/protected', function(){ + echo 'Route text: Protected route works!'; +})->addMiddleware([$middle]); + +// Test 7: Route with template +Flight::route('/template/@name', function($name){ + Flight::render('template.php', ['name' => $name]); +}); +Flight::set('flight.views.path', './'); +Flight::map('error', function (Throwable $error) { + echo "

An error occurred, mapped error method worked, error bellow

"; + echo '
';
+    echo str_replace(getenv('PWD'),"***CLASSIFIED*****",$error->getTraceAsString());
+    echo "
"; + echo "Go back"; +}); +Flight::map('notFound', function() { + echo 'Route text: The requested URL was not found'; + echo "Go back"; +}); +echo ' + +'; +Flight::before('start', function ($params) { + echo '
'; +}); +Flight::after('start', function ($params) { + echo '
'; + echo '
'; + echo "Request information
";
+    print_r(Flight::request());
+    echo "
"; + echo "
"; +}); +Flight::start(); + + \ No newline at end of file diff --git a/tests/server-v2/template.php b/tests/server-v2/template.php new file mode 100644 index 0000000..7cb97b4 --- /dev/null +++ b/tests/server-v2/template.php @@ -0,0 +1 @@ +Route text: Template works! \ No newline at end of file diff --git a/tests/server/index.php b/tests/server/index.php index 675c278..15de575 100644 --- a/tests/server/index.php +++ b/tests/server/index.php @@ -7,8 +7,8 @@ * @author Kristaps Muižnieks https://github.com/krmu */ -require __DIR__ . '/../../vendor/autoload.php'; - + require file_exists(__DIR__ . '/../../vendor/autoload.php') ? __DIR__ . '/../../vendor/autoload.php' : __DIR__ . '/../../flight/autoload.php'; + Flight::set('flight.content_length', false); Flight::set('flight.views.path', './'); //Flight::set('flight.v2.output_buffering', true);