FirePHPHandlerTest.php 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <?php
  2. /*
  3. * This file is part of the Monolog package.
  4. *
  5. * (c) Jordi Boggiano <j.boggiano@seld.be>
  6. *
  7. * For the full copyright and license information, please view the LICENSE
  8. * file that was distributed with this source code.
  9. */
  10. namespace Monolog\Handler;
  11. use Monolog\TestCase;
  12. use Monolog\Logger;
  13. class FirePHPHandlerTest extends TestCase
  14. {
  15. public function setUp()
  16. {
  17. TestFirePHPHandler::reset();
  18. }
  19. public function testHeaders()
  20. {
  21. $handler = new TestFirePHPHandler;
  22. $handler->handle($this->getRecord(Logger::DEBUG));
  23. $handler->handle($this->getRecord(Logger::WARNING));
  24. $expected = array(
  25. 'X-Wf-Protocol-1' => 'http://meta.wildfirehq.org/Protocol/JsonStream/0.2',
  26. 'X-Wf-1-Structure-1' => 'http://meta.firephp.org/Wildfire/Structure/FirePHP/FirebugConsole/0.1',
  27. 'X-Wf-1-Plugin-1' => 'http://meta.firephp.org/Wildfire/Plugin/ZendFramework/FirePHP/1.6.2',
  28. 'X-Wf-1-1-1-1' => '50|[{"Type":"LOG","File":"","Line":""},"test: test "]|',
  29. 'X-Wf-1-1-1-2' => '51|[{"Type":"WARN","File":"","Line":""},"test: test "]|',
  30. );
  31. $this->assertEquals($expected, $handler->getHeaders());
  32. }
  33. public function testConcurrentHandlers()
  34. {
  35. $handler = new TestFirePHPHandler;
  36. $handler->handle($this->getRecord(Logger::DEBUG));
  37. $handler->handle($this->getRecord(Logger::WARNING));
  38. $handler2 = new TestFirePHPHandler;
  39. $handler2->handle($this->getRecord(Logger::DEBUG));
  40. $handler2->handle($this->getRecord(Logger::WARNING));
  41. $expected = array(
  42. 'X-Wf-Protocol-1' => 'http://meta.wildfirehq.org/Protocol/JsonStream/0.2',
  43. 'X-Wf-1-Structure-1' => 'http://meta.firephp.org/Wildfire/Structure/FirePHP/FirebugConsole/0.1',
  44. 'X-Wf-1-Plugin-1' => 'http://meta.firephp.org/Wildfire/Plugin/ZendFramework/FirePHP/1.6.2',
  45. 'X-Wf-1-1-1-1' => '50|[{"Type":"LOG","File":"","Line":""},"test: test "]|',
  46. 'X-Wf-1-1-1-2' => '51|[{"Type":"WARN","File":"","Line":""},"test: test "]|',
  47. );
  48. $expected2 = array(
  49. 'X-Wf-1-1-1-3' => '50|[{"Type":"LOG","File":"","Line":""},"test: test "]|',
  50. 'X-Wf-1-1-1-4' => '51|[{"Type":"WARN","File":"","Line":""},"test: test "]|',
  51. );
  52. $this->assertEquals($expected, $handler->getHeaders());
  53. $this->assertEquals($expected2, $handler2->getHeaders());
  54. }
  55. }
  56. class TestFirePHPHandler extends FirePHPHandler
  57. {
  58. protected $headers = array();
  59. public static function reset()
  60. {
  61. self::$initialized = false;
  62. self::$messageIndex = 1;
  63. }
  64. protected function sendHeader($header, $content)
  65. {
  66. $this->headers[$header] = $content;
  67. }
  68. public function getHeaders()
  69. {
  70. return $this->headers;
  71. }
  72. }