Skip to content

Commit

Permalink
Moving test code around and starting to refactor things in tests.
Browse files Browse the repository at this point in the history
  • Loading branch information
markstory committed May 1, 2010
1 parent 85b8616 commit c7f4334
Show file tree
Hide file tree
Showing 2 changed files with 61 additions and 98 deletions.
8 changes: 4 additions & 4 deletions cake/libs/cake_request.php
Expand Up @@ -97,9 +97,9 @@ class CakeRequest implements ArrayAccess {
* @return void
*/
public function __construct($url = null, $additionalParams = array()) {
$this->base = $this->baseUrl();
$this->base = $this->_base();
if (empty($url)) {
$url = $this->getUrl();
$url = $this->_url();
}
$this->url = $url;
if (isset($_POST)) {
Expand Down Expand Up @@ -211,7 +211,7 @@ public function uri() {
* @param string $base Base path
* @return string URL
*/
public function getUrl($uri = null, $base = null) {
public function _url($uri = null, $base = null) {
if (empty($_GET['url'])) {
if ($uri == null) {
$uri = $this->uri();
Expand Down Expand Up @@ -258,7 +258,7 @@ public function getUrl($uri = null, $base = null) {
*
* @return string Base URL
*/
public function baseUrl() {
public function _base() {
$dir = $webroot = null;
$config = Configure::read('App');
extract($config);
Expand Down
151 changes: 57 additions & 94 deletions cake/tests/cases/libs/cake_request.test.php
Expand Up @@ -626,73 +626,59 @@ public function testGetUrl() {
* @return void
*/
public function testBaseUrlAndWebrootWithModRewrite() {
$request = new CakeRequest();

$request->base = false;
$_SERVER['DOCUMENT_ROOT'] = '/cake/repo/branches';
$_SERVER['SCRIPT_FILENAME'] = '/cake/repo/branches/1.2.x.x/app/webroot/index.php';
$_SERVER['PHP_SELF'] = '/1.2.x.x/app/webroot/index.php';
$result = $request->baseUrl();
$expected = '/1.2.x.x';
$this->assertEqual($expected, $result);
$expectedWebroot = '/1.2.x.x/';
$this->assertEqual($expectedWebroot, $request->webroot);

$request->base = false;
$request = new CakeRequest();
$this->assertEqual($request->base, '/1.2.x.x');
$this->assertEqual($request->webroot, '/1.2.x.x/');

$_SERVER['DOCUMENT_ROOT'] = '/cake/repo/branches/1.2.x.x/app/webroot';
$_SERVER['SCRIPT_FILENAME'] = '/cake/repo/branches/1.2.x.x/app/webroot/index.php';
$_SERVER['PHP_SELF'] = '/index.php';
$result = $request->baseUrl();
$expected = '';
$this->assertEqual($expected, $result);
$expectedWebroot = '/';
$this->assertEqual($expectedWebroot, $request->webroot);
$request = new CakeRequest();

$this->assertEqual($request->base, '');
$this->assertEqual($request->webroot, '/');

$request->base = false;
$_SERVER['DOCUMENT_ROOT'] = '/cake/repo/branches/1.2.x.x/test/';
$_SERVER['SCRIPT_FILENAME'] = '/cake/repo/branches/1.2.x.x/test/webroot/index.php';
$_SERVER['PHP_SELF'] = '/webroot/index.php';
$result = $request->baseUrl();
$expected = '';
$this->assertEqual($expected, $result);
$expectedWebroot = '/';
$this->assertEqual($expectedWebroot, $request->webroot);
$request = new CakeRequest();

$this->assertEqual('', $request->base);
$this->assertEqual('/', $request->webroot);


$request->base = false;
$_SERVER['DOCUMENT_ROOT'] = '/some/apps/where';
$_SERVER['SCRIPT_FILENAME'] = '/some/apps/where/app/webroot/index.php';
$_SERVER['PHP_SELF'] = '/some/apps/where/app/webroot/index.php';
$result = $request->baseUrl();
$expected = '/some/apps/where';
$this->assertEqual($expected, $result);
$expectedWebroot = '/some/apps/where/';
$this->assertEqual($expectedWebroot, $request->webroot);
$request = new CakeRequest();

$this->assertEqual($request->base, '/some/apps/where');
$this->assertEqual($request->webroot, '/some/apps/where/');

Configure::write('App.dir', 'auth');

$request->base = false;
$_SERVER['DOCUMENT_ROOT'] = '/cake/repo/branches';
$_SERVER['SCRIPT_FILENAME'] = '/cake/repo/branches/demos/auth/webroot/index.php';
$_SERVER['PHP_SELF'] = '/demos/auth/webroot/index.php';

$result = $request->baseUrl();
$expected = '/demos/auth';
$this->assertEqual($expected, $result);
$expectedWebroot = '/demos/auth/';
$this->assertEqual($expectedWebroot, $request->webroot);
$request = new CakeRequest();

$this->assertEqual($request->base, '/demos/auth');
$this->assertEqual($request->webroot, '/demos/auth/');

Configure::write('App.dir', 'code');

$request->base = false;
$_SERVER['DOCUMENT_ROOT'] = '/Library/WebServer/Documents';
$_SERVER['SCRIPT_FILENAME'] = '/Library/WebServer/Documents/clients/PewterReport/code/webroot/index.php';
$_SERVER['PHP_SELF'] = '/clients/PewterReport/code/webroot/index.php';
$result = $request->baseUrl();
$expected = '/clients/PewterReport/code';
$this->assertEqual($expected, $result);
$expectedWebroot = '/clients/PewterReport/code/';
$this->assertEqual($expectedWebroot, $request->webroot);
$request = new CakeRequest();

$this->assertEqual($request->base, '/clients/PewterReport/code');
$this->assertEqual($request->webroot, '/clients/PewterReport/code/');
}

/**
Expand All @@ -709,11 +695,9 @@ public function testBaseUrlwithModRewriteAlias() {
Configure::write('App.base', '/control');

$request = new CakeRequest();
$result = $request->baseUrl();
$expected = '/control';
$this->assertEqual($expected, $result);
$expectedWebroot = '/control/';
$this->assertEqual($expectedWebroot, $request->webroot);

$this->assertEqual($request->base, '/control');
$this->assertEqual($request->webroot, '/control/');

Configure::write('App.base', false);
Configure::write('App.dir', 'affiliate');
Expand All @@ -723,11 +707,9 @@ public function testBaseUrlwithModRewriteAlias() {
$_SERVER['SCRIPT_FILENAME'] = '/var/www/abtravaff/html/newaffiliate/index.php';
$_SERVER['PHP_SELF'] = '/newaffiliate/index.php';
$request = new CakeRequest();
$result = $request->baseUrl();
$expected = '/newaffiliate';
$this->assertEqual($expected, $result);
$expectedWebroot = '/newaffiliate/';
$this->assertEqual($expectedWebroot, $request->webroot);

$this->assertEqual($request->base, '/newaffiliate');
$this->assertEqual($request->webroot, '/newaffiliate/');
}

/**
Expand All @@ -740,61 +722,49 @@ public function testBaseUrlAndWebrootWithBaseUrl() {
Configure::write('App.baseUrl', '/app/webroot/index.php');

$request = new CakeRequest();
$expected = '/app/webroot/index.php';
$this->assertEqual($request->base, $expected);
$expectedWebroot = '/app/webroot/';
$this->assertEqual($request->webroot, $expectedWebroot);
$this->assertEqual($request->base, '/app/webroot/index.php');
$this->assertEqual($request->webroot, '/app/webroot/');

Configure::write('App.baseUrl', '/app/webroot/test.php');
$request = new CakeRequest();
$expected = '/app/webroot/test.php';
$this->assertEqual($request->base, $expected);
$expectedWebroot = '/app/webroot/';
$this->assertEqual($request->webroot, $expectedWebroot);
$this->assertEqual($request->base, '/app/webroot/test.php');
$this->assertEqual($request->webroot, '/app/webroot/');

Configure::write('App.baseUrl', '/app/index.php');
$request = new CakeRequest();
$expected = '/app/index.php';
$this->assertEqual($request->base, $expected);
$expectedWebroot = '/app/webroot/';
$this->assertEqual($request->webroot, $expectedWebroot);
$this->assertEqual($request->base, '/app/index.php');
$this->assertEqual($request->webroot, '/app/webroot/');

Configure::write('App.baseUrl', '/index.php');
$request = new CakeRequest();
$expected = '/index.php';
$this->assertEqual($request->base, $expected);
$expectedWebroot = '/';
$this->assertEqual($expectedWebroot, $request->webroot);

$this->assertEqual($request->base, '/index.php');
$this->assertEqual($request->webroot, '/');

Configure::write('App.baseUrl', '/CakeBB/app/webroot/index.php');
$request = new CakeRequest();
$expected = '/CakeBB/app/webroot/index.php';
$this->assertEqual($expected, $request->base);
$expectedWebroot = '/CakeBB/app/webroot/';
$this->assertEqual($expectedWebroot, $request->webroot);
$this->assertEqual($request->base, '/CakeBB/app/webroot/index.php');
$this->assertEqual($request->webroot, '/CakeBB/app/webroot/');

Configure::write('App.baseUrl', '/CakeBB/app/index.php');
$request = new CakeRequest();
$expected = '/CakeBB/app/index.php';
$this->assertEqual($expected, $request->base);
$expectedWebroot = '/CakeBB/app/webroot/';
$this->assertEqual($expectedWebroot, $request->webroot);

$this->assertEqual($request->base, '/CakeBB/app/index.php');
$this->assertEqual($request->webroot, '/CakeBB/app/webroot/');

Configure::write('App.baseUrl', '/CakeBB/index.php');
$request = new CakeRequest();
$expected = '/CakeBB/index.php';
$this->assertEqual($expected, $request->base);
$expectedWebroot = '/CakeBB/app/webroot/';
$this->assertEqual($expectedWebroot, $request->webroot);

$this->assertEqual($request->base, '/CakeBB/index.php');
$this->assertEqual($request->webroot, '/CakeBB/app/webroot/');

Configure::write('App.baseUrl', '/dbhauser/index.php');
$_SERVER['DOCUMENT_ROOT'] = '/kunden/homepages/4/d181710652/htdocs/joomla';
$_SERVER['SCRIPT_FILENAME'] = '/kunden/homepages/4/d181710652/htdocs/joomla/dbhauser/index.php';
$request = new CakeRequest();
$expected = '/dbhauser/index.php';
$this->assertEqual($expected, $request->base);
$expectedWebroot = '/dbhauser/app/webroot/';
$this->assertEqual($expectedWebroot, $request->webroot);

$this->assertEqual($request->base, '/dbhauser/index.php');
$this->assertEqual($request->webroot, '/dbhauser/app/webroot/');
}

/**
Expand All @@ -805,26 +775,19 @@ public function testBaseUrlAndWebrootWithBaseUrl() {
*/
public function testBaseUrlAndWebrootWithBase() {
$request = new CakeRequest();
$request->base = '/app';
$result = $request->baseUrl();
$result = $request->base;

$expected = '/app';
$this->assertEqual($expected, $result);
$expectedWebroot = '/app/';
$this->assertEqual($expectedWebroot, $request->webroot);

$request->base = '';
$result = $request->baseUrl();
$expected = '';
$this->assertEqual($expected, $result);
$expectedWebroot = '/';
$expectedWebroot = '/app/';
$this->assertEqual($expectedWebroot, $request->webroot);

Configure::write('App.dir', 'testbed');
$request = new CakeRequest();
$request->base = '/cake/testbed/webroot';
$result = $request->baseUrl();
$expected = '/cake/testbed/webroot';
$this->assertEqual($expected, $result);
$expectedWebroot = '/cake/testbed/webroot/';
$this->assertEqual($expectedWebroot, $request->webroot);

$this->assertEqual($request->base, '/cake/testbed/webroot');
$this->assertEqual($request->webroot, '/cake/testbed/webroot/');
}
}

0 comments on commit c7f4334

Please sign in to comment.