mirror of
https://github.com/discourse/discourse.git
synced 2025-03-23 04:45:43 +08:00
FIX: Ignore case when comparing category name and search term.
This commit is contained in:
parent
d6b5b9436c
commit
0fa9a50378
@ -302,17 +302,17 @@ Category.reopenClass({
|
||||
const categories = Category.listByActivity();
|
||||
const length = categories.length;
|
||||
var i;
|
||||
var count = 0;
|
||||
var data = [];
|
||||
term = term.toLowerCase();
|
||||
|
||||
const done = () => {
|
||||
return data.length === limit;
|
||||
}
|
||||
};
|
||||
|
||||
for (i = 0; i < length && !done(); i++) {
|
||||
const category = categories[i];
|
||||
if ((emptyTerm) ||
|
||||
(!emptyTerm && category.get('name').indexOf(term) === 0)) {
|
||||
(!emptyTerm && category.get('name').toLowerCase().indexOf(term) === 0)) {
|
||||
data.push(category);
|
||||
}
|
||||
}
|
||||
@ -321,7 +321,7 @@ Category.reopenClass({
|
||||
for (i = 0; i < length && !done(); i++) {
|
||||
const category = categories[i];
|
||||
|
||||
if ((!emptyTerm && category.get('name').indexOf(term) > 0)) {
|
||||
if ((!emptyTerm && category.get('name').toLowerCase().indexOf(term) > 0)) {
|
||||
if (data.indexOf(category) === -1) data.push(category);
|
||||
}
|
||||
}
|
||||
|
@ -141,6 +141,9 @@ test('search', () => {
|
||||
deepEqual(result(''), [category1.get('id'), category2.get('id')], "orders by activity if no term is matched");
|
||||
deepEqual(result('term'), [category1.get('id'), category2.get('id')], "orders by activity");
|
||||
|
||||
category2.set('name', 'TeRm start');
|
||||
deepEqual(result('tErM'), [category2.get('id'), category1.get('id')], "ignores case of category name and search term");
|
||||
|
||||
category2.set('name', 'term start');
|
||||
deepEqual(result('term'), [category2.get('id'), category1.get('id')], "orders matching begin with and then contains");
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user