2008-04-21 15:43:00 +00:00
|
|
|
|
<?php
|
2009-10-25 15:31:31 +00:00
|
|
|
|
/**
|
|
|
|
|
* SemanticScuttle - your social bookmark manager.
|
|
|
|
|
*
|
|
|
|
|
* PHP version 5.
|
|
|
|
|
*
|
|
|
|
|
* @category Bookmarking
|
|
|
|
|
* @package SemanticScuttle
|
2009-10-26 06:39:59 +00:00
|
|
|
|
* @author Benjamin Huynh-Kim-Bang <mensonge@users.sourceforge.net>
|
2009-10-25 15:31:31 +00:00
|
|
|
|
* @author Christian Weiske <cweiske@cweiske.de>
|
2009-10-26 06:39:59 +00:00
|
|
|
|
* @author Eric Dane <ericdane@users.sourceforge.net>
|
2009-10-25 15:31:31 +00:00
|
|
|
|
* @license GPL http://www.gnu.org/licenses/gpl.html
|
|
|
|
|
* @link http://sourceforge.net/projects/semanticscuttle
|
2008-12-18 10:59:43 +00:00
|
|
|
|
*/
|
2010-09-27 20:45:51 +00:00
|
|
|
|
|
2009-10-25 15:31:31 +00:00
|
|
|
|
/**
|
|
|
|
|
* Unit tests for the SemanticScuttle tag service.
|
|
|
|
|
*
|
|
|
|
|
* @category Bookmarking
|
|
|
|
|
* @package SemanticScuttle
|
2009-10-26 06:39:59 +00:00
|
|
|
|
* @author Benjamin Huynh-Kim-Bang <mensonge@users.sourceforge.net>
|
|
|
|
|
* @author Christian Weiske <cweiske@cweiske.de>
|
|
|
|
|
* @author Eric Dane <ericdane@users.sourceforge.net>
|
2009-10-25 15:31:31 +00:00
|
|
|
|
* @license GPL http://www.gnu.org/licenses/gpl.html
|
|
|
|
|
* @link http://sourceforge.net/projects/semanticscuttle
|
|
|
|
|
*/
|
|
|
|
|
class TagTest extends TestBase
|
2008-04-21 15:43:00 +00:00
|
|
|
|
{
|
2009-10-25 19:35:48 +00:00
|
|
|
|
protected $ts;
|
2008-12-18 10:59:43 +00:00
|
|
|
|
|
2009-10-25 15:31:31 +00:00
|
|
|
|
|
2009-10-25 19:35:48 +00:00
|
|
|
|
protected function setUp()
|
|
|
|
|
{
|
|
|
|
|
$this->ts =SemanticScuttle_Service_Factory::get('Tag');
|
|
|
|
|
$this->ts->deleteAll();
|
|
|
|
|
$this->us =SemanticScuttle_Service_Factory::get('User');
|
|
|
|
|
$this->bs =SemanticScuttle_Service_Factory::get('Bookmark');
|
|
|
|
|
$this->bs->deleteAll();
|
|
|
|
|
$this->b2ts =SemanticScuttle_Service_Factory::get('Bookmark2Tag');
|
|
|
|
|
$this->b2ts->deleteAll();
|
|
|
|
|
$this->tts =SemanticScuttle_Service_Factory::get('Tag2Tag');
|
|
|
|
|
$this->tts->deleteAll();
|
|
|
|
|
$this->tsts =SemanticScuttle_Service_Factory::get('TagStat');
|
|
|
|
|
$this->tsts->deleteAll();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testTagDescriptions()
|
|
|
|
|
{
|
|
|
|
|
$ts = $this->ts;
|
|
|
|
|
|
|
|
|
|
$desc = $ts->getAllDescriptions('tag1');
|
|
|
|
|
$this->assertSame(array(), $desc);
|
|
|
|
|
|
|
|
|
|
$desc = $ts->getDescription('tag1', 1); // user 1
|
|
|
|
|
$this->assertSame(array('tDescription'=>''), $desc);
|
|
|
|
|
|
|
|
|
|
$desc1 = "test description";
|
|
|
|
|
$ts->updateDescription('tag1', 1, $desc1); // first desc
|
|
|
|
|
$desc = $ts->getDescription('tag1', 1);
|
|
|
|
|
$this->assertEquals(array('tag'=>'tag1', 'uId'=>1, 'tDescription'=>$desc1), $desc);
|
|
|
|
|
|
|
|
|
|
$desc1 = "&é\"'(-è_çà)=´~#'#{{[\\\\[||`\^\^@^@}¹²¡×¿ ?./§µ%";
|
|
|
|
|
$ts->updateDescription('tag1', 1, $desc1); // update desc
|
|
|
|
|
$desc = $ts->getDescription('tag1', 1);
|
|
|
|
|
$this->assertEquals(array('tag'=>'tag1', 'uId'=>1, 'tDescription'=>$desc1), $desc);
|
|
|
|
|
|
|
|
|
|
$desc2 = "æâ€êþÿûîîôôöŀï'üð’‘ßä«≤»©» ↓¿×÷¡¹²³";
|
|
|
|
|
$ts->updateDescription('tag1', 2, $desc2); // user 2
|
|
|
|
|
$desc = $ts->getDescription('tag1', 2);
|
|
|
|
|
$this->assertEquals(array('tag'=>'tag1', 'uId'=>2, 'tDescription'=>$desc2), $desc);
|
|
|
|
|
|
|
|
|
|
$desc = $ts->getAllDescriptions('tag1');
|
|
|
|
|
$this->assertEquals($desc, array(array('tag'=>'tag1', 'uId'=>1, 'tDescription'=>$desc1), array('tag'=>'tag1', 'uId'=>2, 'tDescription'=>$desc2)));
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testRenameFunction()
|
|
|
|
|
{
|
|
|
|
|
$ts = $this->ts;
|
|
|
|
|
|
|
|
|
|
$ts->updateDescription('tag1', 10, 'xxx');
|
|
|
|
|
$ts->renameTag(10, 'tag1', 'tag2');
|
|
|
|
|
$desc = $ts->getDescription('tag1', 10);
|
|
|
|
|
$this->assertSame(array('tDescription'=>''), $desc);
|
|
|
|
|
$desc = $ts->getDescription('tag2', 10);
|
|
|
|
|
$this->assertEquals(array('tag'=>'tag2', 'uId'=>10, 'tDescription'=>'xxx'), $desc);
|
|
|
|
|
|
|
|
|
|
}
|
2008-04-21 15:43:00 +00:00
|
|
|
|
|
2013-03-21 05:39:11 +00:00
|
|
|
|
public function testNormalizeEmptyValues()
|
|
|
|
|
{
|
|
|
|
|
$tags = $this->ts->normalize(
|
|
|
|
|
array('foo', '', 'bar', 'baz')
|
|
|
|
|
);
|
2013-03-21 05:40:17 +00:00
|
|
|
|
$this->assertEquals(array(0 => 'foo', 2 => 'bar', 3 => 'baz'), $tags);
|
2013-03-21 05:39:11 +00:00
|
|
|
|
}
|
|
|
|
|
|
2008-04-21 15:43:00 +00:00
|
|
|
|
}
|
|
|
|
|
?>
|