5eee009d4739d60f20acd816353292bdb2308950
Author: Mark Story
Date: 2008-12-12 23:13:18 -0500
diff --git a/tests/cases/vendors/fire_cake.test.php b/tests/cases/vendors/fire_cake.test.php
index af9f573..513fb96 100644
--- a/tests/cases/vendors/fire_cake.test.php
+++ b/tests/cases/vendors/fire_cake.test.php
@@ -201,6 +201,20 @@ class FireCakeTestCase extends CakeTestCase {
$this->assertPattern('/"Trace":\[/', $dump);
}
/**
+ * test enabling and disabling of FireCake output
+ *
+ * @return void
+ **/
+ function testEnableDisable() {
+ FireCake::disable();
+ FireCake::trace('myTrace');
+ $this->assertTrue(empty($this->firecake->sentHeaders));
+
+ FireCake::enable();
+ FireCake::trace('myTrace');
+ $this->assertFalse(empty($this->firecake->sentHeaders));
+ }
+/**
* test correct line continuation markers on multi line headers.
*
* @access public
diff --git a/vendors/fire_cake.php b/vendors/fire_cake.php
index 8409fb8..6984439 100644
--- a/vendors/fire_cake.php
+++ b/vendors/fire_cake.php
@@ -90,6 +90,12 @@ class FireCake extends Object {
**/
var $_methodIndex = array('info', 'log', 'warn', 'error', 'table', 'trace');
/**
+ * FireCake output status
+ *
+ * @var bool
+ **/
+ var $_enabled = true;
+/**
* get Instance of the singleton
*
* @param string $class Class instance to store in the singleton. Used with subclasses and Tests.
@@ -151,6 +157,25 @@ class FireCake extends Object {
return env('HTTP_USER_AGENT');
}
/**
+ * Disable FireCake output
+ * All subsequent output calls will not be run.
+ *
+ * @return void
+ **/
+ function disable() {
+ $_this = FireCake::getInstance();
+ $_this->_enabled = false;
+ }
+/**
+ * Enable FireCake output
+ *
+ * @return void
+ **/
+ function enable() {
+ $_this = FireCake::getInstance();
+ $_this->_enabled = true;
+ }
+/**
* Convenience wrapper for LOG messages
*
* @param string $message Message to log
@@ -273,7 +298,7 @@ class FireCake extends Object {
trigger_error(sprintf(__('Headers already sent in %s on line %s. Cannot send log data to FirePHP.', true), $filename, $linenum), E_USER_WARNING);
return false;
}
- if (!$_this->detectClientExtension()) {
+ if (!$_this->_enabled || !$_this->detectClientExtension()) {
return false;
}
