4 * This file is part of Psy Shell.
6 * (c) 2012-2017 Justin Hileman
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
12 namespace Psy\Test\Exception;
14 use Psy\Exception\Exception;
15 use Psy\Exception\ParseErrorException;
17 class ParseErrorExceptionTest extends \PHPUnit_Framework_TestCase
19 public function testInstance()
21 $e = new ParseErrorException();
23 $this->assertTrue($e instanceof Exception);
24 $this->assertTrue($e instanceof \PhpParser\Error);
25 $this->assertTrue($e instanceof ParseErrorException);
28 public function testMessage()
30 $e = new ParseErrorException('{msg}', 1);
32 $this->assertContains('{msg}', $e->getMessage());
33 $this->assertContains('PHP Parse error:', $e->getMessage());
36 public function testConstructFromParseError()
38 $e = ParseErrorException::fromParseError(new \PhpParser\Error('{msg}'));
40 $this->assertContains('{msg}', $e->getRawMessage());
41 $this->assertContains('PHP Parse error:', $e->getMessage());