Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/phpmyadmin/phpmyadmin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'test/PMA_headerLocation_test.php')
-rw-r--r--test/PMA_headerLocation_test.php305
1 files changed, 0 insertions, 305 deletions
diff --git a/test/PMA_headerLocation_test.php b/test/PMA_headerLocation_test.php
deleted file mode 100644
index 649d914888..0000000000
--- a/test/PMA_headerLocation_test.php
+++ /dev/null
@@ -1,305 +0,0 @@
-<?php
-/* vim: set expandtab sw=4 ts=4 sts=4: */
-/**
- * Test for PMA_sendHeaderLocation
- *
- * @author Michal Biniek <michal@bystrzyca.pl>
- * @version $Id$
- */
-
-/**
- * Tests core.
- */
-require_once 'PHPUnit/Framework.php';
-require_once 'PHPUnit/Extensions/OutputTestCase.php';
-
-/**
- * Include to test.
- */
-require_once './libraries/common.lib.php';
-require_once './libraries/url_generating.lib.php';
-require_once './libraries/core.lib.php';
-
-/**
- * Test function sending headers.
- * Warning - these tests set constants, so it can interfere with other tests
- * If you have runkit extension, then it is possible to back changes made on constants
- * rest of options can be tested only with apd, when functions header and headers_sent are redefined
- * rename_function() of header and headers_sent may cause CLI error report in Windows XP (but tests are done correctly)
- * additional functions which were created during tests must be stored to coverage test e.g.
- *
- * <code>rename_function('headers_sent', 'headers_sent'.str_replace(array('.', ' '),array('', ''),microtime()));</code>
- *
- * @package phpMyAdmin-test
- */
-
-class PMA_headerLocation_test extends PHPUnit_Extensions_OutputTestCase
-{
-
- protected $oldIISvalue;
- protected $oldSIDvalue;
- protected $runkitExt;
- protected $apdExt;
-
-
-
- public function __construct()
- {
- parent::__construct();
- $this->runkitExt = false;
- if (function_exists("runkit_constant_redefine"))
- $this->runkitExt = true;
-
- $this->apdExt = false;
- if (function_exists("rename_function"))
- $this->apdExt = true;
-
-
- if ($this->apdExt && !$GLOBALS['test_header']) {
-
- // using apd extension to overriding header and headers_sent functions for test purposes
- $GLOBALS['test_header'] = 1;
-
- // rename_function() of header and headers_sent may cause CLI error report in Windows XP
- rename_function('header', 'test_header');
- rename_function('headers_sent', 'test_headers_sent');
-
- // solution from: http://unixwars.com/2008/11/29/override_function-in-php/ to overriding more than one function
-
- $substs = array(
- 'header' => 'if (isset($GLOBALS["header"])) $GLOBALS["header"] .= $a; else $GLOBALS["header"] = $a;',
- 'headers_sent' => 'return false;'
- );
-
- $args = array(
- 'header' => '$a',
- 'headers_sent' => ''
- );
-
- foreach ($substs as $func => $ren_func) {
- if (function_exists("__overridden__"))
- rename_function("__overridden__", str_replace(array('.', ' '),array('', ''),microtime()));
- override_function($func, $args[$func], $substs[$func]);
- rename_function("__overridden__", str_replace(array('.', ' '),array('', ''),microtime()));
- }
-
- }
- }
-
- public function __destruct()
- {
- // rename_function may causes CLI error report in Windows XP, but nothing more happen
-
- if ($this->apdExt && $GLOBALS['test_header']) {
- $GLOBALS['test_header'] = 0;
-
- rename_function('header', 'header'.str_replace(array('.', ' '),array('', ''),microtime()));
- rename_function('headers_sent', 'headers_sent'.str_replace(array('.', ' '),array('', ''),microtime()));
-
- rename_function('test_header', 'header');
- rename_function('test_headers_sent', 'headers_sent');
- }
- }
-
- public function setUp()
- {
- // cleaning constants
- if ($this->runkitExt) {
-
- $this->oldIISvalue = 'non-defined';
-
- if (defined('PMA_IS_IIS')) {
- $this->oldIISvalue = PMA_IS_IIS;
- runkit_constant_redefine('PMA_IS_IIS', NULL);
- }
- else {
- runkit_constant_add('PMA_IS_IIS', NULL);
- }
-
-
- $this->oldSIDvalue = 'non-defined';
-
- if (defined('SID')) {
- $this->oldSIDvalue = SID;
- runkit_constant_redefine('SID', NULL);
- }
- else {
- runkit_constant_add('SID', NULL);
- }
-
- }
- }
-
-
- public function tearDown()
- {
- // cleaning constants
- if ($this->runkitExt) {
-
- if ($this->oldIISvalue != 'non-defined')
- runkit_constant_redefine('PMA_IS_IIS', $this->oldIISvalue);
- elseif (defined('PMA_IS_IIS')) {
- runkit_constant_remove('PMA_IS_IIS');
- }
-
- if ($this->oldSIDvalue != 'non-defined')
- runkit_constant_redefine('SID', $this->oldSIDvalue);
- elseif (defined('SID')) {
- runkit_constant_remove('SID');
- }
- }
-
- if ($this->apdExt)
- unset($GLOBALS['header']);
-
- }
-
-
- public function testSendHeaderLocationWithSidUrlWithQuestionMark()
- {
- if ($this->runkitExt && $this->apdExt) {
-
- runkit_constant_redefine('SID', md5('test_hash'));
-
- $testUri = 'http://testurl.com/test.php?test=test';
- $separator = PMA_get_arg_separator();
-
- $header = 'Location: ' . $testUri . $separator . SID;
-
- PMA_sendHeaderLocation($testUri); // sets $GLOBALS['header']
- $this->assertEquals($header, $GLOBALS['header']);
-
- } else {
- $this->markTestSkipped('Cannot redefine constant/function - missing APD or/and runkit extension');
- }
-
- }
-
- public function testSendHeaderLocationWithSidUrlWithoutQuestionMark()
- {
- if ($this->runkitExt && $this->apdExt) {
-
- runkit_constant_redefine('SID', md5('test_hash'));
-
- $testUri = 'http://testurl.com/test.php';
- $separator = PMA_get_arg_separator();
-
- $header = 'Location: ' . $testUri . '?' . SID;
-
- PMA_sendHeaderLocation($testUri); // sets $GLOBALS['header']
- $this->assertEquals($header, $GLOBALS['header']);
-
- } else {
- $this->markTestSkipped('Cannot redefine constant/function - missing APD or/and runkit extension');
- }
-
- }
-
- public function testSendHeaderLocationWithoutSidWithIis()
- {
- if ($this->runkitExt && $this->apdExt) {
-
- runkit_constant_redefine('PMA_IS_IIS', true);
- runkit_constant_add('PMA_COMING_FROM_COOKIE_LOGIN', true);
-
- $testUri = 'http://testurl.com/test.php';
- $separator = PMA_get_arg_separator();
-
- $header = 'Refresh: 0; ' . $testUri;
-
- PMA_sendHeaderLocation($testUri); // sets $GLOBALS['header']
-
- // cleaning constant
- runkit_constant_remove('PMA_COMING_FROM_COOKIE_LOGIN');
-
- $this->assertEquals($header, $GLOBALS['header']);
-
- } else {
- $this->markTestSkipped('Cannot redefine constant/function - missing APD or/and runkit extension');
- }
-
- }
-
- public function testSendHeaderLocationWithoutSidWithoutIis()
- {
- if ($this->apdExt) {
-
- $testUri = 'http://testurl.com/test.php';
- $header = 'Location: ' . $testUri;
-
- PMA_sendHeaderLocation($testUri); // sets $GLOBALS['header']
- $this->assertEquals($header, $GLOBALS['header']);
-
- } else {
- $this->markTestSkipped('Cannot redefine constant/function - missing APD or/and runkit extension');
- }
-
- }
-
- public function testSendHeaderLocationIisLongUri()
- {
- if (defined('PMA_IS_IIS') && $this->runkitExt)
- runkit_constant_redefine('PMA_IS_IIS', true);
- elseif (!defined('PMA_IS_IIS'))
- define('PMA_IS_IIS', true);
- else
- $this->markTestSkipped('Cannot redefine constant/function - missing APD or/and runkit extension');
-
-
- // over 600 chars
- $testUri = 'http://testurl.com/test.php?testlonguri=over600chars&test=test&test=test&test=test&test=test&test=test&test=test&test=test&test=test&test=test&test=test&test=test&test=test&test=test&test=test&test=test&test=test&test=test&test=test&test=test&test=test&test=test&test=test&test=test&test=test&test=test&test=test&test=test&test=test&test=test&test=test&test=test&test=test&test=test&test=test&test=test&test=test&test=test&test=test&test=test&test=test&test=test&test=test&test=test&test=test&test=test&test=test&test=test&test=test&test=test&test=test&test=test&test=test&test=test&test=test&test=test&test=test&test=test';
-
- $GLOBALS['strGo'] = 'test link';
-
- $header = "<html><head><title>- - -</title>\n" .
- "<meta http-equiv=\"expires\" content=\"0\">\n" .
- "<meta http-equiv=\"Pragma\" content=\"no-cache\">\n" .
- "<meta http-equiv=\"Cache-Control\" content=\"no-cache\">\n" .
- "<meta http-equiv=\"Refresh\" content=\"0;url=" . $testUri . "\">\n" .
- "<script type=\"text/javascript\">\n".
- "//<![CDATA[\n" .
- "setTimeout(\"window.location = unescape('\"" . $testUri . "\"')\", 2000);\n" .
- "//]]>\n" .
- "</script>\n" .
- "</head>\n" .
- "<body>\n" .
- "<script type=\"text/javascript\">\n" .
- "//<![CDATA[\n" .
- "document.write('<p><a href=\"" . $testUri . "\">" . $GLOBALS['strGo'] . "</a></p>');\n" .
- "//]]>\n" .
- "</script></body></html>\n";
-
-
- $this->expectOutputString($header);
-
- PMA_sendHeaderLocation($testUri);
- }
-
- /**
- * other output tests
- */
-
- public function testWriteReloadNavigation()
- {
- $GLOBALS['reload'] = true;
- $GLOBALS['db'] = 'test_db';
-
- $url = './navigation.php?db='.$GLOBALS['db'];
- $write = PHP_EOL . '<script type="text/javascript">' . PHP_EOL .
- '//<![CDATA[' . PHP_EOL .
- 'if (typeof(window.parent) != \'undefined\'' . PHP_EOL .
- ' && typeof(window.parent.frame_navigation) != \'undefined\'' . PHP_EOL .
- ' && window.parent.goTo) {' . PHP_EOL .
- ' window.parent.goTo(\'' . $url . '\');' . PHP_EOL .
- '}' . PHP_EOL .
- '//]]>' . PHP_EOL .
- '</script>' . PHP_EOL;
-
- $this->expectOutputString($write);
- PMA_reloadNavigation();
-
- $this->assertFalse(isset($GLOBALS['reload']));
- unset($GLOBALS['db']);
- }
-}
-?>