FIX: Encode percent character in search terms.
This commit is contained in:
parent
0eb69398b9
commit
3c25ca2f9f
|
@ -1,6 +1,6 @@
|
|||
import RestAdapter from 'discourse/adapters/rest';
|
||||
|
||||
function finderFor(filter, params) {
|
||||
export function finderFor(filter, params) {
|
||||
return function() {
|
||||
let url = Discourse.getURL("/") + filter + ".json";
|
||||
|
||||
|
@ -9,7 +9,7 @@ function finderFor(filter, params) {
|
|||
encoded = [];
|
||||
|
||||
keys.forEach(function(p) {
|
||||
const value = params[p];
|
||||
const value = encodeURI(params[p]);
|
||||
if (typeof value !== 'undefined') {
|
||||
encoded.push(p + "=" + value);
|
||||
}
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
module("adapter:topic-list");
|
||||
|
||||
import { finderFor } from 'discourse/adapters/topic-list';
|
||||
|
||||
test("finderFor", function() {
|
||||
// Mocking instead of using a pretender which decodes the path and thus does
|
||||
// not reflect the behavior of an actual web server.
|
||||
var mock = sandbox.mock(Discourse);
|
||||
mock.expects("ajax").withArgs("/search.json?q=test%25%25");
|
||||
var finderForFunction = finderFor('search', { q: "test%%" });
|
||||
finderForFunction();
|
||||
mock.verify();
|
||||
});
|
Loading…
Reference in New Issue