summaryrefslogtreecommitdiffstats
path: root/tests/unit/db/ItemTest.php
diff options
context:
space:
mode:
authorBernhard Posselt <dev@bernhard-posselt.com>2016-07-23 21:24:54 +0200
committerBernhard Posselt <dev@bernhard-posselt.com>2016-07-23 21:24:54 +0200
commit004fcbbcc7609ca83807f2e38967ef54f469bf72 (patch)
tree49eb99b4ea92b2045793fc567f719b31ec7f9042 /tests/unit/db/ItemTest.php
parent60abc0ed4438c9b6fda245b0dc33cb483bc2aeaf (diff)
Move to new directory structure
Diffstat (limited to 'tests/unit/db/ItemTest.php')
-rw-r--r--tests/unit/db/ItemTest.php316
1 files changed, 0 insertions, 316 deletions
diff --git a/tests/unit/db/ItemTest.php b/tests/unit/db/ItemTest.php
deleted file mode 100644
index b7bf76180..000000000
--- a/tests/unit/db/ItemTest.php
+++ /dev/null
@@ -1,316 +0,0 @@
-<?php
-/**
- * ownCloud - News
- *
- * This file is licensed under the Affero General Public License version 3 or
- * later. See the COPYING file.
- *
- * @author Alessandro Cosentino <cosenal@gmail.com>
- * @author Bernhard Posselt <dev@bernhard-posselt.com>
- * @copyright Alessandro Cosentino 2012
- * @copyright Bernhard Posselt 2012, 2014
- */
-
-namespace OCA\News\Db;
-
-
-class ItemTest extends \PHPUnit_Framework_TestCase {
-
- private $item;
-
- protected function setUp(){
- $this->item = new Item();
- $this->item->setStatus(0);
- }
-
-
- public function testSetRead(){
- $this->item->setRead();
-
- $this->assertTrue($this->item->isRead());
- }
-
-
- public function testSetUnread(){
- $this->item->setUnread();
-
- $this->assertTrue($this->item->isUnread());
- }
-
-
- public function testSetStarred(){
- $this->item->setStarred();
-
- $this->assertTrue($this->item->isStarred());
- }
-
-
- public function testSetUnstarred(){
- $this->item->setUnstarred();
-
- $this->assertTrue($this->item->isUnstarred());
- }
-
-
- public function testToAPI() {
- $item = new Item();
- $item->setId(3);
- $item->setGuid('guid');
- $item->setGuidHash('hash');
- $item->setUrl('https://google');
- $item->setTitle('title');
- $item->setAuthor('author');
- $item->setPubDate(123);
- $item->setBody('body');
- $item->setEnclosureMime('audio/ogg');
- $item->setEnclosureLink('enclink');
- $item->setRtl(true);
- $item->setFeedId(1);
- $item->setStatus(0);
- $item->setUnread();
- $item->setStarred();
- $item->setLastModified(321);
- $item->setFingerprint('fingerprint');
- $item->setContentHash('contentHash');
-
- $this->assertEquals([
- 'id' => 3,
- 'guid' => 'guid',
- 'guidHash' => 'hash',
- 'url' => 'https://google',
- 'title' => 'title',
- 'author' => 'author',
- 'pubDate' => 123,
- 'body' => 'body',
- 'enclosureMime' => 'audio/ogg',
- 'enclosureLink' => 'enclink',
- 'feedId' => 1,
- 'unread' => true,
- 'starred' => true,
- 'lastModified' => 321,
- 'rtl' => true,
- 'fingerprint' => 'fingerprint',
- 'contentHash' => 'contentHash'
- ], $item->toAPI());
- }
-
-
- public function testJSONSerialize() {
- $item = new Item();
- $item->setId(3);
- $item->setGuid('guid');
- $item->setGuidHash('hash');
- $item->setUrl('https://google');
- $item->setTitle('title');
- $item->setAuthor('author');
- $item->setPubDate(123);
- $item->setBody('<body><div>this is a test</body>');
- $item->setEnclosureMime('audio/ogg');
- $item->setEnclosureLink('enclink');
- $item->setFeedId(1);
- $item->setStatus(0);
- $item->setRtl(true);
- $item->setUnread();
- $item->setFingerprint('fingerprint');
- $item->setStarred();
- $item->setLastModified(321);
-
- $this->assertEquals([
- 'id' => 3,
- 'guid' => 'guid',
- 'guidHash' => 'hash',
- 'url' => 'https://google',
- 'title' => 'title',
- 'author' => 'author',
- 'pubDate' => 123,
- 'body' => '<body><div>this is a test</body>',
- 'enclosureMime' => 'audio/ogg',
- 'enclosureLink' => 'enclink',
- 'feedId' => 1,
- 'unread' => true,
- 'starred' => true,
- 'lastModified' => 321,
- 'rtl' => true,
- 'intro' => 'this is a test',
- 'fingerprint' => 'fingerprint'
- ], $item->jsonSerialize());
- }
-
- public function testToExport() {
- $item = new Item();
- $item->setId(3);
- $item->setGuid('guid');
- $item->setGuidHash('hash');
- $item->setUrl('https://google');
- $item->setTitle('title');
- $item->setAuthor('author');
- $item->setPubDate(123);
- $item->setBody('body');
- $item->setEnclosureMime('audio/ogg');
- $item->setEnclosureLink('enclink');
- $item->setFeedId(1);
- $item->setRtl(true);
- $item->setStatus(0);
- $item->setRead();
- $item->setStarred();
- $item->setLastModified(321);
-
- $feed = new Feed();
- $feed->setLink('http://test');
- $feeds = ["feed1" => $feed];
-
- $this->assertEquals([
- 'guid' => 'guid',
- 'url' => 'https://google',
- 'title' => 'title',
- 'author' => 'author',
- 'pubDate' => 123,
- 'body' => 'body',
- 'enclosureMime' => 'audio/ogg',
- 'enclosureLink' => 'enclink',
- 'unread' => false,
- 'starred' => true,
- 'feedLink' => 'http://test',
- 'rtl' => true
- ], $item->toExport($feeds));
- }
-
-
- private function createImportItem($isRead) {
- $item = new Item();
- $item->setGuid('guid');
- $item->setGuidHash('guid');
- $item->setUrl('https://google');
- $item->setTitle('title');
- $item->setAuthor('author');
- $item->setPubDate(123);
- $item->setBody('body');
- $item->setEnclosureMime('audio/ogg');
- $item->setEnclosureLink('enclink');
- $item->setStarred();
- $item->setRtl(true);
-
- if ($isRead) {
- $item->setUnread();
- } else {
- $item->setRead();
- }
-
- return $item;
- }
-
-
- public function testSearchIndex() {
- $item = new Item();
- $item->setBody('<a>somEth&auml;ng</a>');
- $item->setUrl('http://link');
- $item->setAuthor('&auml;uthor');
- $item->setTitle('<a>t&auml;tle</a>');
- $item->generateSearchIndex();
- $expected = 'somethängäuthortätlehttp://link';
- $this->assertEquals($expected, $item->getSearchIndex());
- }
-
-
- public function testFromImport() {
- $item = $this->createImportItem(false);
-
- $import = [
- 'guid' => $item->getGuid(),
- 'url' => $item->getUrl(),
- 'title' => $item->getTitle(),
- 'author' => $item->getAuthor(),
- 'pubDate' => $item->getPubDate(),
- 'body' => $item->getBody(),
- 'enclosureMime' => $item->getEnclosureMime(),
- 'enclosureLink' => $item->getEnclosureLink(),
- 'unread' => $item->isUnread(),
- 'starred' => $item->isStarred(),
- 'rtl' => $item->getRtl()
- ];
-
- $compareWith = Item::fromImport($import);
-
- $this->assertEquals($item, $compareWith);
- }
-
-
- public function testFromImportRead() {
- $item = $this->createImportItem(true);
-
- $import = [
- 'guid' => $item->getGuid(),
- 'url' => $item->getUrl(),
- 'title' => $item->getTitle(),
- 'author' => $item->getAuthor(),
- 'pubDate' => $item->getPubDate(),
- 'body' => $item->getBody(),
- 'enclosureMime' => $item->getEnclosureMime(),
- 'enclosureLink' => $item->getEnclosureLink(),
- 'unread' => $item->isUnread(),
- 'starred' => $item->isStarred(),
- 'rtl' => $item->getRtl()
- ];
-
- $compareWith = Item::fromImport($import);
-
- $this->assertEquals($item, $compareWith);
- }
-
-
-
- public function testSetAuthor(){
- $item = new Item();
- $item->setAuthor('<a>my link</li>');
- $this->assertEquals('my link', $item->getAuthor());
- $this->assertContains('author', $item->getUpdatedFields());
- }
-
-
- public function testSetTitle(){
- $item = new Item();
- $item->setTitle('<a>my link</li>');
- $this->assertEquals('my link', $item->getTitle());
- $this->assertContains('title', $item->getUpdatedFields());
- }
-
-
- public function testSetXSSUrl() {
- $item = new Item();
- $item->setUrl('javascript:alert()');
- $this->assertEquals('', $item->getUrl());
- }
-
-
- public function testSetMagnetUrl() {
- $item = new Item();
- $item->setUrl('magnet://link.com');
- $this->assertEquals('magnet://link.com', $item->getUrl());
- }
-
-
- public function testMakeLinksInBodyOpenNewTab() {
- $item = new Item();
- $item->setBody("<a href=\"test\">ha</a>");
- $this->assertEquals("<a target=\"_blank\" rel=\"noreferrer\" href=\"test\">ha</a>",
- $item->getBody());
- }
-
- public function testComputeFingerPrint() {
- $title = 'a';
- $body = 'b';
- $url = 'http://google.com';
- $link = 'ho';
-
- $item = new Item();
- $item->setBody($body);
- $item->setTitle($title);
- $item->setUrl($url);
- $item->setEnclosureLink($link);
- $item->generateSearchIndex();
-
- $this->assertEquals(md5($title . $url . $body . $link),
- $item->getFingerprint());
- }
-
-}