zulip/web/tests
N-Shar-ma dfb4fc4261 compose: Revamp and improve test suite for compose formatting buttons.
Earlier, the tests for compose formatting were verbose, hard to read as
well as extend, and overly granular, without even having the ability to
test the final text selection or the cursor position.

Now, new test helpers, `init_textarea_state` and `get_textarea_state`,
have been added, enabling the tests to be more concise and readable,
while also being more powerful. A representative string alone now
describes the textarea state (the text and the selection / cursor),
making each test case as easy as defining the initial state as a string
and comparing the expected state post formatting with another string.

These new tests helped surface a couple bugs which have been fixed in
preceding commits.

(cherry picked from commit 179e9374b4)
2024-01-22 18:19:09 -08:00
..
lib node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
templates
activity.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
alert_words.test.js
alert_words_ui.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
blueslip_stacktrace.test.js
bot_data.test.js models: Extract zerver.models.users. 2024-01-05 10:32:54 -05:00
browser_history.test.js settings: Rename default_view and escape_navigates_to_default_view. 2023-10-26 11:00:12 -07:00
buddy_data.test.js ts: Migrate `user_status` module to TypeScript. 2023-10-30 11:10:47 -07:00
buddy_list.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
channel.test.js ui_report: Reuse `channel.xhr_error_message` function in `error` method. 2023-08-31 13:47:16 -07:00
color_data.test.js
common.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
components.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
compose.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
compose_actions.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
compose_closed_ui.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
compose_fade.test.js compose_state: Make get_or_set accept a full selector. 2023-11-02 14:06:04 -07:00
compose_pm_pill.test.js users: Add "(guest)" to names for guest users. 2023-10-12 12:06:10 -07:00
compose_state.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
compose_ui.test.js compose: Revamp and improve test suite for compose formatting buttons. 2024-01-22 18:19:09 -08:00
compose_validate.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
compose_video.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
composebox_typeahead.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
copy_and_paste.test.js compose: Fix bug where extra line breaks were pasted between blocks. 2023-11-17 08:55:55 -08:00
deprecated_feature_notice.test.js
dispatch.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
dispatch_subs.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
drafts.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
echo.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
emoji.test.js
emoji_picker.test.js emoji: Fallback to Google Modern for unsupported new Twitter emoji. 2023-11-28 23:46:49 -08:00
example1.test.js docs: Add missing spaces around code spans. 2023-12-14 00:05:44 -08:00
example2.test.js
example3.test.js narrow_state: Rename stream() to stream_name() which is more accurate. 2023-08-07 17:08:59 -07:00
example4.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
example5.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
example6.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
example7.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
example8.test.js typing_events: Do not show typing notifications for inaccessible users. 2023-12-07 19:34:07 -08:00
fenced_code.test.js
fetch_status.test.js refactor: Extract `message_feed_loading` module from `message_scroll`. 2023-05-14 11:24:31 -07:00
filter.test.js top_navbar: Match navbar icons to left sidebar navigation. 2023-11-17 17:28:54 -08:00
fold_dict.test.js
gear_menu_util.test.js gear_menu: Extract version_display_string into a util library. 2023-10-18 22:02:38 -07:00
hash_util.test.js stream settings: Include section for right panel in the URL. 2023-11-20 15:32:29 -08:00
hashchange.test.js settings: Rename default_view and escape_navigates_to_default_view. 2023-10-26 11:00:12 -07:00
hotkey.test.js hotkey: Fix emoji popover not triggered in a narrow width range. 2023-11-21 20:56:31 -08:00
i18n.test.js settings: Add "Automatically follow topics where I'm mentioned" setting. 2023-12-11 23:26:11 -08:00
input_pill.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
internal_url.test.js
keydown_util.test.js
lazy_set.test.js lazy set: Increase code coverage. 2023-10-31 16:06:07 -07:00
left_sidebar_navigation_area.test.js left_sidebar: Grid 'Back to streams' with unread count. 2023-11-21 09:16:43 -08:00
lightbox.test.js lightbox: Replace image with media. 2023-10-02 22:39:02 -07:00
linkifiers.test.js Revert "linkifiers: Match JS implementation to server implementation." 2023-11-16 14:59:48 -08:00
list_cursor.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
list_widget.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
markdown.test.js markdown: Do not show mention pills for inaccessible users. 2023-12-07 19:34:07 -08:00
markdown_parse.test.js Revert "linkifiers: Match JS implementation to server implementation." 2023-11-16 14:59:48 -08:00
message_edit.test.js messages: Add support to allow bot-owners to delete messages. 2023-10-12 12:13:39 -07:00
message_events.test.js topic_mentions: Rename wildcard_mentioned to stream_wildcard_mentioned. 2023-11-10 11:06:26 -08:00
message_fetch.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
message_flags.test.js js: Rename top_left_corner.js to left_sidebar_navigation_area.js. 2023-07-24 13:02:28 -07:00
message_list.test.js narrow_state: Rename stream() to stream_name() which is more accurate. 2023-08-07 17:08:59 -07:00
message_list_data.test.js refactor: Rename `is_search` to `is_keyword_search` for clarity. 2023-11-13 08:09:03 -08:00
message_list_view.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
message_store.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
muted_users.test.js
narrow.test.js compose: Add banner to go to conversation when replying in search view. 2023-11-28 16:55:05 -08:00
narrow_activate.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
narrow_local.test.js message_list: Extract visibly_empty helper method. 2023-05-03 18:40:59 -07:00
narrow_state.test.js narrow_state: Add stream_id() function. 2023-10-10 17:36:55 -07:00
narrow_unread.test.js narrow: Add frontend support for `dm:` narrow and `/dm/...` URL. 2023-04-25 09:07:08 -07:00
navbar_alerts.test.js notifications: Rename to desktop_notifications. 2023-10-06 16:22:40 -07:00
notifications.test.js desktop_notification: Fix bad rendering of math formulas. 2023-11-26 23:30:24 -08:00
password.test.js
peer_data.test.js peer_data: Remove over defensive `assert_number` function. 2023-07-17 10:37:29 -07:00
people.test.js tests: Fix “inaccesible” typo. 2023-12-12 12:13:51 -08:00
people_errors.test.js users: Do not pass unknown users data for webapp. 2023-12-07 19:34:07 -08:00
pill_typeahead.test.js settings: Remove "User groups" panel from settings overlay. 2023-12-07 06:35:38 -08:00
pm_conversations.test.js node-tests: Update references to "private message" and "PM". 2023-06-26 11:07:28 -07:00
pm_list.test.js left_sidebar: Use DM identifiers on DM containers. 2023-10-30 10:14:28 -07:00
pm_list_data.test.js node-tests: Update references to "private message" and "PM". 2023-06-26 11:07:28 -07:00
poll_widget.test.js
popover_menus_data.test.js compose: Migrate `empty_topic_placeholder` to `compose_state`. 2023-10-02 17:45:27 -07:00
presence.test.js presence: Do not raise blueslip error for presence data of unknown user. 2023-11-29 12:01:37 -08:00
reactions.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
realm_playground.test.js requirements: Upgrade Python requirements. 2023-12-01 18:52:00 -08:00
recent_senders.test.js typeahead: Show @-topic typeahead whenever it might be possible to use. 2023-11-28 09:24:18 -08:00
recent_view.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
reload.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
reload_state.test.js
rendered_markdown.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
resolved_topic.test.js
rtl.test.js
scheduled_messages.test.js compose_banner: Display time for messages with < 5 mins scheduled time. 2023-11-10 09:20:15 -08:00
scroll_util.test.js refactor: Move simplebar helper functions from `ui` to `scroll_util`. 2023-04-26 12:59:08 -07:00
search.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
search_suggestion.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
server_events.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
settings_bots.test.js ts: Migrate `bot_data.js` to TypeScript. 2023-08-14 16:06:15 -07:00
settings_config.test.js notification_settings: Add tooltip to checkboxes in the triggers table. 2023-12-04 16:38:19 -08:00
settings_data.test.js users: Do not pass unknown users data for webapp. 2023-12-07 19:34:07 -08:00
settings_emoji.test.js
settings_muted_users.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
settings_org.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
settings_profile_fields.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
settings_realm_domains.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
settings_user_topics.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
spoilers.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
starred_messages.test.js js: Rename top_left_corner.js to left_sidebar_navigation_area.js. 2023-07-24 13:02:28 -07:00
stream_create_subscribers_data.test.js
stream_data.test.js streams: Add API endpoint to get stream email. 2023-11-16 13:25:33 -05:00
stream_edit.test.js
stream_events.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
stream_list.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
stream_list_sort.test.js refactor: Rename `stream_sort.js` to `stream_list_sort.js`. 2023-04-25 10:05:59 -07:00
stream_pill.test.js
stream_search.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
stream_settings_ui.test.js hash_util: Extract hash_parser.ts. 2023-10-01 16:55:21 -07:00
stream_topic_history.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
submessage.test.js
support.test.js
templates.test.js
time_zone_util.test.js time_zone_util: Avoid relying on timeZoneName: "longOffset". 2023-11-29 09:57:10 -08:00
timerender.test.js timerender: Use an explicit time zone for all rendering. 2023-11-28 16:54:00 -08:00
topic_generator.test.js hotkey: Fix go to unread unmuted or followed topic in muted stream. 2023-12-11 22:32:56 -08:00
topic_list_data.test.js topic_list: Update the order of "Followed" topics in the muted stream. 2023-09-11 17:55:37 -07:00
transmit.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
typeahead.test.js sort_emojis: Prioritize perfect matches above all. 2023-11-14 12:13:22 -08:00
typeahead_helper.test.js topic_mentions: Add @topic mention typeahead. 2023-11-13 09:07:36 -08:00
typing_data.test.js muted_users: Hide muted typists in streams. 2023-10-10 17:36:55 -07:00
typing_events.test.js typing_events: Do not show typing notifications for inaccessible users. 2023-12-07 19:34:07 -08:00
typing_status.test.js typing_notifications: Send ajax requests for stream typing too. 2023-10-10 17:36:55 -07:00
unread.test.js settings: Add option for followed topics to unread count badge setting. 2023-11-17 14:07:20 -08:00
upload.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
user_events.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
user_group_pill.test.js user_group_pill: Add test coverage for `append_user_group`. 2023-07-17 10:38:24 -07:00
user_groups.test.js user_groups: Fix live-update of data when renaming groups. 2023-12-10 15:20:07 -08:00
user_pill.test.js user_pill: Add support to not allow adding inaccessible users manually. 2024-01-05 10:32:54 -05:00
user_search.test.js node tests: Use noop helper function pattern in test files. 2023-12-14 14:51:33 -08:00
user_status.test.js ts: Migrate `user_status` module to TypeScript. 2023-10-30 11:10:47 -07:00
user_topics.test.js user_topics: Pop `user_topics` from `page_params`. 2023-09-11 10:57:38 -07:00
util.test.js topic_mentions: Fix the incorrect large @-mention notification warning. 2023-11-21 09:20:56 -08:00
vdom.test.js left_sidebar: Use dm-list class. 2023-10-30 10:14:28 -07:00
watchdog.test.js watchdog: Handle exception in `callback`. 2023-11-19 15:04:58 -08:00
widgetize.test.js widgetize: Move widget registration to new widgets module. 2023-10-06 13:17:51 -07:00
zblueslip.test.js
zjquery.test.js