PageRenderTime 45ms CodeModel.GetById 26ms RepoModel.GetById 0ms app.codeStats 0ms

/Debug/tests/debug_message_test.php

https://github.com/Yannix/zetacomponents
PHP | 232 lines | 175 code | 28 blank | 29 comment | 0 complexity | 3ee50c5962a2910d2aed6d4c9d2a54d3 MD5 | raw file
  1. <?php
  2. /**
  3. *
  4. * Licensed to the Apache Software Foundation (ASF) under one
  5. * or more contributor license agreements. See the NOTICE file
  6. * distributed with this work for additional information
  7. * regarding copyright ownership. The ASF licenses this file
  8. * to you under the Apache License, Version 2.0 (the
  9. * "License"); you may not use this file except in compliance
  10. * with the License. You may obtain a copy of the License at
  11. *
  12. * http://www.apache.org/licenses/LICENSE-2.0
  13. *
  14. * Unless required by applicable law or agreed to in writing,
  15. * software distributed under the License is distributed on an
  16. * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  17. * KIND, either express or implied. See the License for the
  18. * specific language governing permissions and limitations
  19. * under the License.
  20. *
  21. * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
  22. * @version //autogentag//
  23. * @filesource
  24. * @package Debug
  25. * @subpackage Tests
  26. */
  27. require_once 'test_classes.php';
  28. function testDebugMessageErrorHandler( $errno, $errstr, $errfile, $errline )
  29. {
  30. ezcDebug::debugHandler( $errno, $errstr, $errfile, $errline );
  31. return true;
  32. }
  33. /**
  34. * @package Debug
  35. * @subpackage Tests
  36. */
  37. class ezcDebugMessageTest extends ezcTestCase
  38. {
  39. public static function suite()
  40. {
  41. return new PHPUnit_Framework_TestSuite( __CLASS__ );
  42. }
  43. public function setUp()
  44. {
  45. $dbg = ezcDebug::getInstance();
  46. $dbg->reset();
  47. $dbg->setOutputFormatter( new TestReporter() );
  48. $dbg->getEventLog()->source = 'DefaultSource';
  49. $dbg->getEventLog()->category = 'DefaultCategory';
  50. set_error_handler( 'testDebugMessageErrorHandler' );
  51. }
  52. public function tearDown()
  53. {
  54. restore_error_handler();
  55. }
  56. public function testParseMessage()
  57. {
  58. trigger_error( '[Source, Category] 23: Message', E_USER_WARNING );
  59. $out = ezcDebug::getInstance()->generateOutput();
  60. $this->assertEquals(
  61. 'Message',
  62. $out[0][0]->message
  63. );
  64. $this->assertEquals(
  65. 23,
  66. $out[0][0]->verbosity
  67. );
  68. $this->assertEquals(
  69. 'Category',
  70. $out[0][0]->category
  71. );
  72. $this->assertEquals(
  73. 'Source',
  74. $out[0][0]->source
  75. );
  76. }
  77. public function testParseMessageNoMessage()
  78. {
  79. trigger_error( '[Source, Category] 23:', E_USER_WARNING );
  80. $out = ezcDebug::getInstance()->generateOutput();
  81. $this->assertEquals(
  82. false,
  83. $out[0][0]->message
  84. );
  85. $this->assertEquals(
  86. 23,
  87. $out[0][0]->verbosity
  88. );
  89. $this->assertEquals(
  90. 'Category',
  91. $out[0][0]->category
  92. );
  93. $this->assertEquals(
  94. 'Source',
  95. $out[0][0]->source
  96. );
  97. }
  98. public function testParseMessageNoSource()
  99. {
  100. trigger_error( '[Category] 23: Message', E_USER_WARNING );
  101. $out = ezcDebug::getInstance()->generateOutput();
  102. $this->assertEquals(
  103. 'Message',
  104. $out[0][0]->message
  105. );
  106. $this->assertEquals(
  107. 23,
  108. $out[0][0]->verbosity
  109. );
  110. $this->assertEquals(
  111. 'Category',
  112. $out[0][0]->category
  113. );
  114. $this->assertEquals(
  115. 'DefaultSource',
  116. $out[0][0]->source
  117. );
  118. }
  119. public function testParseMessageNoCategoryNoSource()
  120. {
  121. trigger_error( '23: Message', E_USER_WARNING );
  122. $out = ezcDebug::getInstance()->generateOutput();
  123. $this->assertEquals(
  124. 'Message',
  125. $out[0][0]->message
  126. );
  127. $this->assertEquals(
  128. 23,
  129. $out[0][0]->verbosity
  130. );
  131. $this->assertEquals(
  132. 'DefaultCategory',
  133. $out[0][0]->category
  134. );
  135. $this->assertEquals(
  136. 'DefaultSource',
  137. $out[0][0]->source
  138. );
  139. }
  140. public function testParseMessageSeverityNotice()
  141. {
  142. trigger_error( '[Source, Category] 23: Message', E_USER_NOTICE );
  143. $out = ezcDebug::getInstance()->generateOutput();
  144. $this->assertEquals(
  145. 'Message',
  146. $out[0][0]->message
  147. );
  148. $this->assertEquals(
  149. 23,
  150. $out[0][0]->verbosity
  151. );
  152. $this->assertEquals(
  153. 'Category',
  154. $out[0][0]->category
  155. );
  156. $this->assertEquals(
  157. 'Source',
  158. $out[0][0]->source
  159. );
  160. }
  161. public function testParseMessageSeverityError()
  162. {
  163. trigger_error( '[Source, Category] 23: Message', E_USER_ERROR );
  164. $out = ezcDebug::getInstance()->generateOutput();
  165. $this->assertEquals(
  166. 'Message',
  167. $out[0][0]->message
  168. );
  169. $this->assertEquals(
  170. 23,
  171. $out[0][0]->verbosity
  172. );
  173. $this->assertEquals(
  174. 'Category',
  175. $out[0][0]->category
  176. );
  177. $this->assertEquals(
  178. 'Source',
  179. $out[0][0]->source
  180. );
  181. }
  182. public function testParseMessageUnknownSeverity()
  183. {
  184. trigger_error( '[Source, Category] 23: Message', 42 );
  185. $out = ezcDebug::getInstance()->generateOutput();
  186. $this->assertEquals(
  187. 'Invalid error type specified',
  188. $out[0][0]->message
  189. );
  190. $this->assertEquals(
  191. false,
  192. $out[0][0]->verbosity
  193. );
  194. $this->assertEquals(
  195. 'DefaultCategory',
  196. $out[0][0]->category
  197. );
  198. $this->assertEquals(
  199. 'DefaultSource',
  200. $out[0][0]->source
  201. );
  202. }
  203. }
  204. ?>