diff --git a/test/get_redirect.php b/test/get_redirect.php new file mode 100644 index 0000000000000000000000000000000000000000..c4fe7b09a20f15626e2f995ae8ae963fd7e4bbdf --- /dev/null +++ b/test/get_redirect.php @@ -0,0 +1,77 @@ +<?php +/** + * TEST + * Verify if a redirect works + */ +require_once '../public_html/classes/redirect.class.php'; + +// ------------------------------------------------------------------------ +// CONFIG +// ------------------------------------------------------------------------ +$aTests=[ + 'www.example.com - static entry' => [ + 'host'=>'www.example.com', + 'request'=>'/mail', + + 'target'=>'https://www.example.com/webmail', + 'code'=>301, + ], + 'www.example.com - regex' => [ + 'host'=>'www.example.com', + 'request'=>'/somethingold', + + 'target'=>'https://www.example.com/', + 'code'=>307, + ], +]; + +// ------------------------------------------------------------------------ +// INIT +// ------------------------------------------------------------------------ + +$oR=new redirect(); +$oR->setDebug(isset($_GET['debugredirect']) && $_GET['debugredirect'] ? true : false); + +echo "\n"; +echo "##################### TEST REDIRECT #####################\n"; +echo "\n"; + + +// ------------------------------------------------------------------------ +// LOOP :: Redirects +// ------------------------------------------------------------------------ + +foreach ($aTests as $sTestName => $aTest) { + echo "==========| $sTestName |==> ".$aTest['host']." - ".$aTest['request']." \n"; + // echo "To check\n"; + // print_r($aTest); + + // set data + $oR->setHost($aTest['host']); + $oR->setRequest($aTest['request']); + + // verify + $bOk=true; + + if ($oR->getRedirectTarget() != $aTest['target']) { + $bOk=false; + echo ">>>> CONFIG FAILED: target returned ".$oR->getRedirectTarget()." - not ".$aTest['target']."\n"; + } + if ($oR->getRedirectCode() != $aTest['code']) { + $bOk=false; + echo ">>>> CONFIG FAILED: Redirect code retuned ".$oR->getRedirectCode()." - not ".$aTest['code']."\n"; + } + if($bOk) { + echo ">>>> OK: redirects with ".$aTest['code']." to ".$aTest['target']."\n"; + } else { + echo "Detected redirect from config\n"; + print_r($oR->getRedirect()); + echo "\n"; + } + echo "\n"; +} + + +echo "DONE\n"; + +// ------------------------------------------------------------------------