FIX: Search checkboxes incorrectly being checked on similar prefix.

Incorrect search filters like `in:personalasd` will end up checking the
checkbox for `in:personal` because the regexp used was only doing prefix
matching.
This commit is contained in:
Guo Xiang Tan
2020-09-10 11:48:10 +08:00
parent 7f2f87bf59
commit 521782fc9c
2 changed files with 34 additions and 4 deletions

View File

@@ -188,6 +188,13 @@ QUnit.test(
"none in:title",
'has updated search term to "none in:title"'
);
await fillIn(".search-query", "none in:titleasd");
assert.not(
exists(".search-advanced-options .in-title:checked"),
"does not populate title only checkbox"
);
}
);
@@ -221,11 +228,19 @@ QUnit.test(
exists(".search-advanced-options .in-private:checked"),
'has "are in my messages" populated'
);
assert.equal(
find(".search-query").val(),
"none in:personal",
'has updated search term to "none in:personal"'
);
await fillIn(".search-query", "none in:personal-direct");
assert.not(
exists(".search-advanced-options .in-private:checked"),
"does not populate messages checkbox"
);
}
);
@@ -246,6 +261,13 @@ QUnit.test(
"none in:seen",
"it should update the search term"
);
await fillIn(".search-query", "none in:seenasdan");
assert.not(
exists(".search-advanced-options .in-seen:checked"),
"does not populate seen checkbox"
);
}
);
@@ -382,9 +404,17 @@ QUnit.test("validate advanced search when initially empty", async (assert) => {
selectKit(".search-advanced-options .in-likes:checked"),
'has "I liked" populated'
);
assert.equal(
find(".search-query").val(),
"in:likes",
'has updated search term to "in:likes"'
);
await fillIn(".search-query", "in:likesasdas");
assert.not(
exists(".search-advanced-options .in-likes:checked"),
"does not populate the likes checkbox"
);
});