getMock('Behat\Mink\Driver\DriverInterface'), new \Exception('Something failed')); $this->assertEquals('Something failed', $exception->getMessage()); } public function testExceptionToString() { $driver = $this->getMock('Behat\Mink\Driver\DriverInterface'); $driver->expects($this->any()) ->method('getStatusCode') ->will($this->returnValue(200)); $driver->expects($this->any()) ->method('getCurrentUrl') ->will($this->returnValue('http://localhost/test')); $html = "Hello\n\n

Hello world

\n

Test

\n"; $driver->expects($this->any()) ->method('getContent') ->will($this->returnValue($html)); $expected = <<<'TXT' Expectation failure +--[ HTTP/1.1 200 | http://localhost/test | %s ] | | |

Hello world

|

Test

| | TXT; $expected = sprintf($expected.' ', get_class($driver)); $exception = new ExpectationException('Expectation failure', $driver); $this->assertEquals($expected, $exception->__toString()); } public function testBigContent() { $driver = $this->getMock('Behat\Mink\Driver\DriverInterface'); $driver->expects($this->any()) ->method('getStatusCode') ->will($this->returnValue(200)); $driver->expects($this->any()) ->method('getCurrentUrl') ->will($this->returnValue('http://localhost/test')); $body = str_repeat('a', 1001 - strlen('')); $html = sprintf("Hello\n%s", $body); $driver->expects($this->any()) ->method('getContent') ->will($this->returnValue($html)); $expected = <<<'TXT' Expectation failure +--[ HTTP/1.1 200 | http://localhost/test | %s ] | | %sassertEquals($expected, $exception->__toString()); } public function testExceptionWhileRenderingString() { $driver = $this->getMock('Behat\Mink\Driver\DriverInterface'); $driver->expects($this->any()) ->method('getContent') ->will($this->throwException(new \Exception('Broken page'))); $exception = new ExpectationException('Expectation failure', $driver); $this->assertEquals('Expectation failure', $exception->__toString()); } /** * @group legacy */ public function testConstructWithSession() { $driver = $this->getMock('Behat\Mink\Driver\DriverInterface'); $session = $this->getMockBuilder('Behat\Mink\Session') ->disableOriginalConstructor() ->getMock(); $session->expects($this->any()) ->method('getDriver') ->will($this->returnValue($driver)); $exception = new ExpectationException('', $session, new \Exception('Something failed')); $this->assertEquals('Something failed', $exception->getMessage()); } }