From 7a9bf6772d0f4dc033e9696e7e85d325c695efd1 Mon Sep 17 00:00:00 2001 From: cweiske Date: Thu, 19 Nov 2009 19:44:04 +0000 Subject: test bookmarkExists() in all variations git-svn-id: https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/trunk@561 b3834d28-1941-0410-a4f8-b48e95affb8f --- src/SemanticScuttle/Service/Bookmark.php | 15 ++++- tests/BookmarkTest.php | 100 +++++++++++++++++++++++++++++++ 2 files changed, 113 insertions(+), 2 deletions(-) diff --git a/src/SemanticScuttle/Service/Bookmark.php b/src/SemanticScuttle/Service/Bookmark.php index b0ffbac..5842390 100644 --- a/src/SemanticScuttle/Service/Bookmark.php +++ b/src/SemanticScuttle/Service/Bookmark.php @@ -236,10 +236,21 @@ class SemanticScuttle_Service_Bookmark extends SemanticScuttle_DbService - function bookmarkExists($address = false, $uid = NULL) + /** + * Checks if a bookmark for the given URL exists + * already + * + * @param string $address URL of bookmark to check + * @param integer $uid User id the bookmark has to belong to. + * null for all users + * + * @return boolean True when the bookmark with the given URL + * exists for the user, false if not. + */ + function bookmarkExists($address = false, $uid = null) { if (!$address) { - return; + return false; } $address = $this->normalize($address); diff --git a/tests/BookmarkTest.php b/tests/BookmarkTest.php index caee84b..7940d8d 100644 --- a/tests/BookmarkTest.php +++ b/tests/BookmarkTest.php @@ -134,6 +134,106 @@ class BookmarkTest extends TestBase + /** + * Tests if bookmarkExists() returns false when the given + * parameter is invalid. + * + * @return void + */ + public function testBookmarkExistsInvalidParam() + { + $this->assertFalse($this->bs->bookmarkExists(false)); + $this->assertFalse($this->bs->bookmarkExists(null)); + } + + + + /** + * Tests if bookmarkExists() returns true when a bookmark + * exists + * + * @return void + */ + public function testBookmarkExistsTrue() + { + $bid = $this->addBookmark(); + $bookmark = $this->bs->getBookmark($bid); + + $this->assertTrue($this->bs->bookmarkExists($bookmark['bAddress'])); + } + + + + /** + * Tests if bookmarkExists() returns false when a bookmark + * does not exist + * + * @return void + */ + public function testBookmarkExistsFalse() + { + $this->assertFalse($this->bs->bookmarkExists('does-not-exist')); + } + + + + /** + * Tests if bookmarkExists() returns true when a bookmark + * exists for a user + * + * @return void + */ + public function testBookmarkExistsUserTrue() + { + $bid = $this->addBookmark(); + $bookmark = $this->bs->getBookmark($bid); + + $this->assertTrue( + $this->bs->bookmarkExists( + $bookmark['bAddress'], + $bookmark['uId'] + ) + ); + } + + + + /** + * Tests if bookmarkExists() returns false when a bookmark + * does not exist for a user + * + * @return void + */ + public function testBookmarkExistsUserFalse() + { + $this->assertFalse( + $this->bs->bookmarkExists('does-not-exist', 1234) + ); + } + + + + /** + * Tests if bookmarkExists() returns false when a bookmark + * does not exist for a user but for another user + * + * @return void + */ + public function testBookmarkExistsOtherUser() + { + $bid = $this->addBookmark(); + $bookmark = $this->bs->getBookmark($bid); + + $this->assertFalse( + $this->bs->bookmarkExists( + $bookmark['bAddress'], + $bookmark['uId'] + 1 + ) + ); + } + + + /** * Test if countBookmarks() works with no bookmarks * -- cgit v1.2.3