zulip/frontend_tests/node_tests
Shubham Padia 36707a33ca search: Add a basic implementation of search pills.
Following points have been implemented in this commit:
1.) Add search pill on selecting typeahead.
2.) Re-narrow after removing a search pill.
3.) Add quiet optional parameter to removeLastPill.
4.) Pre populate search pills in narrow.activate.
5.) Clear existing search pills on narrow.deactivate.

Description of above points:
1.) I tried out using the description from suggestions.lookup_table
to append a pill using appendValidatedData so that the description
had not to be calculated again. But the description in the suggestions
lookup contains html due to highlighting. This html is escaped when
inputed in a pill. An attempt was also made to remove the higlighting
by replacing the tags. But other espaced characters like < also
popped up, so it was better to use append_search_string.
3.) If one wants to refresh the pill using pill.clear and wants to
repopulate them, evaluating the event_handler associated with the
action of removing the pill may not be desired.
4.) Pill population code is added to narrow.activate. Pills are not
populated if the narrow was triggered by search as search handles the
addition and removal of pill by itself. The reason for not handling
search too in narrow.activate is to avoid clearing the pills and
repopulating them. Example of some of the triggers for narrow.activate
include `restore draft`, `topic change`,`sidebar`.

Also modifies tests for search.js
2018-07-23 11:29:10 -07:00
..
.eslintrc.json lint: Add JS indentation eslint rules for node_tests. 2018-05-06 19:35:18 -07:00
activity.js eslint: Enable space-infix-ops rule. 2018-06-05 00:47:35 +05:30
alert_words.js Add run_test helper for individual tests. 2018-05-15 08:24:44 -07:00
alert_words_ui.js tests: Test adding alert words ui. 2018-07-18 08:35:42 -04:00
bot_data.js refactor: Export settings_bots.render_bots(). 2018-07-03 06:02:49 -07:00
buddy_data.js node tests: Use run_test helper in buddy_data.js. 2018-06-02 06:10:34 -04:00
buddy_list.js Add run_test helper for individual tests. 2018-05-15 08:24:44 -07:00
channel.js zblueslip: Store more_info and stack as well in the logs. 2018-07-10 16:22:52 -04:00
colorspace.js Add run_test helper for individual tests. 2018-05-15 08:24:44 -07:00
common.js search: Extract phrase_match to common.js. 2018-06-26 20:38:47 -04:00
components.js left-sidebar: Fix opening of compose box on narrowing using hotkeys. 2018-06-09 12:53:24 -04:00
compose.js message edit: Add markdown shortcuts to message edit UI. 2018-07-23 10:41:46 -07:00
compose_actions.js compose: Add tests for compose_actions.on_narrow. 2018-05-28 10:45:42 -07:00
compose_fade.js Add run_test helper for individual tests. 2018-05-15 08:24:44 -07:00
compose_pm_pill.js pills: Enable user avatar images for user pills. 2018-07-10 15:07:56 +05:30
compose_ui.js Add run_test helper for individual tests. 2018-05-15 08:24:44 -07:00
composebox_typeahead.js typeahead_list_item.handlebars: Upgrade to font-awesome 4.7 icon prefixes. 2018-07-11 20:31:03 +05:30
copy_and_paste.js jsdom: Upgrade jsdom to v11.10.0. 2018-05-20 11:11:03 -07:00
dict.js Add run_test helper for individual tests. 2018-05-15 08:24:44 -07:00
dispatch.js custom fields: Fix exception in rendering custom profile field template. 2018-06-10 13:50:38 -07:00
drafts.js node: Provide a default window object for the node tests. 2018-05-31 14:55:28 -07:00
emoji.js Add run_test helper for individual tests. 2018-05-15 08:24:44 -07:00
emoji_picker.js emoji: Update `emoji-datasource` packages. 2018-07-23 08:04:58 -07:00
fetch_status.js Add run_test helper for individual tests. 2018-05-15 08:24:44 -07:00
filter.js eslint: Add and enable `space-unary-ops` rule. 2018-06-05 00:47:35 +05:30
general.js Remove feature_flags.mark_read_at_bottom. 2018-07-07 10:19:15 +02:00
hash_util.js Add run_test helper for individual tests. 2018-05-15 08:24:44 -07:00
hashchange.js zblueslip: Convert node_tests/hashchange.js to zblueslip. 2018-07-10 16:22:52 -04:00
hotkey.js hotkeys: Deactivate `ctrl + shift` hotkeys. 2018-06-22 09:10:23 -04:00
i18n.js Add run_test helper for individual tests. 2018-05-15 08:24:44 -07:00
input_pill.js input-pill: Refactor pills to eliminate fixed positioning of elements. 2018-07-23 10:21:13 -07:00
keydown_util.js tests: Reach 100% coverage for keydown_util. 2018-07-23 08:42:11 -04:00
lightbox.js lightbox: Fix a "Pan & Zoom" causing an error with thumbnailed images. 2018-07-18 10:19:56 -07:00
list_render.js list_render: Remove rows sort click handler from the body. 2018-06-22 09:21:47 -04:00
markdown.js eslint: Enable `no-extra-parens` rule. 2018-06-11 07:51:24 -04:00
message_edit.js message_edit: Add coverage for get_deletability function. 2018-06-13 06:04:48 -04:00
message_fetch.js left sidebar: Make sure the selected stream is visible in left sidebar. 2018-07-23 10:32:10 -07:00
message_flags.js node tests: Test message_flags.toggle_starred. 2018-07-03 06:05:22 -07:00
message_list.js eslint: Enable space-infix-ops rule. 2018-06-05 00:47:35 +05:30
message_list_data.js Fix recent regressions with All Messages (muted topics). 2018-06-04 14:35:23 -07:00
message_list_view.js refactor: Avoid positional params for MessageList. 2018-05-15 14:25:21 -07:00
message_store.js Add run_test helper for individual tests. 2018-05-15 08:24:44 -07:00
muting.js Add run_test helper for individual tests. 2018-05-15 08:24:44 -07:00
narrow.js narrow: Show non-existing user message for invalid emails. 2018-05-28 10:45:42 -07:00
narrow_activate.js search: Add a basic implementation of search pills. 2018-07-23 11:29:10 -07:00
narrow_local.js Remove redundant narrow_state.get_current_filter(). 2018-07-10 14:20:24 +05:30
narrow_state.js Add narrow_state.is_reading_mode(). 2018-07-10 14:20:24 +05:30
narrow_unread.js Expand get_unread_ids() to all local narrows. 2018-05-31 08:44:18 -07:00
notifications.js node: Provide a default window object for the node tests. 2018-05-31 14:55:28 -07:00
password.js Add run_test helper for individual tests. 2018-05-15 08:24:44 -07:00
people.js eslint: Enable `no-extra-parens` rule. 2018-06-11 07:51:24 -04:00
people_errors.js zblueslip: Store more_info and stack as well in the logs. 2018-07-10 16:22:52 -04:00
pm_conversations.js Add run_test helper for individual tests. 2018-05-15 08:24:44 -07:00
pm_list.js search: Remove blueslip warnings for invalid emails in 'pm-with' filter. 2018-05-30 07:49:59 -04:00
popovers.js Add run_test helper for individual tests. 2018-05-15 08:24:44 -07:00
presence.js Add run_test helper for individual tests. 2018-05-15 08:24:44 -07:00
reactions.js zblueslip: Convert node_tests/reactions.js to zblueslip. 2018-07-10 16:22:52 -04:00
recent_senders.js Add run_test helper for individual tests. 2018-05-15 08:24:44 -07:00
rtl.js Add run_test helper for individual tests. 2018-05-15 08:24:44 -07:00
schema.js Add a schema checking concept to the web app. 2018-05-24 09:30:22 -07:00
scroll_util.js Add run_test helper for individual tests. 2018-05-15 08:24:44 -07:00
search.js search: Add a basic implementation of search pills. 2018-07-23 11:29:10 -07:00
search_legacy.js search: Duplicate search node tests for pills. 2018-07-23 11:29:10 -07:00
search_pill.js search: Add a basic implementation of search pills. 2018-07-23 11:29:10 -07:00
search_suggestion.js search: Duplicate search node tests for pills. 2018-07-23 11:29:10 -07:00
search_suggestion_legacy.js search: Duplicate search node tests for pills. 2018-07-23 11:29:10 -07:00
server_events.js zblueslip: Convert node_tests/server_events.js to zblueslip. 2018-07-10 16:22:52 -04:00
settings_bots.js settings UI: Add copy zuliprc button to bot information box. 2018-07-10 15:19:05 +05:30
settings_muting.js style: Remove redundant brackets from typeof operator. 2018-06-05 09:22:26 -07:00
settings_org.js settings_org: Increase node test coverage. 2018-06-17 09:28:19 -04:00
settings_profile_fields.js custom field: Allow admin to change custom fields order using drag & drop. 2018-07-01 02:05:00 -07:00
settings_user_groups.js pills: Enable user avatar images for user pills. 2018-07-10 15:07:56 +05:30
stream_color.js Add run_test helper for individual tests. 2018-05-15 08:24:44 -07:00
stream_data.js zblueslip: Convert node_tests/stream_data.js to zblueslip. 2018-07-10 16:22:52 -04:00
stream_events.js notification settings: Add UI for stream email notifications. 2018-07-14 12:19:33 +05:30
stream_list.js page load: Make initializations more explicit. 2018-05-15 15:46:04 -07:00
stream_search.js Add run_test helper for individual tests. 2018-05-15 08:24:44 -07:00
stream_sort.js eslint: Enable `no-extra-parens` rule. 2018-06-11 07:51:24 -04:00
submessage.js submessages: Add update_message() function. 2018-05-30 14:47:36 -07:00
subs.js node: Provide a default window object for the node tests. 2018-05-31 14:55:28 -07:00
templates.js topic_edit_form.handlebars: Upgrade to font-awesome 4.7 icon prefixes. 2018-07-11 20:31:17 +05:30
timerender.js Add run_test helper for individual tests. 2018-05-15 08:24:44 -07:00
top_left_corner.js pm_list: Do not expand pm_list for invalid emails in `pm-with`. 2018-05-28 11:29:54 -07:00
topic_data.js node tests: Use run_test helper in topic_data.js. 2018-06-02 06:10:34 -04:00
topic_generator.js zblueslip: Convert node_tests/topic_generator.js to zblueslip. 2018-07-10 16:22:52 -04:00
topic_list.js Use unread data in topic_data.get_recent_names(). 2018-05-15 14:25:21 -07:00
transmit.js transmit: Refactor logic for deferring the socket initialization. 2018-06-18 06:51:42 -07:00
typeahead_helper.js eslint: Enable space-infix-ops rule. 2018-06-05 00:47:35 +05:30
typing_data.js Add run_test helper for individual tests. 2018-05-15 08:24:44 -07:00
typing_status.js Add run_test helper for individual tests. 2018-05-15 08:24:44 -07:00
unread.js eslint: Enable space-infix-ops rule. 2018-06-05 00:47:35 +05:30
upload.js eslint: Enable space-infix-ops rule. 2018-06-05 00:47:35 +05:30
user_events.js zblueslip: Convert node_tests/user_events.js to zblueslip. 2018-07-10 16:22:52 -04:00
user_groups.js zblueslip: Convert node_tests/user_groups.js to zblueslip. 2018-07-10 16:22:52 -04:00
user_pill.js pills: Enable user avatar images for user pills. 2018-07-10 15:07:56 +05:30
util.js eslint: Enable space-infix-ops rule. 2018-06-05 00:47:35 +05:30
voting_widget.js voting_widget: Increase node test coverage to 100%. 2018-07-06 11:30:12 -04:00
widgetize.js zblueslip: Convert node_tests/widgetize.js to zblueslip. 2018-07-10 16:22:52 -04:00
zblueslip.js zblueslip: Add exception_msg and wrap_function functions. 2018-07-10 16:22:52 -04:00
zjquery.js zjquery: Show multiple handlers in demo code. 2018-07-18 08:25:15 -04:00