Merge branch 'develop-olympus' into develop

* develop-olympus:
  [ticket/11202] Custom message does not make sense here, delete it.
  [ticket/11202] Check response success before content assertions.
  [ticket/11202] Add a heuristic function to check for response success.

Conflicts:
	tests/test_framework/phpbb_functional_test_case.php
This commit is contained in:
Andreas Fischer 2012-11-15 20:24:37 +01:00
commit b9e1caa81a
2 changed files with 18 additions and 0 deletions

View file

@ -15,18 +15,21 @@ class phpbb_functional_browse_test extends phpbb_functional_test_case
public function test_index() public function test_index()
{ {
$crawler = $this->request('GET', 'index.php'); $crawler = $this->request('GET', 'index.php');
$this->assert_response_success();
$this->assertGreaterThan(0, $crawler->filter('.topiclist')->count()); $this->assertGreaterThan(0, $crawler->filter('.topiclist')->count());
} }
public function test_viewforum() public function test_viewforum()
{ {
$crawler = $this->request('GET', 'viewforum.php?f=2'); $crawler = $this->request('GET', 'viewforum.php?f=2');
$this->assert_response_success();
$this->assertGreaterThan(0, $crawler->filter('.topiclist')->count()); $this->assertGreaterThan(0, $crawler->filter('.topiclist')->count());
} }
public function test_viewtopic() public function test_viewtopic()
{ {
$crawler = $this->request('GET', 'viewtopic.php?t=1'); $crawler = $this->request('GET', 'viewtopic.php?t=1');
$this->assert_response_success();
$this->assertGreaterThan(0, $crawler->filter('.postbody')->count()); $this->assertGreaterThan(0, $crawler->filter('.postbody')->count());
} }
} }

View file

@ -343,4 +343,19 @@ class phpbb_functional_test_case extends phpbb_test_case
{ {
$this->assertContains(html_entity_decode($this->lang($needle), ENT_QUOTES), $haystack, $message); $this->assertContains(html_entity_decode($this->lang($needle), ENT_QUOTES), $haystack, $message);
} }
/**
* 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);
}
} }