Просмотр исходного кода

removing dead code and improving code coverage

El RIDO 7 лет назад
Родитель
Сommit
be1e7babc0
5 измененных файлов с 19 добавлено и 21 удалено
  1. 1 1
      lib/Model/Comment.php
  2. 0 17
      lib/Model/Paste.php
  3. 3 2
      tst/I18nTest.php
  4. 1 0
      tst/JsonApiTest.php
  5. 14 1
      tst/ModelTest.php

+ 1 - 1
lib/Model/Comment.php

@@ -145,7 +145,7 @@ class Comment extends AbstractModel
     public function getParentId()
     {
         if (!array_key_exists('parentid', $this->_data)) {
-            $this->_data['parentid'] = '';
+            $this->_data['parentid'] = $this->getPaste()->getId();
         }
         return $this->_data['parentid'];
     }

+ 0 - 17
lib/Model/Paste.php

@@ -183,23 +183,6 @@ class Paste extends AbstractModel
         );
     }
 
-    /**
-     * Check if paste is of burn-after-reading type.
-     *
-     * @access public
-     * @throws Exception
-     * @return bool
-     */
-    public function isBurnafterreading()
-    {
-        if (!array_key_exists('adata', $this->_data) && !array_key_exists('data', $this->_data)) {
-            $this->get();
-        }
-        return
-            (array_key_exists('adata', $this->_data) && $this->_data['adata'][3] === 1) ||
-            (array_key_exists('burnafterreading', $this->_data['meta']) && $this->_data['meta']['burnafterreading']);
-    }
-
     /**
      * Check if paste has discussions enabled.
      *

+ 3 - 2
tst/I18nTest.php

@@ -26,6 +26,7 @@ class I18nTest extends PHPUnit_Framework_TestCase
         $messageId                       = 'It does not matter if the message ID exists';
         I18n::loadTranslations();
         $this->assertEquals($messageId, I18n::_($messageId), 'fallback to en');
+        I18n::getLanguageLabels();
     }
 
     public function testCookieLanguageDeDetection()
@@ -40,7 +41,7 @@ class I18nTest extends PHPUnit_Framework_TestCase
 
     public function testBrowserLanguageDeDetection()
     {
-        $_SERVER['HTTP_ACCEPT_LANGUAGE'] = 'de-CH,de;q=0.8,en-GB;q=0.6,en-US;q=0.4,en;q=0.2';
+        $_SERVER['HTTP_ACCEPT_LANGUAGE'] = 'de-CH,de;q=0.8,en-GB;q=0.6,en-US;q=0.4,en;q=0.2,fr;q=0.0';
         I18n::loadTranslations();
         $this->assertEquals($this->_translations['en'], I18n::_('en'), 'browser language de');
         $this->assertEquals('0 Stunden', I18n::_('%d hours', 0), '0 hours in German');
@@ -50,7 +51,7 @@ class I18nTest extends PHPUnit_Framework_TestCase
 
     public function testBrowserLanguageFrDetection()
     {
-        $_SERVER['HTTP_ACCEPT_LANGUAGE'] = 'fr-CH,fr;q=0.8,en-GB;q=0.6,en-US;q=0.4,en;q=0.2';
+        $_SERVER['HTTP_ACCEPT_LANGUAGE'] = 'fr-CH,fr;q=0.8,en-GB;q=0.6,en-US;q=0.4,en;q=0.2,de;q=0.0';
         I18n::loadTranslations();
         $this->assertEquals('fr', I18n::_('en'), 'browser language fr');
         $this->assertEquals('0 heure',  I18n::_('%d hours', 0), '0 hours in French');

+ 1 - 0
tst/JsonApiTest.php

@@ -52,6 +52,7 @@ class JsonApiTest extends PHPUnit_Framework_TestCase
         $_SERVER['HTTP_X_REQUESTED_WITH'] = 'JSONHttpRequest';
         $_SERVER['REQUEST_METHOD']        = 'POST';
         $_SERVER['REMOTE_ADDR']           = '::1';
+        $_SERVER['REQUEST_URI']           = '/';
         ob_start();
         new Controller;
         $content = ob_get_contents();

+ 14 - 1
tst/ModelTest.php

@@ -4,6 +4,7 @@ use Identicon\Identicon;
 use PrivateBin\Configuration;
 use PrivateBin\Data\Database;
 use PrivateBin\Model;
+use PrivateBin\Model\Comment;
 use PrivateBin\Model\Paste;
 use PrivateBin\Persistence\ServerSalt;
 use PrivateBin\Persistence\TrafficLimiter;
@@ -85,7 +86,6 @@ class ModelTest extends PHPUnit_Framework_TestCase
 
         $comment = $paste->getComment(Helper::getPasteId());
         $comment->setData($commentData);
-        //$comment->getParentId();
         $comment->store();
 
         $comments = $this->_model->getPaste(Helper::getPasteId())->get()['comments'];
@@ -102,6 +102,19 @@ class ModelTest extends PHPUnit_Framework_TestCase
         $this->assertEquals(array(), $paste->getComments(), 'comment was deleted with paste');
     }
 
+    public function testCommentDefaults()
+    {
+        $comment = new Comment(
+            $this->_conf,
+            forward_static_call(
+                'PrivateBin\\Data\\' . $this->_conf->getKey('class', 'model') . '::getInstance',
+                $this->_conf->getSection('model_options')
+            )
+        );
+        $comment->setPaste($this->_model->getPaste(Helper::getPasteId()));
+        $this->assertEquals(Helper::getPasteId(), $comment->getParentId(), 'comment parent ID gets initialized to paste ID');
+    }
+
     /**
      * @expectedException Exception
      * @expectedExceptionCode 75