From 2e3bacb699dffec598781c68838acc435791fd42 Mon Sep 17 00:00:00 2001 From: El RIDO Date: Thu, 15 Oct 2015 22:04:57 +0200 Subject: [PATCH] fixing deletion issue in request refactoring, starting work on API read refactoring --- js/paste.jsonld | 19 ++++++++++++++++++- lib/request.php | 7 +++++-- tst/jsonApi.php | 17 +++++++++++++++++ 3 files changed, 40 insertions(+), 3 deletions(-) diff --git a/js/paste.jsonld b/js/paste.jsonld index 8f11acae..c3e02947 100644 --- a/js/paste.jsonld +++ b/js/paste.jsonld @@ -6,6 +6,23 @@ "url: { "@id": "http://schema.org/url", "@type": "@id" - } + }, + "data": "http://schema.org/Text", + "attachment": "http://schema.org/Text", + "attachmentname": "http://schema.org/Text", + "meta": { + "formatter": "http://schema.org/Text", + "postdate": "http://schema.org/Integer", + "opendiscussion": "http://schema.org/True", + "burnafterreading": "http://schema.org/True", + "expire_date": "http://schema.org/Integer", + "remaining_time": "http://schema.org/Integer" + }, + "comments": { + "@id": "comment.jsonld", + "@container": "@list" + }, + "comment_count": "http://schema.org/Integer", + "comment_offset": "http://schema.org/Integer" } } \ No newline at end of file diff --git a/lib/request.php b/lib/request.php index ca531200..0fcf904d 100644 --- a/lib/request.php +++ b/lib/request.php @@ -89,7 +89,11 @@ class request default: $this->_params = $_GET; } - if (array_key_exists('QUERY_STRING', $_SERVER) && !empty($_SERVER['QUERY_STRING'])) + if ( + !array_key_exists('pasteid', $this->_params) && + array_key_exists('QUERY_STRING', $_SERVER) && + !empty($_SERVER['QUERY_STRING']) + ) { $this->_params['pasteid'] = $_SERVER['QUERY_STRING']; } @@ -112,7 +116,6 @@ class request { $this->_operation = 'read'; } - } } diff --git a/tst/jsonApi.php b/tst/jsonApi.php index ffd5b16b..102db85d 100644 --- a/tst/jsonApi.php +++ b/tst/jsonApi.php @@ -136,4 +136,21 @@ class jsonApiTest extends PHPUnit_Framework_TestCase $this->assertFalse($this->_model->exists(helper::getPasteId()), 'paste successfully deleted'); } + /** + * @runInSeparateProcess + */ + public function testRead() + { + $this->reset(); + $this->_model->create(helper::getPasteId(), helper::getPaste()); + $_SERVER['QUERY_STRING'] = helper::getPasteId(); + $_SERVER['HTTP_X_REQUESTED_WITH'] = 'JSONHttpRequest'; + ob_start(); + new zerobin; + $content = ob_get_contents(); + $response = json_decode($content, true); + $this->assertEquals(0, $response['status'], 'outputs success status'); + $this->assertEquals(array(helper::getPaste()), $response['messages'], 'outputs data correctly'); + } + } \ No newline at end of file