summaryrefslogtreecommitdiff
path: root/_test
diff options
context:
space:
mode:
authorChristopher Smith <chris@jalakai.co.uk>2013-03-22 18:49:11 +0000
committerChristopher Smith <chris@jalakai.co.uk>2013-03-22 18:49:11 +0000
commit3e8bad3a1f8b5d065e170bb12dd224bf18de6897 (patch)
treeccccc4d8459312683605aa504fb903c6a5b5250d /_test
parentf56bb251b5bdb3bb4f2793e921cf479d2402a47c (diff)
downloadrpg-3e8bad3a1f8b5d065e170bb12dd224bf18de6897.tar.gz
rpg-3e8bad3a1f8b5d065e170bb12dd224bf18de6897.tar.bz2
add some dependency checks with test skips to fetch tests and tests which use TestResponse::headers
Diffstat (limited to '_test')
-rw-r--r--_test/tests/lib/exe/fetch_imagetoken.test.php20
-rw-r--r--_test/tests/test/basic.test.php10
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());
}