aboutsummaryrefslogtreecommitdiff
path: root/tests/Bookmark2TagTest.php
diff options
context:
space:
mode:
authorcweiske <cweiske@b3834d28-1941-0410-a4f8-b48e95affb8f>2010-02-20 11:14:39 +0000
committercweiske <cweiske@b3834d28-1941-0410-a4f8-b48e95affb8f>2010-02-20 11:14:39 +0000
commit3e9c2cd0a57d798bb7cbcf89575cbc0199e0d2e5 (patch)
tree4fd6a2d724564741e374efd372f1181b42c7c063 /tests/Bookmark2TagTest.php
parentc4b8719b5b0b61d5fc4c7c4691f23d6635ef8f4d (diff)
downloadsemanticscuttle-3e9c2cd0a57d798bb7cbcf89575cbc0199e0d2e5.tar.gz
semanticscuttle-3e9c2cd0a57d798bb7cbcf89575cbc0199e0d2e5.tar.bz2
add new method for better sql performance: Bookmark2Tag::getTagsForBookmarks()
git-svn-id: https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/trunk@667 b3834d28-1941-0410-a4f8-b48e95affb8f
Diffstat (limited to 'tests/Bookmark2TagTest.php')
-rw-r--r--tests/Bookmark2TagTest.php73
1 files changed, 73 insertions, 0 deletions
diff --git a/tests/Bookmark2TagTest.php b/tests/Bookmark2TagTest.php
index d75afd8..0afaaf8 100644
--- a/tests/Bookmark2TagTest.php
+++ b/tests/Bookmark2TagTest.php
@@ -126,6 +126,79 @@ class Bookmark2TagTest extends TestBase
$this->assertContains('bar', $tags);
$this->assertContains('fuu', $tags);
}
+
+
+
+ /**
+ * Test getTagsForBookmarks() when no bookmarks have tags.
+ *
+ * @return void
+ */
+ public function testGetTagsForBookmarksNone()
+ {
+ $bid1 = $this->addBookmark(null, null, 0, array());
+ $bid2 = $this->addBookmark(null, null, 0, array());
+
+ $alltags = $this->b2ts->getTagsForBookmarks(
+ array($bid1, $bid2)
+ );
+ $this->assertType('array', $alltags);
+ $this->assertEquals(2, count($alltags));
+ $this->assertType('array', $alltags[$bid1]);
+ $this->assertType('array', $alltags[$bid2]);
+ $this->assertEquals(0, count($alltags[$bid1]));
+ $this->assertEquals(0, count($alltags[$bid2]));
+ }
+
+
+
+ /**
+ * Test getTagsForBookmarks() when most bookmarks have tags.
+ *
+ * @return void
+ */
+ public function testGetTagsForBookmarksMost()
+ {
+ $bid1 = $this->addBookmark(null, null, 0, array());
+ $this->b2ts->attachTags($bid1, array('foo', 'bar', 'fuu'));
+
+ $bid2 = $this->addBookmark(null, null, 0, array());
+ $this->b2ts->attachTags($bid2, array('foo', 'bar2', 'fuu2'));
+
+ $bid3 = $this->addBookmark(null, null, 0, array());
+ $this->b2ts->attachTags($bid3, array('foo', 'bar2', 'fuu3'));
+
+ $bid4 = $this->addBookmark(null, null, 0, array());
+ //no tags
+
+ $alltags = $this->b2ts->getTagsForBookmarks(
+ array($bid1, $bid2, $bid3, $bid4)
+ );
+ $this->assertType('array', $alltags);
+ foreach ($alltags as $bid => $btags) {
+ $this->assertType('array', $btags);
+ if ($bid == $bid1) {
+ $this->assertEquals(3, count($btags));
+ $this->assertContains('foo', $btags);
+ $this->assertContains('bar', $btags);
+ $this->assertContains('fuu', $btags);
+ } else if ($bid == $bid2) {
+ $this->assertEquals(3, count($btags));
+ $this->assertContains('foo', $btags);
+ $this->assertContains('bar2', $btags);
+ $this->assertContains('fuu2', $btags);
+ } else if ($bid == $bid3) {
+ $this->assertEquals(3, count($btags));
+ $this->assertContains('foo', $btags);
+ $this->assertContains('bar2', $btags);
+ $this->assertContains('fuu3', $btags);
+ } else if ($bid == $bid4) {
+ $this->assertEquals(0, count($btags));
+ } else {
+ $this->assertTrue(false, 'Unknown bookmark id');
+ }
+ }
+ }
}
if (PHPUnit_MAIN_METHOD == 'Bookmark2TagTest::main') {