DEV: use #frozen_string_literal: true on all spec

This change both speeds up specs (less strings to allocate) and helps catch
cases where methods in Discourse are mutating inputs.

Overall we will be migrating everything to use #frozen_string_literal: true
it will take a while, but this is the first and safest move in this direction
This commit is contained in:
Sam Saffron 2019-04-30 10:27:42 +10:00
parent 0a5a6dfded
commit 4ea21fa2d0
658 changed files with 1306 additions and 13 deletions
spec/components
active_record/connection_adapters
admin_confirmation_spec.rbadmin_user_index_query_spec.rbarchetype_spec.rb
auth
avatar_lookup_spec.rbcache_spec.rbcategory_badge_spec.rb
common_passwords
composer_messages_finder_spec.rb
concern
content_buffer_spec.rbcooked_post_processor_spec.rbcrawler_detection_spec.rbcurrent_user_spec.rbdirectory_helper_spec.rbdiscourse_diff_spec.rbdiscourse_event_spec.rbdiscourse_hub_spec.rbdiscourse_i18n_spec.rbdiscourse_plugin_registry_spec.rbdiscourse_plugin_spec.rbdiscourse_redis_spec.rbdiscourse_spec.rbdiscourse_tagging_spec.rbdiscourse_updates_spec.rbdistributed_memoizer_spec.rbdistributed_mutex_spec.rb
email
email_cook_spec.rbemail_updater_spec.rbenum_spec.rbexcerpt_parser_spec.rbfallback_locale_list_spec.rbfeed_element_installer_spec.rbfeed_item_accessor_spec.rbfile_helper_spec.rb
file_store
filter_best_posts_spec.rbfinal_destination_spec.rbflag_query_spec.rbflag_settings_spec.rb
freedom_patches
gaps_spec.rbglobal_path_spec.rb
guardian
guardian_spec.rbhas_errors_spec.rb
highlight_js
hijack_spec.rbhtml_prettify_spec.rbhtml_to_markdown_spec.rbimage_sizer_spec.rb
import
inline_oneboxer_spec.rbjs_locale_helper_spec.rbjson_error_spec.rbletter_avatar_spec.rbmethod_profiler_spec.rb
middleware
migration
new_post_manager_spec.rbnew_post_result_spec.rb
onebox/engine
oneboxer_spec.rbonpdiff_spec.rbpbkdf2_spec.rbpinned_check_spec.rbplain_text_to_markdown_spec.rb
plugin
post_action_creator_spec.rb

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require_dependency 'active_record/connection_adapters/postgresql_fallback_adapter'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'admin_confirmation'
require 'rails_helper'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require_dependency 'admin_user_index_query'

@ -1,4 +1,5 @@
# encoding: utf-8
# frozen_string_literal: true
require 'rails_helper'
require 'archetype'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require_dependency 'auth/default_current_user_provider'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
describe Auth::FacebookAuthenticator do

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
def auth_token_for(user)

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
describe Auth::GoogleOAuth2Authenticator do

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
describe Auth::InstagramAuthenticator do

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
describe Auth::ManagedAuthenticator do

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
describe Auth::OpenIdAuthenticator do

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
describe Auth::TwitterAuthenticator do

@ -1,4 +1,5 @@
# encoding: utf-8
# frozen_string_literal: true
require 'rails_helper'
require_dependency 'avatar_lookup'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require 'cache'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require 'category_badge'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require "rails_helper"
require_dependency "common_passwords/common_passwords"

@ -1,4 +1,6 @@
# encoding: utf-8
# frozen_string_literal: true
require 'rails_helper'
require 'composer_messages_finder'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
describe CategoryHashtag do

@ -1,3 +1,5 @@
# frozen_string_literal: true
require "rails_helper"
describe HasCustomFields do

@ -1,3 +1,5 @@
# frozen_string_literal: true
require "rails_helper"
describe HasSearchData do

@ -1,3 +1,5 @@
# frozen_string_literal: true
require "rails_helper"
describe Positionable do

@ -1,3 +1,5 @@
# frozen_string_literal: true
require "rails_helper"
describe Searchable do

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
RSpec.describe SecondFactorManager do

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require 'content_buffer'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require "rails_helper"
require "cooked_post_processor"
require "file_store/s3_store"

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require_dependency 'crawler_detection'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require_dependency 'current_user'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require_dependency 'directory_helper'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require 'discourse_diff'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require_dependency 'discourse_event'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require_dependency 'discourse_hub'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require 'i18n/backend/discourse_i18n'
require 'translation_override'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require 'discourse_plugin_registry'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require_dependency 'discourse_plugin'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
describe DiscourseRedis do

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require 'discourse'

@ -1,4 +1,5 @@
# encoding: UTF-8
# frozen_string_literal: true
require 'rails_helper'
require 'discourse_tagging'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require_dependency 'discourse_updates'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require_dependency 'distributed_memoizer'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require_dependency 'distributed_mutex'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require 'email'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require 'email/message_builder'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require "rails_helper"
require "email/processor"

@ -1,3 +1,5 @@
# frozen_string_literal: true
require "rails_helper"
require "email/receiver"

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require 'email/renderer'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require 'email/sender'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require 'email'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require 'email_cook'
require 'pretty_text'
@ -22,7 +24,7 @@ describe EmailCook do
Vestibulum feugiat mi vitae turpis tempor dignissim.
LONG_EMAIL
long_cooked = <<~LONG_COOKED.strip!
long_cooked = (+<<~LONG_COOKED).strip!
Hello,
<br>
<br>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc convallis volutpat
@ -45,7 +47,7 @@ describe EmailCook do
Stet clita kasd gubergren.
LONG_EMAIL
long_cooked = <<~LONG_COOKED.strip!
long_cooked = (+<<~LONG_COOKED).strip!
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc convallis volutpat
risus.
<br>Nulla ac faucibus quam, quis cursus lorem. Sed rutrum eget nunc sed accumsan.
@ -70,7 +72,7 @@ describe EmailCook do
Nunc convallis volutpat risus.
LONG_EMAIL
long_cooked = <<~LONG_COOKED.strip!
long_cooked = (+<<~LONG_COOKED).strip!
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
<br>
<br>&lt;form name=&quot;f1&quot; method=&quot;post&quot; action=&quot;test.html&quot; onsubmit=&quot;javascript:showAlert()&quot;&gt;
@ -94,7 +96,7 @@ describe EmailCook do
no indentation, but lots of spaces
LONG_EMAIL
long_cooked = <<~LONG_COOKED.strip!
long_cooked = (+<<~LONG_COOKED).strip!
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
<br>
<br>#{nbsp}#{nbsp}#{nbsp}#{nbsp}this is indended by 4 spaces

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require_dependency 'email_updater'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require 'email'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require "rails_helper"
require "excerpt_parser"

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require 'i18n/backend/fallback_locale_list'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'feed_element_installer'
require 'rails_helper'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rss'
require 'feed_item_accessor'
require 'rails_helper'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require 'file_helper'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require_dependency 'file_store/base_store'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require 'file_store/local_store'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require 'file_store/s3_store'
require 'file_store/local_store'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require 'filter_best_posts'
require 'topic_view'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require 'final_destination'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require_dependency 'flag_query'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require 'flag_settings'

@ -1,13 +1,15 @@
# frozen_string_literal: true
require 'rails_helper'
require_dependency "freedom_patches/safe_buffer"
describe ActiveSupport::SafeBuffer do
it "can cope with encoding weirdness" do
buffer = ActiveSupport::SafeBuffer.new
buffer << "\330".force_encoding("ASCII-8BIT")
buffer << (+"\330").force_encoding("ASCII-8BIT")
buffer.force_encoding "ASCII-8BIT"
buffer << "hello\330\271"
buffer << "hello#{254.chr}".force_encoding("ASCII-8BIT").freeze
buffer << (+"hello#{254.chr}").force_encoding("ASCII-8BIT").freeze
# we pay a cost for force encoding, the h gets dropped
expect(buffer).to match(/ello.*hello/)

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require_dependency "freedom_patches/schema_migration_details"

@ -1,3 +1,5 @@
# frozen_string_literal: true
require "rails_helper"
describe "translate accelerator" do

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require 'cache'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require 'global_path'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
RSpec.describe CategoryGuardian do

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
describe UserGuardian do

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require 'guardian'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require 'has_errors'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require_dependency 'highlight_js/highlight_js'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
describe Hijack do

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require 'html_prettify'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require 'html_to_markdown'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require 'image_sizer'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require "rails_helper"
require_dependency "import/normalize"

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require_dependency 'inline_oneboxer'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require 'mini_racer'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require_dependency 'json_error'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require 'letter_avatar'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require_dependency 'method_profiler'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require "rails_helper"
require_dependency "middleware/anonymous_cache"

@ -1,3 +1,5 @@
# frozen_string_literal: true
require "rails_helper"
require_dependency "middleware/request_tracker"

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require_dependency 'migration/column_dropper'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require_dependency 'migration/safe_migrate'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require_dependency 'migration/table_dropper'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require 'new_post_manager'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require 'new_post_result'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require 'onebox/engine/flash_video_onebox'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
describe Onebox::Engine::WhitelistedGenericOnebox do

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require_dependency 'oneboxer'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require 'onpdiff'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'pbkdf2'
describe Pbkdf2 do

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require 'pinned_check'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require 'plain_text_to_markdown'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require_dependency 'plugin/filter_manager'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require_dependency 'plugin/instance'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
require_dependency 'plugin/metadata'

@ -1,3 +1,5 @@
# frozen_string_literal: true
require 'rails_helper'
describe PostActionCreator do

Some files were not shown because too many files have changed in this diff Show More