diff --git a/lib/Model/Comment.php b/lib/Model/Comment.php index 5737086e..b1fd2ed0 100644 --- a/lib/Model/Comment.php +++ b/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']; } diff --git a/lib/Model/Paste.php b/lib/Model/Paste.php index dc9e9af1..34361ce7 100644 --- a/lib/Model/Paste.php +++ b/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. * diff --git a/tst/I18nTest.php b/tst/I18nTest.php index de163490..8be09fa1 100644 --- a/tst/I18nTest.php +++ b/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'); diff --git a/tst/JsonApiTest.php b/tst/JsonApiTest.php index 32064869..e9fa2b84 100644 --- a/tst/JsonApiTest.php +++ b/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(); diff --git a/tst/ModelTest.php b/tst/ModelTest.php index c04ea393..d5c4074f 100644 --- a/tst/ModelTest.php +++ b/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