Fix bug #3097187: Using opensearch with two tags does not work in Firefox
This commit is contained in:
parent
5d22905ce7
commit
a25838b267
3 changed files with 60 additions and 4 deletions
|
@ -6,6 +6,7 @@ ChangeLog for SemantiScuttle
|
||||||
- Switch to jQuery and drop dojo
|
- Switch to jQuery and drop dojo
|
||||||
- Fix bug #3187177: Wrong URL / Export XML Bookmarks
|
- Fix bug #3187177: Wrong URL / Export XML Bookmarks
|
||||||
- Fix bug in getTagsForBookmarks() that fetched all tags
|
- Fix bug in getTagsForBookmarks() that fetched all tags
|
||||||
|
- Fix bug #3097187: Using opensearch with two tags does not work in Firefox
|
||||||
- Implement request #3054906: Show user's full name instead of nickname
|
- Implement request #3054906: Show user's full name instead of nickname
|
||||||
- Implement patch #3059829: update FR_CA translation
|
- Implement patch #3059829: update FR_CA translation
|
||||||
- Show error message on mysqli connection errors
|
- Show error message on mysqli connection errors
|
||||||
|
|
53
tests/www/searchTest.php
Normal file
53
tests/www/searchTest.php
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
class www_SearchTest extends TestBaseApi
|
||||||
|
{
|
||||||
|
protected $urlPart = 'search.php';
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Some browsers using opensearch do "urlencode" on the terms,
|
||||||
|
* for example Firefox. Multiple terms separated with space
|
||||||
|
* appear as "foo+bar" in the URL.
|
||||||
|
*/
|
||||||
|
public function testMultipleTermsUrlEncoded()
|
||||||
|
{
|
||||||
|
$this->addBookmark(null, null, 0, null, 'unittest foo bar');
|
||||||
|
$res = $this->getRequest('/all/foo+bar')->send();
|
||||||
|
$this->assertSelectCount(
|
||||||
|
'.xfolkentry', true, $res->getBody(),
|
||||||
|
'No bookmark found'
|
||||||
|
);
|
||||||
|
|
||||||
|
$res = $this->getRequest('/all/baz+bat')->send();
|
||||||
|
$this->assertSelectCount(
|
||||||
|
'.xfolkentry', false, $res->getBody(),
|
||||||
|
'Bookmarks found'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Some browsers using opensearch do "rawurlencode" on the terms,
|
||||||
|
* for example Opera. Multiple terms separated with space
|
||||||
|
* appear as "foo%20bar" in the URL.
|
||||||
|
*/
|
||||||
|
public function testMultipleTermsRawUrlEncoded()
|
||||||
|
{
|
||||||
|
$this->addBookmark(null, null, 0, null, 'unittest foo bar');
|
||||||
|
$res = $this->getRequest('/all/foo bar')->send();
|
||||||
|
$this->assertSelectCount(
|
||||||
|
'.xfolkentry', true, $res->getBody(),
|
||||||
|
'No bookmark found'
|
||||||
|
);
|
||||||
|
|
||||||
|
$res = $this->getRequest('/all/baz bat')->send();
|
||||||
|
$this->assertSelectCount(
|
||||||
|
'.xfolkentry', false, $res->getBody(),
|
||||||
|
'Bookmarks found'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
|
@ -40,8 +40,8 @@ if (POST_TERMS != '') {
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Service creation: only useful services are created */
|
/* Service creation: only useful services are created */
|
||||||
$bookmarkservice =SemanticScuttle_Service_Factory::get('Bookmark');
|
$bookmarkservice = SemanticScuttle_Service_Factory::get('Bookmark');
|
||||||
$searchhistoryservice =SemanticScuttle_Service_Factory::get('SearchHistory');
|
$searchhistoryservice = SemanticScuttle_Service_Factory::get('SearchHistory');
|
||||||
|
|
||||||
/* Managing current logged user */
|
/* Managing current logged user */
|
||||||
$currentUserId = $userservice->getCurrentUserId();
|
$currentUserId = $userservice->getCurrentUserId();
|
||||||
|
@ -53,11 +53,13 @@ if(count($exploded) == 4) {
|
||||||
list($url, $range, $terms, $page) = $exploded;
|
list($url, $range, $terms, $page) = $exploded;
|
||||||
} else if (count($exploded) == 2) {
|
} else if (count($exploded) == 2) {
|
||||||
list($url, $range) = $exploded;
|
list($url, $range) = $exploded;
|
||||||
$terms = $page= NULL;
|
$terms = $page = NULL;
|
||||||
} else {
|
} else {
|
||||||
list($url, $range, $terms) = $exploded;
|
list($url, $range, $terms) = $exploded;
|
||||||
$page= NULL;
|
$page = NULL;
|
||||||
}
|
}
|
||||||
|
//some OpenSearch clients need that
|
||||||
|
$terms = urldecode($terms);
|
||||||
|
|
||||||
$tplVars['loadjs'] = true;
|
$tplVars['loadjs'] = true;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue