discourse/spec/lib
Sam Saffron f0a0252526 FIX: broken onebox images due to url normalization bugs
normalized_encode in addressable has a number of issues, including https://github.com/sporkmonger/addressable/issues/472

To temporaily work around those issues for the majority of cases, we try parsing with `::URI`. If that fails (e.g. due to non-ascii characters) then we will fall back to addressable.

Hopefully we can simplify this back to `Addressable::URI.normalized_encode` in the future.

This commit also adds support for unicode domain names and emoji domain names with escape_uri.

This removes an unneeded hack checking for pre-signed urls, which are now handled by the general case due to starting off valid and only being minimally normalized. Previous test case continues to pass.

UrlHelper.s3_presigned_url? which was somewhat wide was removed.
2022-08-09 11:55:25 +01:00
..
auth DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
backup_restore DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
common_passwords DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
compression DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
concern DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
content_security_policy Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
email DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
file_store DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
freedom_patches DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
guardian DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
highlight_js Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
i18n Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
imap DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
import Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
middleware DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
migration Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
onebox DEV: Make the first argument to the top-level describe a constant in specs 2022-08-08 18:07:49 +02:00
plugin DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
pretty_text DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
rate_limiter DEV: Automatically require 'rails_helper' in all specs (#16077) 2022-03-01 17:50:50 +00:00
scheduler Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
second_factor DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
seed_data Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
site_settings DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
stylesheet DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
svg_sprite DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
theme_store Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
topic_query DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
validators DEV: Make the first argument to the top-level describe a constant in specs 2022-08-08 18:07:49 +02:00
webauthn Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
wizard DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
admin_confirmation_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
admin_user_index_query_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
archetype_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
bookmark_manager_spec.rb DEV: Add save_user_preferences option to BookmarkManager (#16894) 2022-05-24 11:13:21 +10:00
bookmark_query_spec.rb FEATURE: whispers available for groups (#17170) 2022-06-30 10:18:12 +10:00
bookmark_reminder_notification_handler_spec.rb FEATURE: Promote polymorphic bookmarks to default and migrate (#16729) 2022-05-23 10:07:15 +10:00
browser_detection_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
cache_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
category_badge_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
composer_messages_finder_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
content_buffer_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
content_security_policy_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
cooked_post_processor_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
crawler_detection_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
current_user_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
db_helper_spec.rb DEV: Automatically require 'rails_helper' in all specs (#16077) 2022-03-01 17:50:50 +00:00
directory_helper_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
discourse_diff_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
discourse_event_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
discourse_hub_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
discourse_js_processor_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
discourse_plugin_registry_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
discourse_redis_spec.rb DEV: Make the first argument to the top-level describe a constant in specs 2022-08-08 18:07:49 +02:00
discourse_sourcemapping_url_processor_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
discourse_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
discourse_tagging_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
discourse_updates_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
distributed_cache_spec.rb DEV: Make the first argument to the top-level describe a constant in specs 2022-08-08 18:07:49 +02:00
distributed_memoizer_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
distributed_mutex_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
email_cook_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
email_updater_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
encodings_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
enum_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
excerpt_parser_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
feed_element_installer_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
feed_item_accessor_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
file_helper_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
filter_best_posts_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
final_destination_spec.rb FIX: broken onebox images due to url normalization bugs 2022-08-09 11:55:25 +01:00
flag_settings_spec.rb DEV: Automatically require 'rails_helper' in all specs (#16077) 2022-03-01 17:50:50 +00:00
gaps_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
global_path_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
group_email_credentials_check_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
guardian_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
has_errors_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
hijack_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
html_prettify_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
html_to_markdown_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
image_sizer_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
inline_oneboxer_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
js_locale_helper_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
json_error_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
letter_avatar_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
message_id_service_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
method_profiler_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
mini_sql_multisite_connection_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
mobile_detection_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
new_post_manager_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
new_post_result_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
onebox_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
oneboxer_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
onpdiff_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
pbkdf2_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
pinned_check_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
plain_text_to_markdown_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
post_action_creator_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
post_action_destroyer_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
post_creator_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
post_destroyer_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
post_jobs_enqueuer_spec.rb DEV: Automatically require 'rails_helper' in all specs (#16077) 2022-03-01 17:50:50 +00:00
post_locker_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
post_merger_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
post_revisor_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
presence_channel_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
pretty_text_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
promotion_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
quote_comparer_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
rate_limiter_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
retrieve_title_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
rtl_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
s3_cors_rulesets_spec.rb DEV: Automatically require 'rails_helper' in all specs (#16077) 2022-03-01 17:50:50 +00:00
s3_helper_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
s3_inventory_multisite_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
s3_inventory_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
score_calculator_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
scss_checker_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
search_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
secure_session_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
shrink_uploaded_image_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
site_icon_manager_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
site_setting_extension_multisite_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
site_setting_extension_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
slug_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
spam_handler_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
suggested_topics_builder_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
system_message_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
text_cleaner_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
text_sentinel_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
theme_flag_modifier_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
theme_javascript_compiler_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
theme_settings_manager_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
theme_settings_parser_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
timeline_lookup_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
tiny_japanese_segmenter_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
topic_creator_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
topic_publisher_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
topic_query_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
topic_retriever_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
topic_upload_security_manager_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
topic_view_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
topics_bulk_action_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
trashable_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
trust_level_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
twitter_api_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
unread_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
upload_creator_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
upload_markdown_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
upload_recovery_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00
upload_security_spec.rb DEV: Automatically require 'rails_helper' in all specs (#16077) 2022-03-01 17:50:50 +00:00
url_helper_spec.rb FIX: broken onebox images due to url normalization bugs 2022-08-09 11:55:25 +01:00
user_comm_screener_spec.rb FIX: Handle actor not having preferences in UserCommScreener (#17790) 2022-08-04 10:16:54 +10:00
user_lookup_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
user_name_suggester_spec.rb Add RSpec 4 compatibility (#17652) 2022-07-28 10:27:38 +08:00
version_spec.rb DEV: Use proper wording for contexts in specs 2022-08-04 11:05:02 +02:00