diff --git a/src/Module/Api/ApiResponse.php b/src/Module/Api/ApiResponse.php
index d0d03da994..c0ce7c756b 100644
--- a/src/Module/Api/ApiResponse.php
+++ b/src/Module/Api/ApiResponse.php
@@ -202,11 +202,9 @@ class ApiResponse
break;
case 'rss':
$this->setHeader('Content-Type: application/rss+xml');
- $return = '' . "\n" . $return;
break;
case 'atom':
$this->setHeader('Content-Type: application/atom+xml');
- $return = '' . "\n" . $return;
break;
}
diff --git a/tests/legacy/ApiTest.php b/tests/legacy/ApiTest.php
index 9bcf2e1164..73ea1b3327 100644
--- a/tests/legacy/ApiTest.php
+++ b/tests/legacy/ApiTest.php
@@ -622,30 +622,6 @@ class ApiTest extends FixtureTest
);
}
- /**
- * Test the api_call() function with an unallowed method.
- *
- * @runInSeparateProcess
- * @preserveGlobalState disabled
- */
- public function testApiCallWithWrongMethod()
- {
- // Shouldn't be needed anymore due to the router?
- /*
- global $API;
- $API['api_path'] = ['method' => 'method'];
-
- $_SERVER['QUERY_STRING'] = 'pagename=api_path';
-
- $args = DI::args()->determine($_SERVER, $_GET);
-
- self::assertEquals(
- '{"status":{"error":"Method Not Allowed","code":"405 Method Not Allowed","request":"api_path"}}',
- api_call($this->app, $args)
- );
- */
- }
-
/**
* Test the api_call() function with an unauthorized user.
*
@@ -674,92 +650,6 @@ class ApiTest extends FixtureTest
*/
}
- /**
- * Test the api_error() function with a JSON result.
- *
- * @runInSeparateProcess
- * @preserveGlobalState disabled
- */
- public function testApiErrorWithJson()
- {
- // @todo How to test the new API?
- // self::assertEquals(
- // '{"status":{"error":"error_message","code":"200 OK","request":""}}',
- // api_error('json', new HTTPException\OKException('error_message'), DI::args())
- // );
- }
-
- /**
- * Test the api_error() function with an XML result.
- *
- * @runInSeparateProcess
- * @preserveGlobalState disabled
- */
- public function testApiErrorWithXml()
- {
- // @todo How to test the new API?
- /*
- self::assertEquals(
- '' . "\n" .
- '' . "\n" .
- ' error_message' . "\n" .
- ' 200 OK
' . "\n" .
- ' ' . "\n" .
- '' . "\n",
- api_error('xml', new HTTPException\OKException('error_message'), DI::args())
- );
- */
- }
-
- /**
- * Test the api_error() function with an RSS result.
- *
- * @runInSeparateProcess
- * @preserveGlobalState disabled
- */
- public function testApiErrorWithRss()
- {
- // @todo How to test the new API?
- /*
- self::assertEquals(
- '' . "\n" .
- '' . "\n" .
- ' error_message' . "\n" .
- ' 200 OK
' . "\n" .
- ' ' . "\n" .
- '' . "\n",
- api_error('rss', new HTTPException\OKException('error_message'), DI::args())
- );
- */
- }
-
- /**
- * Test the api_error() function with an Atom result.
- *
- * @runInSeparateProcess
- * @preserveGlobalState disabled
- */
- public function testApiErrorWithAtom()
- {
- // @todo How to test the new API?
- /*
- self::assertEquals(
- '' . "\n" .
- '' . "\n" .
- ' error_message' . "\n" .
- ' 200 OK
' . "\n" .
- ' ' . "\n" .
- '' . "\n",
- api_error('atom', new HTTPException\OKException('error_message'), DI::args())
- );
- */
- }
/**
* Test the api_rss_extra() function.
diff --git a/tests/src/Module/Api/ApiResponseTest.php b/tests/src/Module/Api/ApiResponseTest.php
new file mode 100644
index 0000000000..7499e9a35c
--- /dev/null
+++ b/tests/src/Module/Api/ApiResponseTest.php
@@ -0,0 +1,93 @@
+shouldReceive('getQueryString')->andReturn('');
+
+ $response = new ApiResponseDouble($l10n, $args, new NullLogger());
+ $response->error(200, 'OK', 'error_message', 'json');
+
+ self::assertEquals('{"error":"error_message","code":"200 OK","request":""}', ApiResponseDouble::getOutput());
+ }
+
+ public function testErrorWithXml()
+ {
+ $l10n = \Mockery::mock(L10n::class);
+ $args = \Mockery::mock(Arguments::class);
+ $args->shouldReceive('getQueryString')->andReturn('');
+
+ $response = new ApiResponseDouble($l10n, $args, new NullLogger());
+ $response->error(200, 'OK', 'error_message', 'xml');
+
+ self::assertEquals('' . "\n" .
+ '' . "\n" .
+ ' error_message' . "\n" .
+ ' 200 OK
' . "\n" .
+ ' ' . "\n" .
+ '' . "\n",
+ ApiResponseDouble::getOutput());
+ }
+
+ public function testErrorWithRss()
+ {
+ $l10n = \Mockery::mock(L10n::class);
+ $args = \Mockery::mock(Arguments::class);
+ $args->shouldReceive('getQueryString')->andReturn('');
+
+ $response = new ApiResponseDouble($l10n, $args, new NullLogger());
+ $response->error(200, 'OK', 'error_message', 'rss');
+
+ self::assertEquals(
+ '' . "\n" .
+ '' . "\n" .
+ ' error_message' . "\n" .
+ ' 200 OK
' . "\n" .
+ ' ' . "\n" .
+ '' . "\n",
+ ApiResponseDouble::getOutput());
+ }
+
+ public function testErrorWithAtom()
+ {
+ $l10n = \Mockery::mock(L10n::class);
+ $args = \Mockery::mock(Arguments::class);
+ $args->shouldReceive('getQueryString')->andReturn('');
+
+ $response = new ApiResponseDouble($l10n, $args, new NullLogger());
+ $response->error(200, 'OK', 'error_message', 'atom');
+
+ self::assertEquals(
+ '' . "\n" .
+ '' . "\n" .
+ ' error_message' . "\n" .
+ ' 200 OK
' . "\n" .
+ ' ' . "\n" .
+ '' . "\n",
+ ApiResponseDouble::getOutput());
+ }
+}