diff options
Diffstat (limited to 'tests/unit/utility/articleenhancer')
3 files changed, 33 insertions, 105 deletions
diff --git a/tests/unit/utility/articleenhancer/ArticleEnhancerTest.php b/tests/unit/utility/articleenhancer/ArticleEnhancerTest.php index 8d507c0f8..c808a0e49 100644 --- a/tests/unit/utility/articleenhancer/ArticleEnhancerTest.php +++ b/tests/unit/utility/articleenhancer/ArticleEnhancerTest.php @@ -63,10 +63,10 @@ class ArticleEnhancerTest extends \OCA\AppFramework\Utility\TestUtility { } - public function testCanHandle() { + public function testDoesNotModifiyNotMatchingResults() { $item = new Item(); - $item->setUrl('http://explosm.net/comics'); - $this->assertTrue($this->testEnhancer->canHandle($item)); + $item->setUrl('http://explosm.net'); + $this->assertEquals($item, $this->testEnhancer->enhance($item)); } diff --git a/tests/unit/utility/articleenhancer/DefaultEnhancerTest.php b/tests/unit/utility/articleenhancer/DefaultEnhancerTest.php deleted file mode 100644 index 901428616..000000000 --- a/tests/unit/utility/articleenhancer/DefaultEnhancerTest.php +++ /dev/null @@ -1,54 +0,0 @@ -<?php - -/** -* ownCloud - News -* -* @author Alessandro Cosentino -* @author Bernhard Posselt -* @copyright 2012 Alessandro Cosentino cosenal@gmail.com -* @copyright 2012 Bernhard Posselt dev@bernhard-posselt.com -* -* This library is free software; you can redistribute it and/or -* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE -* License as published by the Free Software Foundation; either -* version 3 of the License, or any later version. -* -* This library is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU AFFERO GENERAL PUBLIC LICENSE for more details. -* -* You should have received a copy of the GNU Affero General Public -* License along with this library. If not, see <http://www.gnu.org/licenses/>. -* -*/ - -namespace OCA\News\Utility\ArticleEnhancer; - -use \OCA\News\Db\Item; - -require_once(__DIR__ . "/../../../classloader.php"); - - -class DefaultEnhancerTest extends \OCA\AppFramework\Utility\TestUtility { - - private $testEnhancer; - - protected function setUp() { - $this->testEnhancer = new DefaultEnhancer(); - } - - - public function testCanHandle() { - $item = new Item(); - $this->assertTrue($this->testEnhancer->canHandle($item)); - } - - - public function testEnhance() { - $item = new Item(); - $this->assertEquals($item, $this->testEnhancer->enhance($item)); - } - - -}
\ No newline at end of file diff --git a/tests/unit/utility/articleenhancer/EnhancerTest.php b/tests/unit/utility/articleenhancer/EnhancerTest.php index 559722e60..769538740 100644 --- a/tests/unit/utility/articleenhancer/EnhancerTest.php +++ b/tests/unit/utility/articleenhancer/EnhancerTest.php @@ -42,67 +42,49 @@ class EnhancerTest extends \OCA\AppFramework\Utility\TestUtility { '\OCA\News\Utility\ArticleEnhancer\ArticleEnhancer') ->disableOriginalConstructor() ->getMock(); - $this->articleEnhancer2 = $this->getMockBuilder( - '\OCA\News\Utility\ArticleEnhancer\ArticleEnhancer') - ->disableOriginalConstructor() - ->getMock(); + $this->enhancer->registerEnhancer('test.com', $this->articleEnhancer); } - public function testFetch(){ + public function testEnhanceSetsCorrectHash(){ $item = new Item(); $item->setUrl('hi'); + $urls = array( + 'https://test.com', + 'https://www.test.com', + 'https://test.com/', + 'http://test.com', + 'http://test.com/', + 'http://www.test.com' + ); + for ($i=0; $i < count($urls); $i++) { + $url = $urls[$i]; + $this->articleEnhancer->expects($this->at($i)) + ->method('enhance') + ->with($this->equalTo($item)) + ->will($this->returnValue($item)); + } + + for ($i=0; $i < count($urls); $i++) { + $url = $urls[$i]; + $result = $this->enhancer->enhance($item, $url); + $this->assertEquals($item, $result); + } - $this->articleEnhancer->expects($this->once()) - ->method('canHandle') - ->with($this->equalTo($item)) - ->will($this->returnValue(true)); - $this->enhancer->registerEnhancer($this->articleEnhancer); - - $this->enhancer->enhance($item); } - public function testMultipleFetchers(){ + public function testNotMatchShouldJustReturnItem() { $item = new Item(); $item->setUrl('hi'); - $this->articleEnhancer->expects($this->once()) - ->method('canHandle') - ->with($this->equalTo($item)) - ->will($this->returnValue(false)); - $this->articleEnhancer2->expects($this->once()) - ->method('canHandle') - ->with($this->equalTo($item)) - ->will($this->returnValue(true)); - - $this->enhancer->registerEnhancer($this->articleEnhancer); - $this->enhancer->registerEnhancer($this->articleEnhancer2); - - $this->enhancer->enhance($item); - } + $url = 'https://tests.com'; + $this->articleEnhancer->expects($this->never()) + ->method('enhance'); - public function testMultipleFetchersOnlyOneShouldHandle(){ - $item = new Item(); - $item->setUrl('hi'); - $return = 'zeas'; - $this->articleEnhancer->expects($this->once()) - ->method('canHandle') - ->with($this->equalTo($item)) - ->will($this->returnValue(true)); - $this->articleEnhancer->expects($this->once()) - ->method('enhance') - ->with($this->equalTo($item)) - ->will($this->returnValue($return)); - $this->articleEnhancer2->expects($this->never()) - ->method('canHandle'); - - $this->enhancer->registerEnhancer($this->articleEnhancer); - $this->enhancer->registerEnhancer($this->articleEnhancer2); - - $result = $this->enhancer->enhance($item); - - $this->assertEquals($return, $result); + $result = $this->enhancer->enhance($item, $url); + $this->assertEquals($item, $result); + } |