Chris@13
|
1 <?php
|
Chris@13
|
2
|
Chris@13
|
3 /*
|
Chris@13
|
4 * This file is part of Psy Shell.
|
Chris@13
|
5 *
|
Chris@13
|
6 * (c) 2012-2018 Justin Hileman
|
Chris@13
|
7 *
|
Chris@13
|
8 * For the full copyright and license information, please view the LICENSE
|
Chris@13
|
9 * file that was distributed with this source code.
|
Chris@13
|
10 */
|
Chris@13
|
11
|
Chris@13
|
12 namespace Psy\Test\Exception;
|
Chris@13
|
13
|
Chris@13
|
14 use Psy\Exception\FatalErrorException;
|
Chris@13
|
15
|
Chris@13
|
16 class FatalErrorExceptionTest extends \PHPUnit\Framework\TestCase
|
Chris@13
|
17 {
|
Chris@13
|
18 public function testInstance()
|
Chris@13
|
19 {
|
Chris@13
|
20 $e = new FatalErrorException();
|
Chris@13
|
21
|
Chris@13
|
22 $this->assertInstanceOf('Psy\Exception\Exception', $e);
|
Chris@13
|
23 $this->assertInstanceOf('ErrorException', $e);
|
Chris@13
|
24 $this->assertInstanceOf('Psy\Exception\FatalErrorException', $e);
|
Chris@13
|
25 }
|
Chris@13
|
26
|
Chris@13
|
27 public function testMessage()
|
Chris@13
|
28 {
|
Chris@13
|
29 $e = new FatalErrorException('{msg}', 0, 0, '{filename}', 13);
|
Chris@13
|
30
|
Chris@13
|
31 $this->assertSame('{msg}', $e->getRawMessage());
|
Chris@13
|
32 $this->assertContains('{msg}', $e->getMessage());
|
Chris@13
|
33 $this->assertContains('{filename}', $e->getMessage());
|
Chris@13
|
34 $this->assertContains('line 13', $e->getMessage());
|
Chris@13
|
35 }
|
Chris@13
|
36
|
Chris@13
|
37 public function testMessageWithNoFilename()
|
Chris@13
|
38 {
|
Chris@13
|
39 $e = new FatalErrorException('{msg}');
|
Chris@13
|
40
|
Chris@13
|
41 $this->assertSame('{msg}', $e->getRawMessage());
|
Chris@13
|
42 $this->assertContains('{msg}', $e->getMessage());
|
Chris@13
|
43 $this->assertContains('eval()\'d code', $e->getMessage());
|
Chris@13
|
44 }
|
Chris@16
|
45
|
Chris@16
|
46 public function testNegativeOneLineNumberIgnored()
|
Chris@16
|
47 {
|
Chris@16
|
48 $e = new FatalErrorException('{msg}', 0, 1, null, -1);
|
Chris@16
|
49 $this->assertEquals(0, $e->getLine());
|
Chris@16
|
50 }
|
Chris@13
|
51 }
|