[TASK] Re-work/simplify copyright header in PHP files - Part 4
[Packages/TYPO3.CMS.git] / typo3 / sysext / core / Tests / Unit / Error / ProductionExceptionHandlerTest.php
1 <?php
2 namespace TYPO3\CMS\Core\Tests\Unit\Error;
3
4 /**
5 * This file is part of the TYPO3 CMS project.
6 *
7 * It is free software; you can redistribute it and/or modify it under
8 * the terms of the GNU General Public License, either version 2
9 * of the License, or any later version.
10 *
11 * For the full copyright and license information, please read the
12 * LICENSE.txt file that was distributed with this source code.
13 *
14 * The TYPO3 project - inspiring people to share!
15 */
16
17 /**
18 * testcase for the \TYPO3\CMS\Core\Error\ProductionExceptionHandler class.
19 *
20 * @author Oliver Klee <typo3-coding@oliverklee.de>
21 */
22 class ProductionExceptionHandlerTest extends \TYPO3\CMS\Core\Tests\UnitTestCase {
23
24 /**
25 * @var \TYPO3\CMS\Core\Error\ProductionExceptionHandler|\PHPUnit_Framework_MockObject_MockObject
26 */
27 protected $fixture = NULL;
28
29 /**
30 * Sets up this test case.
31 */
32 protected function setUp() {
33 $this->fixture = $this->getMock('TYPO3\\CMS\\Core\\Error\\ProductionExceptionHandler', array('discloseExceptionInformation', 'sendStatusHeaders', 'writeLogEntries'), array(), '', FALSE);
34 $this->fixture->expects($this->any())->method('discloseExceptionInformation')->will($this->returnValue(TRUE));
35 }
36
37 /**
38 * @test
39 */
40 public function echoExceptionWebEscapesExceptionMessage() {
41 $message = '<b>b</b><script>alert(1);</script>';
42 $exception = new \Exception($message);
43 ob_start();
44 $this->fixture->echoExceptionWeb($exception);
45 $output = ob_get_contents();
46 ob_end_clean();
47 $this->assertContains(htmlspecialchars($message), $output);
48 $this->assertNotContains($message, $output);
49 }
50
51 /**
52 * @test
53 */
54 public function echoExceptionWebEscapesExceptionTitle() {
55 $title = '<b>b</b><script>alert(1);</script>';
56 /** @var $exception \Exception|\PHPUnit_Framework_MockObject_MockObject */
57 $exception = $this->getMock('Exception', array('getTitle'), array('some message'));
58 $exception->expects($this->any())->method('getTitle')->will($this->returnValue($title));
59 ob_start();
60 $this->fixture->echoExceptionWeb($exception);
61 $output = ob_get_contents();
62 ob_end_clean();
63 $this->assertContains(htmlspecialchars($title), $output);
64 $this->assertNotContains($title, $output);
65 }
66
67 }