zulip/frontend_tests/node_tests
Steve Howell ba243416e3 stream_color: Make stream color assignment more efficient.
We now let color_data keep its own state for
unused_colors, so that we longer have to pass in
a large list of unused_colors every time we want
to assign a new stream color.

This mostly matters at startup, where we might
be cycling through 5000 streams.  We claim all
the unused colors up front.

Each operation now has an upper bound of expensiveness,
where the worst case scenario is basically popping
off the first element of a list of <= 24 colors.

The algorithm is now deterministic, too, to make
it easier to test.  It's unclear whether random color
assignment ever had much benefit, and it made unit
testing the algorithm difficult.  Now we have 100%
line coverage.

Fixes part of #10902.
2018-11-29 13:00:25 -08:00
..
.eslintrc.json lint: Add JS indentation eslint rules for node_tests. 2018-05-06 19:35:18 -07:00
activity.js node: Fix activity tests failing due to recent i18n addition. 2018-11-27 15:23:32 -08:00
alert_words.js node tests: Consolidate some set_global() calls. 2018-08-02 08:02:12 -04:00
alert_words_ui.js tests: Test closing alert word status msg. 2018-07-23 14:53:49 -04:00
bot_data.js statis/js/bot_data.js: Add `get_bot_owner_email` function. 2018-11-16 09:52:05 -08:00
buddy_data.js buddy list: Put "me" at the top of the list. 2018-11-27 14:52:19 -08:00
buddy_list.js buddy list: Add padding to progressive scrollings. 2018-08-02 16:59:27 -07:00
channel.js node tests: Consolidate some set_global() calls. 2018-08-02 08:02:12 -04:00
color_data.js stream_color: Make stream color assignment more efficient. 2018-11-29 13:00:25 -08:00
colorspace.js Add run_test helper for individual tests. 2018-05-15 08:24:44 -07:00
common.js node tests: Consolidate some set_global() calls. 2018-08-02 08:02:12 -04:00
components.js Rename markdown-help to message-formatting. 2018-08-31 11:51:22 -07:00
compose.js subject-to-topic: Add topics to compose_state.js. 2018-11-14 23:24:06 -08:00
compose_actions.js compose: Check if `raw_content` is present when quoting. 2018-11-14 23:52:08 -08:00
compose_fade.js Add run_test helper for individual tests. 2018-05-15 08:24:44 -07:00
compose_pm_pill.js compose pill: Add has_unconverted_data() helper. 2018-10-12 11:20:30 -07:00
compose_ui.js compose_ui: Create the `compose_ui.replace_syntax` function. 2018-08-26 23:33:24 -07:00
composebox_typeahead.js typeahead: Insert extended mention syntax for users with same full name. 2018-08-31 14:16:47 -07:00
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 frontend: Create data structure for starred messages. 2018-08-21 13:42:23 -07:00
drafts.js subject-to-topic: Add topics to compose_state.js. 2018-11-14 23:24:06 -08:00
emoji.js emoji: Change fallback emojiset for text emojiset. 2018-09-21 18:34:12 -07:00
emoji_picker.js emoji: Move `emoji_collection` from emoji picker to emoji.js. 2018-07-23 12:35:08 -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 left sidebar: Fix scrolling bugs with zoomed topics. 2018-10-24 16:54:35 -07:00
hash_util.js Fix "Copy link to conversation" links. 2018-10-22 12:22:26 -07:00
hashchange.js Rename markdown-help to message-formatting. 2018-08-31 11:51:22 -07:00
hotkey.js subject -> topic: Rename narrow.by_subject. 2018-11-14 23:24:06 -08:00
i18n.js Add run_test helper for individual tests. 2018-05-15 08:24:44 -07:00
input_pill.js input pills: Fix modal gets closed when user click on remove-pill-btn. 2018-11-28 16:33:08 -08:00
keydown_util.js tests: Reach 100% coverage for keydown_util. 2018-07-23 08:42:11 -04:00
lightbox.js thumbnails: Rename data-original to data-src-fullsize. 2018-07-30 13:00:23 -07:00
list_cursor.js node tests: Bring list_cursor to 100% coverage. 2018-08-24 10:00:04 -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 Isolate/eliminate use of "subject_links". 2018-11-16 11:05:43 -08:00
message_edit.js message_edit: Add coverage for get_deletability function. 2018-06-13 06:04:48 -04:00
message_events.js Add coverage for message_events.update_messages(). 2018-09-11 15:17:51 -04:00
message_fetch.js message view: Fix hiding of connection-error message on narrowing streams. 2018-11-29 12:26:41 -08:00
message_flags.js frontend: Create data structure for starred messages. 2018-08-21 13:42:23 -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 node: Fix typo in tests (diffrent -> different). 2018-11-14 13:21:34 -08:00
message_store.js Isolate/eliminate uses of "match_subject". 2018-11-16 11:05:43 -08:00
muting.js Add run_test helper for individual tests. 2018-05-15 08:24:44 -07:00
narrow.js url decoding: Handle your own id being in PM slugs. 2018-10-22 12:22:26 -07:00
narrow_activate.js narrow: Remove `narrow_activated.zulip` event trigger. 2018-11-29 12:36:00 -08: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 statis/js/people.js: Add function `get_user_type`. 2018-11-12 14:57:32 -08:00
people_errors.js minor: Change error to warning for missing user ids. 2018-10-29 12:57:15 -07:00
pm_conversations.js Add run_test helper for individual tests. 2018-05-15 08:24:44 -07:00
pm_list.js refactor: Move pm_with_uri to hash_util. 2018-08-04 09:32:27 -07:00
popovers.js node: Fix test failure due to 'narrowed' removal. 2018-11-12 15:39:35 -08:00
presence.js Add current user back to the buddy list. 2018-11-27 14:52:19 -08:00
reactions.js emoji: Move `emoji_collection` from emoji picker to emoji.js. 2018-07-23 12:35:08 -07:00
recent_senders.js Add run_test helper for individual tests. 2018-05-15 08:24:44 -07:00
rtl.js rtl.js: Fix support for supplementary planes of unicode characters (>= U+10000). 2018-08-14 11:39:29 -07:00
schema.js Add a schema checking concept to the web app. 2018-05-24 09:30:22 -07:00
scroll_util.js scroll_util: Account for element padding in height calculations. 2018-07-27 09:09:52 -07:00
search.js Simplify narrow/search interactions. 2018-10-24 16:54:35 -07:00
search_legacy.js Simplify narrow/search interactions. 2018-10-24 16:54:35 -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: Do not display `All messages` suggestion if bar not empty. 2018-07-23 11:29:10 -07:00
search_suggestion_legacy.js search: Duplicate search_suggestions.get_suggestions. 2018-07-23 11:29:10 -07:00
server_events.js refactor: Extract reload_state module. 2018-08-04 13:55:02 +00: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 org settings: Disable topic editing checkbox when message editing is off. 2018-08-31 11:49:54 -07:00
settings_profile_fields.js custom profile field: Minor tweaks in field-table in admin settings. 2018-08-21 11:42:59 -07:00
settings_user_groups.js settings: Confirm before deleting user groups. 2018-10-12 10:38:56 -07:00
stream_data.js stream_color: Make stream color assignment more efficient. 2018-11-29 13:00:25 -08:00
stream_events.js Extract color_data.js. 2018-11-28 14:51:51 -08:00
stream_list.js left sidebar: Fix scrolling bugs with zoomed topics. 2018-10-24 16:54:35 -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 settings: Make unsubscribed streams less sticky. 2018-08-03 16:01:02 -07:00
templates.js Isolate/eliminate uses of "match_subject". 2018-11-16 11:05:43 -08:00
timerender.js timerender.js: Remove use of legacy font awesome base class 'icon-vector'. 2018-10-15 19:22:57 +05:30
top_left_corner.js PM sidebar: Expand PM sidebar for huddles. 2018-10-22 12:22:26 -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 Move stream-related uri helpers to hash_util. 2018-08-04 09:32:27 -07:00
transmit.js transmit.js: Use people.get_mention_syntax. 2018-10-13 16:42:50 -07:00
typeahead_helper.js refactor: Move list of frequent emojis to emoji.js. 2018-08-04 07:59:42 -07:00
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
ui.js hotkey: Update test for hotkey deprecation. 2018-09-21 10:59:55 -07:00
unread.js eslint: Enable space-infix-ops rule. 2018-06-05 00:47:35 +05:30
upload.js upload: Use a placeholder when uploading. 2018-08-26 23:33:24 -07:00
user_events.js node: Fix missing test coverage for user_events.js with guests. 2018-10-29 12:49:07 -07: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