2007-07-09 19:26:37 +00:00
|
|
|
<?php
|
|
|
|
/* SVN FILE: $Id$ */
|
|
|
|
/**
|
|
|
|
* Short description for file.
|
|
|
|
*
|
|
|
|
* Long description for file
|
|
|
|
*
|
|
|
|
* PHP versions 4 and 5
|
|
|
|
*
|
|
|
|
* CakePHP(tm) Tests <https://trac.cakephp.org/wiki/Developement/TestSuite>
|
2008-01-01 22:18:17 +00:00
|
|
|
* Copyright 2005-2008, Cake Software Foundation, Inc.
|
2007-07-09 19:26:37 +00:00
|
|
|
* 1785 E. Sahara Avenue, Suite 490-204
|
|
|
|
* Las Vegas, Nevada 89104
|
|
|
|
*
|
|
|
|
* Licensed under The Open Group Test Suite License
|
|
|
|
* Redistributions of files must retain the above copyright notice.
|
|
|
|
*
|
|
|
|
* @filesource
|
2008-01-01 22:18:17 +00:00
|
|
|
* @copyright Copyright 2005-2008, Cake Software Foundation, Inc.
|
2007-07-09 19:26:37 +00:00
|
|
|
* @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests
|
|
|
|
* @package cake.tests
|
|
|
|
* @subpackage cake.tests.cases.libs
|
|
|
|
* @since CakePHP(tm) v 1.2.0.5432
|
|
|
|
* @version $Revision$
|
|
|
|
* @modifiedby $LastChangedBy$
|
|
|
|
* @lastmodified $Date$
|
|
|
|
* @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License
|
|
|
|
*/
|
|
|
|
uses('debugger');
|
|
|
|
/**
|
|
|
|
* Short description for class.
|
|
|
|
*
|
|
|
|
* @package cake.tests
|
|
|
|
* @subpackage cake.tests.cases.libs
|
|
|
|
*/
|
|
|
|
class DebuggerTest extends UnitTestCase {
|
|
|
|
|
2007-12-23 21:25:30 +00:00
|
|
|
//do not move code below or it change line numbers which are used in the tests
|
2008-04-09 18:57:58 +00:00
|
|
|
|
|
|
|
function setUp() {
|
|
|
|
Configure::write('log', false);
|
|
|
|
if (!defined('SIMPLETESTVENDORPATH')) {
|
|
|
|
if (file_exists(APP . DS . 'vendors' . DS . 'simpletest' . DS . 'reporter.php')) {
|
|
|
|
define('SIMPLETESTVENDORPATH', 'APP' . DS . 'vendors');
|
|
|
|
} else {
|
|
|
|
define('SIMPLETESTVENDORPATH', 'CORE' . DS . 'vendors');
|
|
|
|
}
|
2008-01-02 05:52:53 +00:00
|
|
|
}
|
2008-04-09 18:57:58 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
function testOutput() {
|
2007-12-23 21:25:30 +00:00
|
|
|
Debugger::invoke(Debugger::getInstance());
|
|
|
|
$result = Debugger::output(false);
|
|
|
|
$this->assertEqual($result, '');
|
|
|
|
$out .= '';
|
|
|
|
$result = Debugger::output(true);
|
2008-04-09 18:57:58 +00:00
|
|
|
|
|
|
|
$this->assertEqual($result[0]['error'], 'Notice');
|
|
|
|
$this->assertEqual($result[0]['description'], 'Undefined variable: out');
|
|
|
|
$this->assertPattern('/DebuggerTest::testOutput/', $result[0]['trace']);
|
|
|
|
$this->assertPattern('/SimpleInvoker::invoke/', $result[0]['trace']);
|
|
|
|
|
2007-12-23 21:25:30 +00:00
|
|
|
ob_start();
|
|
|
|
Debugger::output('txt');
|
|
|
|
$other .= '';
|
|
|
|
$result = ob_get_clean();
|
2008-04-09 18:57:58 +00:00
|
|
|
|
|
|
|
$this->assertPattern('/Undefined variable: other/', $result);
|
|
|
|
$this->assertPattern('/Context:/', $result);
|
|
|
|
$this->assertPattern('/DebuggerTest::testOutput/', $result);
|
|
|
|
$this->assertPattern('/SimpleInvoker::invoke/', $result);
|
|
|
|
|
2007-12-23 21:25:30 +00:00
|
|
|
set_error_handler('simpleTestErrorHandler');
|
2007-07-09 19:26:37 +00:00
|
|
|
}
|
2007-12-23 21:25:30 +00:00
|
|
|
|
|
|
|
|
|
|
|
function testExportVar() {
|
|
|
|
App::import('Controller');
|
|
|
|
$Controller = new Controller();
|
|
|
|
$Controller->helpers = array('Html', 'Form');
|
|
|
|
$View = new View($Controller);
|
|
|
|
$result = Debugger::exportVar($View);
|
2007-12-29 19:05:41 +00:00
|
|
|
$expected = 'ViewView::$base = NULL
|
|
|
|
View::$here = NULL
|
|
|
|
View::$plugin = NULL
|
2008-04-18 06:01:35 +00:00
|
|
|
View::$name = ""
|
2007-12-29 19:05:41 +00:00
|
|
|
View::$action = NULL
|
2008-04-18 06:01:35 +00:00
|
|
|
View::$params = array
|
|
|
|
View::$passedArgs = array
|
|
|
|
View::$data = array
|
|
|
|
View::$helpers = array
|
|
|
|
View::$viewPath = ""
|
|
|
|
View::$viewVars = array
|
2007-12-23 21:25:30 +00:00
|
|
|
View::$layout = "default"
|
2007-12-29 19:05:41 +00:00
|
|
|
View::$layoutPath = NULL
|
|
|
|
View::$pageTitle = false
|
2007-12-23 21:25:30 +00:00
|
|
|
View::$autoRender = true
|
|
|
|
View::$autoLayout = true
|
|
|
|
View::$ext = ".ctp"
|
2007-12-29 19:05:41 +00:00
|
|
|
View::$subDir = NULL
|
|
|
|
View::$themeWeb = NULL
|
|
|
|
View::$cacheAction = false
|
2008-04-18 06:01:35 +00:00
|
|
|
View::$validationErrors = array
|
2007-12-29 19:05:41 +00:00
|
|
|
View::$hasRendered = false
|
2008-04-18 06:01:35 +00:00
|
|
|
View::$loaded = array
|
2007-12-29 19:05:41 +00:00
|
|
|
View::$modelScope = false
|
|
|
|
View::$model = NULL
|
|
|
|
View::$association = NULL
|
|
|
|
View::$field = NULL
|
|
|
|
View::$fieldSuffix = NULL
|
|
|
|
View::$modelId = NULL
|
2008-04-18 06:01:35 +00:00
|
|
|
View::$uuids = array
|
|
|
|
View::$__passedVars = array
|
|
|
|
View::$__scripts = array
|
|
|
|
View::$__paths = array
|
2007-12-29 19:05:41 +00:00
|
|
|
View::$_log = NULL
|
2008-04-18 06:01:35 +00:00
|
|
|
View::$webroot = NULL';
|
2007-12-23 21:25:30 +00:00
|
|
|
$result = str_replace(array("\t", "\r\n", "\n"), "", $result);
|
|
|
|
$expected = str_replace(array("\t", "\r\n", "\n"), "", $expected);
|
|
|
|
$this->assertEqual($result, $expected);
|
|
|
|
}
|
|
|
|
|
2008-01-02 00:31:13 +00:00
|
|
|
function testLog() {
|
|
|
|
if (file_exists(LOGS . 'debug.log')) {
|
|
|
|
unlink(LOGS . 'debug.log');
|
|
|
|
}
|
|
|
|
|
|
|
|
Debugger::log('cool');
|
|
|
|
$result = file_get_contents(LOGS . 'debug.log');
|
|
|
|
$this->assertPattern('/DebuggerTest::testLog/', $result);
|
|
|
|
$this->assertPattern('/"cool"/', $result);
|
|
|
|
|
|
|
|
unlink(TMP . 'logs' . DS . 'debug.log');
|
|
|
|
|
|
|
|
Debugger::log(array('whatever', 'here'));
|
|
|
|
$result = file_get_contents(TMP . 'logs' . DS . 'debug.log');
|
|
|
|
|
|
|
|
$this->assertPattern('/DebuggerTest::testLog/', $result);
|
|
|
|
$this->assertPattern('/array/', $result);
|
|
|
|
$this->assertPattern('/"whatever",/', $result);
|
|
|
|
$this->assertPattern('/"here"/', $result);
|
|
|
|
}
|
|
|
|
|
|
|
|
function tearDown() {
|
|
|
|
Configure::write('log', true);
|
|
|
|
}
|
|
|
|
|
2007-07-09 19:26:37 +00:00
|
|
|
}
|
|
|
|
?>
|