Bug fixes: prevent from adding special characters into tags

git-svn-id: https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/trunk@44 b3834d28-1941-0410-a4f8-b48e95affb8f
This commit is contained in:
mensonge 2008-02-19 13:51:18 +00:00
parent a77ff1772a
commit 6f312b54db
2 changed files with 24 additions and 0 deletions

View file

@ -41,6 +41,10 @@ class TagService {
}
}
//clean tags from strange characters
$tags = str_replace(array('"', '\''), "_", $tags);
$tags_count = count($tags);
for ($i = 0; $i < $tags_count; $i++) {
$tags[$i] = trim(strtolower($tags[$i]));

View file

@ -29,6 +29,25 @@ class BookmarksTest extends PHPUnit_Framework_TestCase
$this->tsts =& ServiceFactory::getServiceInstance('TagStatService');
$this->tsts->deleteAll();
}
public function testHardCharactersInBookmarks()
{
$bs = $this->bs;
$title = "title&é\"'(-è_çà)=";
$desc = "description#{[|`\^@]}³<> ¹¡÷׿&é\"'(-è\\_çà)=";
$tag1 = "#{|`^@]³¹¡¿<&é\"'(-è\\_çà)";
$tag2 = "\"'(-è.[?./§!_çà)";
$bs->addBookmark("http://site1.com", $title, $desc, "status", array($tag1, $tag2), null, false, false, 1);
$bookmarks =& $bs->getBookmarks(0, 1, NULL, NULL, NULL, getSortOrder(), NULL, 0, $dtend);
$b0 = $bookmarks['bookmarks'][0];
$this->assertEquals($title, $b0['bTitle']);
$this->assertEquals($desc, $b0['bDescription']);
$this->assertEquals(str_replace(array('"', '\''), "_", $tag1), $b0['tags'][0]);
$this->assertEquals(str_replace(array('"', '\''), "_", $tag2), $b0['tags'][1]);
}
public function testUnificationOfBookmarks()
{
@ -38,6 +57,7 @@ class BookmarksTest extends PHPUnit_Framework_TestCase
$bs->addBookmark("http://site1.com", "title2", "description2", "status", array('tag2'), null, false, false, 2);
$bookmarks =& $bs->getBookmarks(0, 1, NULL, NULL, NULL, getSortOrder(), NULL, 0, $dtend);
$this->assertEquals(2, $bookmarks['total']);
}
public function testSearchingBookmarksAccentsInsensible()