zulip/zerver/tests
akshatdalton 520c58bf6b narrow: Fix topic highlighting issue with apostrophes in search results.
This commit addresses the issue where the topic highlighting
in search results was offset by one character when an
apostrophe was present. The problem stemmed from the disparity
in HTML escaping generated by the function `func.escape_html` which
is used to obtain `topic_matches` differs from the escaping performed
by the function `django.utils.html.escape` for apostrophes (').

func.escape_html | django.utils.html.escape
-----------------+--------------------------
      '      |           '

To fix this SQL query is changed to return the HTML-escaped
topic name generated by the function `func.escape_html`.

Fixes: #25633.

Co-authored-by: Pieter CK <pieterceka123@gmail.com>
2025-07-16 09:26:40 -07:00
..
fixtures markdown: Render inline audio files using the ![title](url) syntax. 2025-07-11 13:11:56 -07:00
images thumbnail: Show the first few frames of large animated images. 2025-01-15 09:56:19 -08:00
__init__.py
test_alert_words.py alert_words: Migrate alert_words to use @typed_endpoint. 2023-09-08 08:20:17 -07:00
test_attachments.py mypy: Enable new error explicit-override. 2023-10-12 12:28:41 -07:00
test_audit_log.py channel_folders: Pass realm as argument to check_add_channel_folder. 2025-05-29 15:39:03 -07:00
test_auth_backends.py saml: Don't put group_memberships_sync_map in the session. 2025-07-11 10:18:58 -07:00
test_bots.py users: Fix check_valid_bot_config bug. 2025-07-11 12:34:46 -07:00
test_cache.py cache: Do not fail the request on cache-set failures. 2025-03-05 09:48:58 -08:00
test_channel_access.py tests: Move channel access tests to test_channel_access. 2025-05-28 17:02:41 -07:00
test_channel_creation.py channel: Add option to notify users newly added to a channel. 2025-06-26 10:08:11 -07:00
test_channel_fetch.py subscription_data: Flesh out partial suscription data sent to client. 2025-06-30 17:10:36 -07:00
test_channel_folders.py folders: Don't allow archiving a folder if it contains channels. 2025-05-29 15:39:03 -07:00
test_channel_permissions.py tests: Move test for permission to update topics_policy. 2025-07-15 15:54:30 -07:00
test_compatibility.py python: Reformat with Ruff formatter. 2024-02-29 17:07:16 -08:00
test_create_video_call.py video-calls: Add Zoom Serverto Server OAuth integration. 2025-02-13 16:35:43 -08:00
test_custom_profile_data.py user: Remove is_billing_admin user property. 2025-03-10 09:36:30 -07:00
test_decorators.py users: Allow spectators to access /users API endpoint. 2025-05-15 12:37:29 -07:00
test_default_channels.py tests: Move test for updating default stream to test_default_channels. 2025-06-11 15:41:50 -07:00
test_delete_unclaimed_attachments.py do_delete_old_unclaimed_attachments: Cap deletions at batch size. 2024-08-28 13:57:57 -07:00
test_digest.py email: Apply message content visibility settings to digest too. 2025-04-15 16:24:59 -07:00
test_docs.py documentation: Update the subdomain value used in URL context variables. 2025-06-20 16:04:26 -07:00
test_drafts.py ruff: Fix UP007 Use X | Y for type annotations. 2024-07-13 22:28:22 -07:00
test_email_change.py validate_email_not_already_in_realm: Add kwarg for mirror dummies. 2025-07-07 17:15:08 -07:00
test_email_log.py send_email: Skip the ScheduledEmail table for 0-delay emails. 2025-03-04 16:09:25 -08:00
test_email_mirror.py email_mirror: Fail more gracefully on empty EMAIL_GATEWAY_PATTERN. 2025-07-02 10:21:08 -07:00
test_email_notifications.py send_email: Skip the ScheduledEmail table for 0-delay emails. 2025-03-04 16:09:25 -08:00
test_embedded_bot_system.py ruff: Fix SIM117 Use a single with statement with multiple contexts. 2024-07-14 13:48:32 -07:00
test_event_queue.py event_queue: Remove pre-5.0 compatibility code. 2025-03-26 10:54:38 -07:00
test_event_system.py register-queue: Add push_devices in response. 2025-07-14 14:52:38 -07:00
test_events.py zerver: Add endpoint to register a push device to server. 2025-07-14 14:52:39 -07:00
test_example.py direct_messages: Use DM groups for 1:1 or self DMs if present. 2025-05-18 23:58:59 -07:00
test_external.py zephyr: Switch from py3dns to dnspython. 2025-02-25 11:53:08 -08:00
test_github.py apps: Provide arm64 app build by default for macOS. 2025-03-28 16:45:07 -07:00
test_handle_push_notification.py ruff: Fix LOG014 exc_info= outside exception handlers. 2025-06-25 11:49:02 -07:00
test_health.py ruff: Bump target-version from py38 to py310. 2024-07-13 22:28:22 -07:00
test_home.py register-queue: Add push_devices in response. 2025-07-14 14:52:38 -07:00
test_i18n.py i18n: Update translation data from Transifex. 2024-11-18 16:12:31 -08:00
test_import_export.py ldap: Implement external auth id auth+sync. 2025-07-09 15:31:17 -07:00
test_integrations_dev_panel.py ruff: Bump target-version from py38 to py310. 2024-07-13 22:28:22 -07:00
test_integrations.py integrations: Add FIXTURELESS_SCREENSHOT_CONFIG. 2025-06-01 11:38:02 -07:00
test_internet.py
test_invite.py python: Use Django 5.2 reverse(…, query=…). 2025-06-12 09:32:38 -07:00
test_legacy_subject.py
test_link_embed.py youtube: Request medium-quality preview images. 2025-03-05 13:59:58 -08:00
test_management_commands.py realm_creation_form: Capture import_from if realm import enabled. 2025-04-30 00:06:43 -07:00
test_markdown_thumbnail.py thumbnail: Add a tool to re-thumbnail spinners, or process old images. 2025-04-23 17:41:51 -07:00
test_markdown.py markdown: Render inline audio files using the ![title](url) syntax. 2025-07-11 13:11:56 -07:00
test_mattermost_importer.py import: Send Welcome Bot messages to users from non-Zulip exports. 2025-07-14 15:11:43 -07:00
test_message_delete.py test_message_delete: Add test for do_delete_messages grouping logic. 2025-06-17 19:45:36 -07:00
test_message_dict.py test_message_dict: Add test for checking "subject" field value. 2025-06-19 10:44:37 -07:00
test_message_edit_notifications.py queue: Rename queue_json_publish to queue_json_publish_rollback_unsafe. 2024-12-06 09:23:02 -08:00
test_message_edit.py requirements: Upgrade Python requirements. 2025-07-15 07:32:44 -07:00
test_message_fetch.py narrow: Fix topic highlighting issue with apostrophes in search results. 2025-07-16 09:26:40 -07:00
test_message_flags.py messages: Add unread 1:1/self DMs to pm_dict if DM group exists. 2025-06-05 17:03:49 -07:00
test_message_move_stream.py stream_settings: Add new disable_topics option to topics_policy. 2025-07-09 14:25:53 -07:00
test_message_move_topic.py stream_settings: Add new disable_topics option to topics_policy. 2025-07-09 14:25:53 -07:00
test_message_notification_emails.py demo-orgs: Check owner email for missed message emails. 2025-05-21 12:56:27 -07:00
test_message_report.py test_message_report: Add stronger assertion for test cases. 2025-07-10 08:34:12 -07:00
test_message_send.py stream_settings: Add new disable_topics option to topics_policy. 2025-07-09 14:25:53 -07:00
test_message_summary.py test_message_summary: Fix failing tests. 2025-02-28 12:10:16 +05:30
test_message_topics.py test_message_topics: Optimize test by limiting fetch_event_types. 2025-03-28 09:24:47 -07:00
test_messages.py direct_message_group: Add new group_size field. 2024-08-23 11:09:41 -07:00
test_middleware.py middleware-test: Use "restrict-wildcard-mentions" for admonition test. 2025-03-11 12:26:21 -07:00
test_migration_status.py migration_status: Refactor parse_migration_status. 2025-03-20 10:57:54 -07:00
test_migrations.py CVE-2024-27286: Delete dangling UserMessage rows. 2024-03-19 18:22:24 -04:00
test_mirror_users.py zephyr: Switch from py3dns to dnspython. 2025-02-25 11:53:08 -08:00
test_muted_users.py variables: Correct instances of misspelled 'message'. 2025-04-16 13:17:19 -07:00
test_navigation_views.py navigation_views: Add backend for navigation views in left sidebar. 2025-05-23 16:25:08 -07:00
test_new_users.py ruff: Bump target-version from py38 to py310. 2024-07-13 22:28:22 -07:00
test_notification_data.py mention: Do not include deactivated users in group mention data. 2024-10-10 11:37:44 -07:00
test_onboarding_steps.py onboarding_steps: Add 'navigation_tour_video' for new users. 2025-03-13 14:38:16 -07:00
test_onboarding.py
test_openapi.py navigation_views: Add backend for navigation views in left sidebar. 2025-05-23 16:25:08 -07:00
test_outgoing_http.py requirements: Upgrade Python requirements. 2024-09-24 19:27:21 -07:00
test_outgoing_webhook_interfaces.py avatar: Add option to disable gravatars per realm. 2025-01-30 18:46:02 -08:00
test_outgoing_webhook_system.py url_encoding: Add support for with message links. 2025-06-30 11:19:00 -07:00
test_populate_db.py stream: Add subscriber_count field. 2025-05-13 17:36:53 -07:00
test_presence.py presence: Fix for last active time for invisible mode. 2025-02-26 12:51:57 -08:00
test_push_notifications.py zilencer: Remove 'user_uuid' parameter of 'get_remote_realm_helper'. 2025-07-14 14:52:38 -07:00
test_push_registration.py zerver: Add endpoint to register a push device to server. 2025-07-14 14:52:39 -07:00
test_queue_worker.py email-mirror: Add a standalone server that processes incoming email. 2025-05-19 16:39:44 -07:00
test_queue.py queue: Rename queue_json_publish to queue_json_publish_rollback_unsafe. 2024-12-06 09:23:02 -08:00
test_rate_limiter.py ruff: Fix UP006 Use list instead of List for type annotation. 2024-07-13 22:28:22 -07:00
test_reactions.py emoji: Remap ':smile' emoji and update the settings UI. 2025-04-07 17:34:52 -07:00
test_read_receipts.py refactor: Rename huddle to direct_message_group in non API. 2024-07-04 07:56:31 -07:00
test_realm_domains.py models: Extract zerver.models.realms. 2023-12-16 22:08:44 -08:00
test_realm_emoji.py settings: Add can_add_custom_emoji_group realm setting. 2024-10-13 16:09:04 -07:00
test_realm_export.py export: Add guardrails against generating a dysfunctional export via UI. 2025-03-28 17:44:58 -07:00
test_realm_linkifiers.py audit-log: Move realm event types to AuditLogEventType enum. 2024-09-09 11:50:13 -07:00
test_realm_playgrounds.py code_playground: Add custom playground options in the default_options list. 2025-02-16 17:22:47 -08:00
test_realm.py settings: Add a new topics_policy realm setting. 2025-06-17 17:05:58 -07:00
test_recipient_parsing.py scheduled_messages: Migrate to typed_endpoint. 2024-08-20 10:03:22 -07:00
test_redis_utils.py mypy: Enable new error explicit-override. 2023-10-12 12:28:41 -07:00
test_reminders.py url_encoding: Refactor a encode_user_ids. 2025-07-03 14:40:49 -07:00
test_report.py zerver: Remove now-unused report/ endpoints. 2023-05-09 13:16:28 -07:00
test_retention.py message_delete: Refactor do_delete_messages to group messages by topic. 2025-06-17 19:45:36 -07:00
test_rocketchat_importer.py import: Send Welcome Bot messages to users from non-Zulip exports. 2025-07-14 15:11:43 -07:00
test_saved_snippets.py api: Update saved snippets edit endpoint. 2025-03-17 11:03:25 -07:00
test_scheduled_messages.py messages: Use "\x07" as topic for DMs and group DMs. 2025-06-19 10:44:37 -07:00
test_scim.py scim: Extract ROLE_TYPE_TO_NAME dict to UserProfile. 2024-08-20 11:53:24 -07:00
test_send_email.py ruff: Fix SIM117 Use a single with statement with multiple contexts. 2024-07-14 13:48:32 -07:00
test_server_settings.py
test_service_bot_system.py worker: Flag messages processed by embedded bot. 2025-01-24 17:56:44 -08:00
test_sessions.py ruff: Fix UP035 Import from collections.abc, typing instead. 2024-07-13 22:28:22 -07:00
test_settings.py settings: Add setting for marking resolved-topic notices as read. 2025-05-13 16:23:21 -07:00
test_signup.py auth: Only automatically redirect for same domain redirects. 2025-07-10 10:46:59 -07:00
test_slack_importer.py import: Send Welcome Bot messages to users from non-Zulip exports. 2025-07-14 15:11:43 -07:00
test_slack_message_conversion.py slack_data_import: Fix incorrect hyperlink conversion. 2024-10-30 09:48:32 -07:00
test_soft_deactivation.py audit-log: Move user event types to AuditLogEventType enum. 2024-09-09 11:50:13 -07:00
test_subdomains.py ruff: Fix UP035 Import from collections.abc, typing instead. 2024-07-13 22:28:22 -07:00
test_submessage.py queue: Rename queue_json_publish to queue_json_publish_rollback_unsafe. 2024-12-06 09:23:02 -08:00
test_subs.py tests: Move test for permission to update topics_policy. 2025-07-15 15:54:30 -07:00
test_subscription_settings.py tests: Move subscription properties test to new file. 2025-06-11 15:41:50 -07:00
test_templates.py css: Use classname instead of div selector for .blocks. 2024-08-13 22:36:35 -07:00
test_thumbnail.py tests: Consume more streaming responses. 2025-02-05 13:16:12 -08:00
test_timeout.py timeout: Rename to unsafe_timeout. 2024-04-18 11:50:38 -07:00
test_timestamp.py
test_timezone.py ruff: Bump target-version from py38 to py310. 2024-07-13 22:28:22 -07:00
test_topic_link_util.py topic_link_util: Support message links in backend. 2025-06-18 13:03:56 -07:00
test_tornado.py test_tornado: Add nocoverage for task cleanup. 2025-02-14 17:04:51 -08:00
test_transfer.py emoji: Pass down content-type, rather than guessing from extension. 2024-07-12 13:26:47 -07:00
test_tusd.py realm_creation_form: Capture import_from if realm import enabled. 2025-04-30 00:06:43 -07:00
test_tutorial.py user_profile: Remove 'tutorial_status' field. 2024-08-15 13:31:40 -07:00
test_typed_endpoint_validators.py zerver: Migrate some files to typed_endpoint. 2024-07-20 15:46:48 -07:00
test_typed_endpoint.py ruff: Enable B008 function-call-in-default-argument. 2024-11-10 22:43:55 -08:00
test_typing.py api: Rename edit typing endpoint to /messages/{message_id}/typing. 2025-02-28 13:20:46 -08:00
test_upload_local.py upload: Allow filtering to just a prefix (e.g. a realm id). 2024-09-26 12:01:11 -07:00
test_upload_s3.py populate_db: Mark onboarding steps as seen for existing users. 2025-03-13 14:38:16 -07:00
test_upload.py attachments: Allow seeing attachments to users with content access. 2025-04-23 12:43:54 -07:00
test_url_decoding.py url_decoding: Add parse_narrow_url. 2025-02-24 15:37:40 -08:00
test_url_encoding.py url_encoding: Refactor a encode_user_full_name_and_id. 2025-07-03 14:40:49 -07:00
test_urls.py showroom: Set up devtools/inputs page for showcasing input components. 2025-07-03 11:45:35 -07:00
test_user_groups.py typed_endpoint: Handle "dataclass_type" pydantic errors. 2025-07-09 11:17:54 -07:00
test_user_status.py presence: Fix for last active time for invisible mode. 2025-02-26 12:51:57 -08:00
test_user_topics.py tests: Pass update_fields to all stream.save(). 2025-04-15 10:28:18 -07:00
test_users.py email: Bulk clearing of scheduled emails for multiple users. 2025-07-11 14:15:49 -07:00
test_validators.py validator: Disable WildValue equality comparison. 2025-06-25 11:49:02 -07:00
test_webhooks_common.py integrations: Prevent logging of MissingHTTPEventHeaderError. 2025-06-06 18:06:06 -07:00
test_widgets.py ruff: Fix UP006 Use list instead of List for type annotation. 2024-07-13 22:28:22 -07:00
test_zcommand.py zcommand: Rename night->dark and day->light in the color scheme backend. 2024-06-30 22:45:26 -07:00
test_zephyr.py users: Remove unnecessary get_api_key helper. 2025-02-13 12:40:53 -08:00
test_zilencer_analytics.py test_push_notifications: Split AnalyticsBouncerTest to a separate file. 2025-04-17 10:55:05 -07:00
test_zulip_update_announcements.py zulip_updates: Add test to verify deactivated channel case. 2025-02-05 12:21:55 -08:00