diff options
author | Christopher Smith <chris@jalakai.co.uk> | 2013-03-22 18:49:11 +0000 |
---|---|---|
committer | Christopher Smith <chris@jalakai.co.uk> | 2013-03-22 18:49:11 +0000 |
commit | 3e8bad3a1f8b5d065e170bb12dd224bf18de6897 (patch) | |
tree | ccccc4d8459312683605aa504fb903c6a5b5250d | |
parent | f56bb251b5bdb3bb4f2793e921cf479d2402a47c (diff) | |
download | rpg-3e8bad3a1f8b5d065e170bb12dd224bf18de6897.tar.gz rpg-3e8bad3a1f8b5d065e170bb12dd224bf18de6897.tar.bz2 |
add some dependency checks with test skips to fetch tests and tests which use TestResponse::headers
-rw-r--r-- | _test/tests/lib/exe/fetch_imagetoken.test.php | 20 | ||||
-rw-r--r-- | _test/tests/test/basic.test.php | 10 |
2 files changed, 27 insertions, 3 deletions
diff --git a/_test/tests/lib/exe/fetch_imagetoken.test.php b/_test/tests/lib/exe/fetch_imagetoken.test.php index f94e0479b..9e5b6e4a2 100644 --- a/_test/tests/lib/exe/fetch_imagetoken.test.php +++ b/_test/tests/lib/exe/fetch_imagetoken.test.php @@ -7,6 +7,19 @@ class fetch_imagetoken_test extends DokuWikiTest { private $height = 0; function setUp() { + // check we can carry out these tests + if (!file_exists(mediaFN($this->media))) { + $this->markTestSkipped('Source image required for test'); + } + + header('X-Test: check headers working'); + $header_check = function_exists('xdebug_get_headers') ? xdebug_get_headers() : headers_list(); + if (empty($header_check)) { + $this->markTestSkipped('headers not returned, perhaps your sapi does not return headers, try xdebug'); + } else { + header_remove('X-Test'); + } + parent::setUp(); global $conf; @@ -35,7 +48,7 @@ class fetch_imagetoken_test extends DokuWikiTest { */
function test_valid_token(){
$valid_token = 'tok='.media_get_token($this->media, $this->width, $this->height).'&'; - $response = $this->fetchResponse($valid_token);
+ $response = $this->fetchResponse($valid_token); $this->assertTrue((bool)$response->getHeader('Content-Type')); $this->assertTrue((bool)($response->getContent())); @@ -63,16 +76,19 @@ class fetch_imagetoken_test extends DokuWikiTest { /** * native image request which doesn't require a token + * try: with a token & without a token + * expect: (for both) header with mime-type, content matching source image filesize & no error response */ function test_no_token_required(){ $this->width = $this->height = 0; // no width & height, means image request at native dimensions $any_token = 'tok='.media_get_token('junk',200,100).'&'; $no_token = ''; + $bytes = filesize(mediaFN($this->media)); foreach(array($any_token, $no_token) as $token) { $response = $this->fetchResponse($token); $this->assertTrue((bool)$response->getHeader('Content-Type')); - $this->assertTrue((bool)($response->getContent())); + $this->assertEquals(strlen($response->getContent()), $bytes); $status_code = $response->getStatusCode(); $this->assertTrue(is_null($status_code) || (200 == $status_code)); diff --git a/_test/tests/test/basic.test.php b/_test/tests/test/basic.test.php index 1c9d6d516..05778ccf9 100644 --- a/_test/tests/test/basic.test.php +++ b/_test/tests/test/basic.test.php @@ -139,6 +139,14 @@ class InttestsBasicTest extends DokuWikiTest { } function testHeaders(){ + header('X-Test: check headers working'); + $header_check = function_exists('xdebug_get_headers') ? xdebug_get_headers() : headers_list(); + if (empty($header_check)) { + $this->markTestSkipped('headers not returned, perhaps your sapi does not return headers, try xdebug'); + } else { + header_remove('X-Test'); + } + $request = new TestRequest(); $response = $request->get(array(),'/lib/exe/fetch.php?media=wiki:dokuwiki-128.png'); $headers = $response->getHeaders();
@@ -157,7 +165,7 @@ class InttestsBasicTest extends DokuWikiTest { $response = new TestResponse('',$this->some_headers); $this->assertEquals(404, $response->getStatusCode()); - $response = new TestResponse('',array_slice($this->some_headers,0,-2)); // slide off the last two headers to leave no status header + $response = new TestResponse('',array_slice($this->some_headers,0,-2)); // slice off the last two headers to leave no status header $this->assertNull($response->getStatusCode()); } |