summaryrefslogtreecommitdiff
path: root/tests/phpunit/includes/exception/ErrorPageErrorTest.php
blob: 9c4e4a0b4afa24e999f2ba52a7550cf08e582a07 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?php

/**
 * @covers ErrorPageError
 * @author Adam Shorland
 */
class ErrorPageErrorTest extends MediaWikiTestCase {

	private function getMockMessage() {
		$mockMessage = $this->getMockBuilder( 'Message' )
			->disableOriginalConstructor()
			->getMock();
		$mockMessage->expects( $this->once() )
			->method( 'inLanguage' )
			->will( $this->returnValue( $mockMessage ) );
		$mockMessage->expects( $this->once() )
			->method( 'useDatabase' )
			->will( $this->returnValue( $mockMessage ) );
		return $mockMessage;
	}

	public function testConstruction() {
		$mockMessage = $this->getMockMessage();
		$title = 'Foo';
		$params = array( 'Baz' );
		$e = new ErrorPageError( $title, $mockMessage, $params );
		$this->assertEquals( $title, $e->title );
		$this->assertEquals( $mockMessage, $e->msg );
		$this->assertEquals( $params, $e->params );
	}

	public function testReport() {
		$mockMessage = $this->getMockMessage();
		$title = 'Foo';
		$params = array( 'Baz' );

		$mock = $this->getMockBuilder( 'OutputPage' )
			->disableOriginalConstructor()
			->getMock();
		$mock->expects( $this->once() )
			->method( 'showErrorPage' )
			->with( $title, $mockMessage, $params );
		$mock->expects( $this->once() )
			->method( 'output' );
		$this->setMwGlobals( 'wgOut', $mock );

		$e = new ErrorPageError( $title, $mockMessage, $params );
		$e->report();
	}

}