diff --git a/frontend_tests/node_tests/composebox_typeahead.js b/frontend_tests/node_tests/composebox_typeahead.js index e09e4c6119..195fd6de33 100644 --- a/frontend_tests/node_tests/composebox_typeahead.js +++ b/frontend_tests/node_tests/composebox_typeahead.js @@ -1197,18 +1197,22 @@ test("begins_typeahead", ({override}) => { assert_stream_list(":tada: #foo"); assert_typeahead_equals("#foo\n~~~py", lang_list); - assert_typeahead_equals("@", false); - assert_typeahead_equals("@_", false); - assert_typeahead_equals(" @", false); - assert_typeahead_equals(" @_", false); + assert_typeahead_equals("@", all_mentions); + assert_typeahead_equals("@_", people_only); + assert_typeahead_equals(" @", all_mentions); + assert_typeahead_equals(" @_", people_only); + assert_typeahead_equals("@*", all_mentions); + assert_typeahead_equals("@_*", people_only); + assert_typeahead_equals("@**", all_mentions); + assert_typeahead_equals("@_**", people_only); assert_typeahead_equals("test @**o", all_mentions); assert_typeahead_equals("test @_**o", people_only); assert_typeahead_equals("test @*o", all_mentions); assert_typeahead_equals("test @_*k", people_only); assert_typeahead_equals("test @*h", all_mentions); assert_typeahead_equals("test @_*h", people_only); - assert_typeahead_equals("test @", false); - assert_typeahead_equals("test @_", false); + assert_typeahead_equals("test @", all_mentions); + assert_typeahead_equals("test @_", people_only); assert_typeahead_equals("test no@o", false); assert_typeahead_equals("test no@_k", false); assert_typeahead_equals("@ ", false); diff --git a/static/js/composebox_typeahead.js b/static/js/composebox_typeahead.js index 63933fb40b..0ba3262d5b 100644 --- a/static/js/composebox_typeahead.js +++ b/static/js/composebox_typeahead.js @@ -354,7 +354,7 @@ function filter_mention_name(current_token) { } else if (current_token.startsWith("*")) { current_token = current_token.slice(1); } - if (current_token.length < 1 || current_token.lastIndexOf("*") !== -1) { + if (current_token.lastIndexOf("*") !== -1) { return false; } @@ -648,7 +648,7 @@ export function get_candidates(query) { current_token = current_token.slice(1); } current_token = filter_mention_name(current_token); - if (!current_token) { + if (!current_token && typeof current_token === "boolean") { this.completing = null; return false; }