diff options
| -rw-r--r-- | tests/functional/browse_test.php | 3 | ||||
| -rw-r--r-- | tests/test_framework/phpbb_functional_test_case.php | 17 | 
2 files changed, 19 insertions, 1 deletions
diff --git a/tests/functional/browse_test.php b/tests/functional/browse_test.php index 26c18c4c1f..b5748059c6 100644 --- a/tests/functional/browse_test.php +++ b/tests/functional/browse_test.php @@ -15,18 +15,21 @@ class phpbb_functional_browse_test extends phpbb_functional_test_case  	public function test_index()  	{  		$crawler = $this->request('GET', 'index.php'); +		$this->assert_response_success();  		$this->assertGreaterThan(0, $crawler->filter('.topiclist')->count());  	}  	public function test_viewforum()  	{  		$crawler = $this->request('GET', 'viewforum.php?f=2'); +		$this->assert_response_success();  		$this->assertGreaterThan(0, $crawler->filter('.topiclist')->count());  	}  	public function test_viewtopic()  	{  		$crawler = $this->request('GET', 'viewtopic.php?t=1'); +		$this->assert_response_success();  		$this->assertGreaterThan(0, $crawler->filter('.postbody')->count());  	}  } diff --git a/tests/test_framework/phpbb_functional_test_case.php b/tests/test_framework/phpbb_functional_test_case.php index bd248a662e..7c03f874e9 100644 --- a/tests/test_framework/phpbb_functional_test_case.php +++ b/tests/test_framework/phpbb_functional_test_case.php @@ -205,7 +205,7 @@ class phpbb_functional_test_case extends phpbb_test_case  		$login = $this->client->submit($form, array('username' => 'admin', 'password' => 'admin'));  		$cookies = $this->cookieJar->all(); -		 +  		// The session id is stored in a cookie that ends with _sid - we assume there is only one such cookie  		foreach ($cookies as $cookie);  		{ @@ -252,4 +252,19 @@ class phpbb_functional_test_case extends phpbb_test_case  		return call_user_func_array('sprintf', $args);  	} + +	/** +	* Heuristic function to check that the response is success. +	* +	* When php decides to die with a fatal error, it still sends 200 OK +	* status code. This assertion tries to catch that. +	* +	* @return null +	*/ +	public function assert_response_success() +	{ +		$this->assertEquals(200, $this->client->getResponse()->getStatus()); +		$content = $this->client->getResponse()->getContent(); +		$this->assertNotContains('Fatal error:', $content); +	}  }  | 
