Browse Source

fixing deletion issue in request refactoring, starting work on API read
refactoring

El RIDO 10 years ago
parent
commit
2e3bacb699
3 changed files with 40 additions and 3 deletions
  1. 18 1
      js/paste.jsonld
  2. 5 2
      lib/request.php
  3. 17 0
      tst/jsonApi.php

+ 18 - 1
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"
 	}
 }

+ 5 - 2
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';
             }
-
         }
     }
 

+ 17 - 0
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');
+    }
+
 }