From ef338bae33a7d35b6956c955319eec9816c93019 Mon Sep 17 00:00:00 2001 From: hmuralidhar <hmuralidhar@gitlab.com> Date: Thu, 28 Jul 2022 10:20:47 +0530 Subject: [PATCH] Fix Performance/ConstantRegexp offenses --- .rubocop_todo/performance/constant_regexp.yml | 30 ------------------- app/models/commit.rb | 2 +- app/models/commit_range.rb | 4 +-- app/models/custom_emoji.rb | 2 +- app/models/gpg_key.rb | 2 +- app/models/merge_request.rb | 2 +- app/models/packages/package.rb | 2 +- app/models/project.rb | 2 +- app/models/wiki.rb | 2 +- ee/app/models/ee/epic.rb | 2 +- lib/banzai/filter/custom_emoji_filter.rb | 4 +-- lib/gitlab/cleanup/project_uploads.rb | 2 +- .../reindexing/reindex_concurrently.rb | 6 ++-- lib/gitlab/dependency_linker/base_linker.rb | 4 +-- .../dependency_linker/composer_json_linker.rb | 2 +- .../dependency_linker/godeps_json_linker.rb | 6 ++-- .../dependency_linker/podspec_linker.rb | 4 +-- lib/gitlab/git.rb | 4 +-- lib/gitlab/job_waiter.rb | 2 +- lib/gitlab/metrics/dashboard/url.rb | 10 +++---- lib/gitlab/path_regex.rb | 4 +-- lib/gitlab/regex.rb | 8 ++--- scripts/perf/query_limiting_report.rb | 2 +- scripts/validate_migration_schema | 2 +- .../users/email_verification_on_login_spec.rb | 2 +- .../concerns/token_authenticatable_spec.rb | 8 ++--- spec/services/notes/copy_service_spec.rb | 4 +-- 27 files changed, 47 insertions(+), 77 deletions(-) delete mode 100644 .rubocop_todo/performance/constant_regexp.yml diff --git a/.rubocop_todo/performance/constant_regexp.yml b/.rubocop_todo/performance/constant_regexp.yml deleted file mode 100644 index 23d03ced8d73..000000000000 --- a/.rubocop_todo/performance/constant_regexp.yml +++ /dev/null @@ -1,30 +0,0 @@ ---- -# Cop supports --auto-correct. -Performance/ConstantRegexp: - Exclude: - - 'app/models/commit.rb' - - 'app/models/commit_range.rb' - - 'app/models/custom_emoji.rb' - - 'app/models/gpg_key.rb' - - 'app/models/merge_request.rb' - - 'app/models/packages/package.rb' - - 'app/models/project.rb' - - 'app/models/wiki.rb' - - 'ee/app/models/ee/epic.rb' - - 'lib/banzai/filter/custom_emoji_filter.rb' - - 'lib/gitlab/cleanup/project_uploads.rb' - - 'lib/gitlab/database/reindexing/reindex_concurrently.rb' - - 'lib/gitlab/dependency_linker/base_linker.rb' - - 'lib/gitlab/dependency_linker/composer_json_linker.rb' - - 'lib/gitlab/dependency_linker/godeps_json_linker.rb' - - 'lib/gitlab/dependency_linker/podspec_linker.rb' - - 'lib/gitlab/git.rb' - - 'lib/gitlab/job_waiter.rb' - - 'lib/gitlab/metrics/dashboard/url.rb' - - 'lib/gitlab/path_regex.rb' - - 'lib/gitlab/regex.rb' - - 'scripts/perf/query_limiting_report.rb' - - 'scripts/validate_migration_schema' - - 'spec/features/users/email_verification_on_login_spec.rb' - - 'spec/models/concerns/token_authenticatable_spec.rb' - - 'spec/services/notes/copy_service_spec.rb' diff --git a/app/models/commit.rb b/app/models/commit.rb index ca18cb50e02d..bd60f02b5326 100644 --- a/app/models/commit.rb +++ b/app/models/commit.rb @@ -190,7 +190,7 @@ def self.reference_pattern def self.link_reference_pattern @link_reference_pattern ||= - super("commit", /(?<commit>#{COMMIT_SHA_PATTERN})?(\.(?<extension>#{LINK_EXTENSION_PATTERN}))?/) + super("commit", /(?<commit>#{COMMIT_SHA_PATTERN})?(\.(?<extension>#{LINK_EXTENSION_PATTERN}))?/o) end def to_reference(from = nil, full: false) diff --git a/app/models/commit_range.rb b/app/models/commit_range.rb index 08f1eb3731e7..e2f0de52bc9e 100644 --- a/app/models/commit_range.rb +++ b/app/models/commit_range.rb @@ -50,7 +50,7 @@ def self.reference_pattern end def self.link_reference_pattern - @link_reference_pattern ||= super("compare", /(?<commit_range>#{PATTERN})/) + @link_reference_pattern ||= super("compare", /(?<commit_range>#{PATTERN})/o) end # Initialize a CommitRange @@ -64,7 +64,7 @@ def initialize(range_string, project) range_string = range_string.strip - unless range_string =~ /\A#{PATTERN}\z/ + unless range_string =~ /\A#{PATTERN}\z/o raise ArgumentError, "invalid CommitRange string format: #{range_string}" end diff --git a/app/models/custom_emoji.rb b/app/models/custom_emoji.rb index 09fbb93525b1..625d68925c6c 100644 --- a/app/models/custom_emoji.rb +++ b/app/models/custom_emoji.rb @@ -22,7 +22,7 @@ class CustomEmoji < ApplicationRecord presence: true, length: { maximum: 36 }, - format: { with: /\A#{NAME_REGEXP}\z/ } + format: { with: /\A#{NAME_REGEXP}\z/o } scope :by_name, -> (names) { where(name: names) } diff --git a/app/models/gpg_key.rb b/app/models/gpg_key.rb index a56e28859c9c..2db074e733e4 100644 --- a/app/models/gpg_key.rb +++ b/app/models/gpg_key.rb @@ -21,7 +21,7 @@ class GpgKey < ApplicationRecord presence: true, uniqueness: true, format: { - with: /\A#{KEY_PREFIX}((?!#{KEY_PREFIX})(?!#{KEY_SUFFIX}).)+#{KEY_SUFFIX}\Z/m, + with: /\A#{KEY_PREFIX}((?!#{KEY_PREFIX})(?!#{KEY_SUFFIX}).)+#{KEY_SUFFIX}\Z/mo, message: "is invalid. A valid public GPG key begins with '#{KEY_PREFIX}' and ends with '#{KEY_SUFFIX}'" } diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb index cd957f445fd7..47dd0175705e 100644 --- a/app/models/merge_request.rb +++ b/app/models/merge_request.rb @@ -1500,7 +1500,7 @@ def self.merge_request_ref?(ref) end def self.merge_train_ref?(ref) - %r{\Arefs/#{Repository::REF_MERGE_REQUEST}/\d+/train\z}.match?(ref) + %r{\Arefs/#{Repository::REF_MERGE_REQUEST}/\d+/train\z}o.match?(ref) end def in_locked_state diff --git a/app/models/packages/package.rb b/app/models/packages/package.rb index 90a1bb4bc69d..7d2d34170faa 100644 --- a/app/models/packages/package.rb +++ b/app/models/packages/package.rb @@ -327,7 +327,7 @@ def mark_package_files_for_destruction def normalized_pypi_name return name unless pypi? - name.gsub(/#{Gitlab::Regex::Packages::PYPI_NORMALIZED_NAME_REGEX_STRING}/, '-').downcase + name.gsub(/#{Gitlab::Regex::Packages::PYPI_NORMALIZED_NAME_REGEX_STRING}/o, '-').downcase end private diff --git a/app/models/project.rb b/app/models/project.rb index 130ab41baa6c..bf97ffc423c7 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -814,7 +814,7 @@ def reference_pattern (?<!#{Gitlab::PathRegex::PATH_START_CHAR}) ((?<namespace>#{Gitlab::PathRegex::FULL_NAMESPACE_FORMAT_REGEX})\/)? (?<project>#{Gitlab::PathRegex::PROJECT_PATH_FORMAT_REGEX}) - }x + }xo end def reference_postfix diff --git a/app/models/wiki.rb b/app/models/wiki.rb index c9cb3b0b7960..97a21c6260c2 100644 --- a/app/models/wiki.rb +++ b/app/models/wiki.rb @@ -335,7 +335,7 @@ def default_branch end def wiki_base_path - web_url(only_path: true).sub(%r{/#{Wiki::HOMEPAGE}\z}, '') + web_url(only_path: true).sub(%r{/#{Wiki::HOMEPAGE}\z}o, '') end # Callbacks for synchronous processing after wiki changes. diff --git a/ee/app/models/ee/epic.rb b/ee/app/models/ee/epic.rb index 808528c89fdf..7d4d6bd3536f 100644 --- a/ee/app/models/ee/epic.rb +++ b/ee/app/models/ee/epic.rb @@ -243,7 +243,7 @@ def reference_pattern group_regexp = %r{ (?<!\w) (?<group>#{::Gitlab::PathRegex::FULL_NAMESPACE_FORMAT_REGEX}) - }x + }xo %r{ (#{group_regexp})? (?:#{combined_prefix})#{::Gitlab::Regex.epic} diff --git a/lib/banzai/filter/custom_emoji_filter.rb b/lib/banzai/filter/custom_emoji_filter.rb index ae95c7f66b64..b589d2645263 100644 --- a/lib/banzai/filter/custom_emoji_filter.rb +++ b/lib/banzai/filter/custom_emoji_filter.rb @@ -29,7 +29,7 @@ def custom_emoji_pattern @emoji_pattern ||= /(?<=[^[:alnum:]:]|\n|^) :(#{CustomEmoji::NAME_REGEXP}): - (?=[^[:alnum:]:]|$)/x + (?=[^[:alnum:]:]|$)/xo end def custom_emoji_name_element_filter(text) @@ -58,7 +58,7 @@ def resource_parent end def custom_emoji_candidates - doc.to_html.scan(/:(#{CustomEmoji::NAME_REGEXP}):/).flatten + doc.to_html.scan(/:(#{CustomEmoji::NAME_REGEXP}):/o).flatten end def all_custom_emoji diff --git a/lib/gitlab/cleanup/project_uploads.rb b/lib/gitlab/cleanup/project_uploads.rb index ed4b363416ce..7f24b2f78b0d 100644 --- a/lib/gitlab/cleanup/project_uploads.rb +++ b/lib/gitlab/cleanup/project_uploads.rb @@ -56,7 +56,7 @@ def find_correct_path(upload_path) # rubocop: enable CodeReuse/ActiveRecord def move_to_lost_and_found(path, dry_run) - new_path = path.sub(/\A#{ProjectUploadFileFinder::ABSOLUTE_UPLOAD_DIR}/, LOST_AND_FOUND) + new_path = path.sub(/\A#{ProjectUploadFileFinder::ABSOLUTE_UPLOAD_DIR}/o, LOST_AND_FOUND) move(path, new_path, 'move to lost and found', dry_run) end diff --git a/lib/gitlab/database/reindexing/reindex_concurrently.rb b/lib/gitlab/database/reindexing/reindex_concurrently.rb index 152935bd7349..60fa4deda390 100644 --- a/lib/gitlab/database/reindexing/reindex_concurrently.rb +++ b/lib/gitlab/database/reindexing/reindex_concurrently.rb @@ -20,7 +20,7 @@ def initialize(index, logger: Gitlab::AppLogger) def perform raise ReindexError, 'indexes serving an exclusion constraint are currently not supported' if index.exclusion? - raise ReindexError, 'index is a left-over temporary index from a previous reindexing run' if index.name =~ /#{TEMPORARY_INDEX_PATTERN}/ + raise ReindexError, 'index is a left-over temporary index from a previous reindexing run' if index.name =~ /#{TEMPORARY_INDEX_PATTERN}/o # Expression indexes require additional statistics in `pg_statistic`: # select * from pg_statistic where starelid = (select oid from pg_class where relname = 'some_index'); @@ -81,10 +81,10 @@ def cleanup_dangling_indexes # Example lingering index name: some_index_ccnew1 # Example prefix: 'some_index' - prefix = lingering_index.name.gsub(/#{TEMPORARY_INDEX_PATTERN}/, '') + prefix = lingering_index.name.gsub(/#{TEMPORARY_INDEX_PATTERN}/o, '') # Example suffix: '_ccnew1' - suffix = lingering_index.name.match(/#{TEMPORARY_INDEX_PATTERN}/)[0] + suffix = lingering_index.name.match(/#{TEMPORARY_INDEX_PATTERN}/o)[0] # Only remove if the lingering index name could have been chosen # as a result of a REINDEX operation (considering that PostgreSQL diff --git a/lib/gitlab/dependency_linker/base_linker.rb b/lib/gitlab/dependency_linker/base_linker.rb index 76855f2950d8..6d114de8ae87 100644 --- a/lib/gitlab/dependency_linker/base_linker.rb +++ b/lib/gitlab/dependency_linker/base_linker.rb @@ -34,9 +34,9 @@ def external_url(name, external_ref) return if external_ref =~ GIT_INVALID_URL_REGEX case external_ref - when /\A#{URL_REGEX}\z/ + when /\A#{URL_REGEX}\z/o external_ref - when /\A#{REPO_REGEX}\z/ + when /\A#{REPO_REGEX}\z/o github_url(external_ref) else package_url(name) diff --git a/lib/gitlab/dependency_linker/composer_json_linker.rb b/lib/gitlab/dependency_linker/composer_json_linker.rb index 4b8862b31ee6..965ed8bb95e0 100644 --- a/lib/gitlab/dependency_linker/composer_json_linker.rb +++ b/lib/gitlab/dependency_linker/composer_json_linker.rb @@ -13,7 +13,7 @@ def link_packages end def package_url(name) - "https://packagist.org/packages/#{name}" if name =~ /\A#{REPO_REGEX}\z/ + "https://packagist.org/packages/#{name}" if name =~ /\A#{REPO_REGEX}\z/o end end end diff --git a/lib/gitlab/dependency_linker/godeps_json_linker.rb b/lib/gitlab/dependency_linker/godeps_json_linker.rb index 9166e9091aca..049a807b760c 100644 --- a/lib/gitlab/dependency_linker/godeps_json_linker.rb +++ b/lib/gitlab/dependency_linker/godeps_json_linker.rb @@ -12,10 +12,10 @@ class GodepsJsonLinker < JsonLinker def link_dependencies link_json('ImportPath') do |path| case path - when %r{\A(?<repo>github\.com/#{REPO_REGEX})/(?<path>.+)\z} + when %r{\A(?<repo>github\.com/#{REPO_REGEX})/(?<path>.+)\z}o "https://#{$~[:repo]}/tree/master/#{$~[:path]}" - when %r{\A(?<repo>gitlab\.com/#{NESTED_REPO_REGEX})\.git/(?<path>.+)\z}, - %r{\A(?<repo>gitlab\.com/#{REPO_REGEX})/(?<path>.+)\z} + when %r{\A(?<repo>gitlab\.com/#{NESTED_REPO_REGEX})\.git/(?<path>.+)\z}o, + %r{\A(?<repo>gitlab\.com/#{REPO_REGEX})/(?<path>.+)\z}o "https://#{$~[:repo]}/-/tree/master/#{$~[:path]}" when /\Agolang\.org/ diff --git a/lib/gitlab/dependency_linker/podspec_linker.rb b/lib/gitlab/dependency_linker/podspec_linker.rb index 14abd3999c42..f6da17efff45 100644 --- a/lib/gitlab/dependency_linker/podspec_linker.rb +++ b/lib/gitlab/dependency_linker/podspec_linker.rb @@ -14,10 +14,10 @@ class PodspecLinker < MethodLinker def link_dependencies link_method_call('homepage', URL_REGEX, &:itself) - link_regex(/(git:|:git\s*=>)\s*['"](?<name>#{URL_REGEX})['"]/, &:itself) + link_regex(/(git:|:git\s*=>)\s*['"](?<name>#{URL_REGEX})['"]/o, &:itself) link_method_call('license', &method(:license_url)) - link_regex(/license\s*=\s*\{\s*(type:|:type\s*=>)\s*#{STRING_REGEX}/, &method(:license_url)) + link_regex(/license\s*=\s*\{\s*(type:|:type\s*=>)\s*#{STRING_REGEX}/o, &method(:license_url)) link_method_call('dependency', &method(:package_url)) end diff --git a/lib/gitlab/git.rb b/lib/gitlab/git.rb index 882bd57eb1da..4b9f2ababc8c 100644 --- a/lib/gitlab/git.rb +++ b/lib/gitlab/git.rb @@ -47,11 +47,11 @@ def tag_name(ref) end def tag_ref?(ref) - ref =~ /^#{TAG_REF_PREFIX}.+/ + ref =~ /^#{TAG_REF_PREFIX}.+/o end def branch_ref?(ref) - ref =~ /^#{BRANCH_REF_PREFIX}.+/ + ref =~ /^#{BRANCH_REF_PREFIX}.+/o end def blank_ref?(ref) diff --git a/lib/gitlab/job_waiter.rb b/lib/gitlab/job_waiter.rb index 2cede524cac9..52234b50a1f5 100644 --- a/lib/gitlab/job_waiter.rb +++ b/lib/gitlab/job_waiter.rb @@ -35,7 +35,7 @@ def self.notify(key, jid) end def self.key?(key) - key.is_a?(String) && key =~ /\A#{KEY_PREFIX}:\h{8}-\h{4}-\h{4}-\h{4}-\h{12}\z/ + key.is_a?(String) && key =~ /\A#{KEY_PREFIX}:\h{8}-\h{4}-\h{4}-\h{4}-\h{12}\z/o end attr_reader :key, :finished, :worker_label diff --git a/lib/gitlab/metrics/dashboard/url.rb b/lib/gitlab/metrics/dashboard/url.rb index 6dcc73c0f6ac..d4f779ad79d8 100644 --- a/lib/gitlab/metrics/dashboard/url.rb +++ b/lib/gitlab/metrics/dashboard/url.rb @@ -42,7 +42,7 @@ def grafana_regex #{DASH_PATTERN}? /grafana /metrics_dashboard - }x + }xo ) end end @@ -64,7 +64,7 @@ def clusters_regex /(?<cluster_id>\d+) /? ( (/metrics) | ( /metrics_dashboard\.json ) )? - }x + }xo ) end end @@ -82,7 +82,7 @@ def alert_regex /alerts /(?<alert>\d+) /metrics_dashboard(\.json)? - }x + }xo ) end end @@ -112,7 +112,7 @@ def environment_metrics_regex /environments /(?<environment>\d+) /(metrics_dashboard|metrics) - }x + }xo end def non_environment_metrics_regex @@ -125,7 +125,7 @@ def non_environment_metrics_regex environment=(?<environment>\d+) .* ) - }x + }xo end def regex_for_project_metrics(path_suffix_pattern) diff --git a/lib/gitlab/path_regex.rb b/lib/gitlab/path_regex.rb index b05d7160a4b0..b0804c2ff661 100644 --- a/lib/gitlab/path_regex.rb +++ b/lib/gitlab/path_regex.rb @@ -204,7 +204,7 @@ def full_project_git_path_regex end def namespace_format_regex - @namespace_format_regex ||= /\A#{NAMESPACE_FORMAT_REGEX}\z/.freeze + @namespace_format_regex ||= /\A#{NAMESPACE_FORMAT_REGEX}\z/o.freeze end def namespace_format_message @@ -213,7 +213,7 @@ def namespace_format_message end def project_path_format_regex - @project_path_format_regex ||= /\A#{PROJECT_PATH_FORMAT_REGEX}\z/.freeze + @project_path_format_regex ||= /\A#{PROJECT_PATH_FORMAT_REGEX}\z/o.freeze end def project_path_format_message diff --git a/lib/gitlab/regex.rb b/lib/gitlab/regex.rb index 0534f8901529..aacf8cadbeee 100644 --- a/lib/gitlab/regex.rb +++ b/lib/gitlab/regex.rb @@ -70,7 +70,7 @@ def maven_app_group_regex end def npm_package_name_regex - @npm_package_name_regex ||= %r{\A(?:@(#{Gitlab::PathRegex::NAMESPACE_FORMAT_REGEX})/)?[-+\.\_a-zA-Z0-9]+\z} + @npm_package_name_regex ||= %r{\A(?:@(#{Gitlab::PathRegex::NAMESPACE_FORMAT_REGEX})/)?[-+\.\_a-zA-Z0-9]+\z}o end def nuget_package_name_regex @@ -128,15 +128,15 @@ def debian_version_regex def debian_architecture_regex # See official parser: https://git.dpkg.org/cgit/dpkg/dpkg.git/tree/lib/dpkg/arch.c?id=9e0c88ec09475f4d1addde9cdba1ad7849720356#n43 # But we limit to lower case - @debian_architecture_regex ||= %r{\A#{::Packages::Debian::ARCHITECTURE_REGEX}\z}.freeze + @debian_architecture_regex ||= %r{\A#{::Packages::Debian::ARCHITECTURE_REGEX}\z}o.freeze end def debian_distribution_regex - @debian_distribution_regex ||= %r{\A#{::Packages::Debian::DISTRIBUTION_REGEX}\z}i.freeze + @debian_distribution_regex ||= %r{\A#{::Packages::Debian::DISTRIBUTION_REGEX}\z}io.freeze end def debian_component_regex - @debian_component_regex ||= %r{\A#{::Packages::Debian::COMPONENT_REGEX}\z}.freeze + @debian_component_regex ||= %r{\A#{::Packages::Debian::COMPONENT_REGEX}\z}o.freeze end def helm_channel_regex diff --git a/scripts/perf/query_limiting_report.rb b/scripts/perf/query_limiting_report.rb index 2f263eeb5670..89abc1b301ba 100755 --- a/scripts/perf/query_limiting_report.rb +++ b/scripts/perf/query_limiting_report.rb @@ -124,7 +124,7 @@ def find_code_lines file_lines.each_index do |index| line = file_lines[index] - if line =~ /#{CODE_LINES_SEARCH_STRING}/ + if line =~ /#{CODE_LINES_SEARCH_STRING}/o issue_iid = line.slice(%r{issues/(\d+)\D}, 1) line_number = index + 1 code_line = { diff --git a/scripts/validate_migration_schema b/scripts/validate_migration_schema index dded5c649274..5c3898518440 100755 --- a/scripts/validate_migration_schema +++ b/scripts/validate_migration_schema @@ -87,7 +87,7 @@ class MigrationSchemaValidator def find_migration_version(filename) file_basename = File.basename(filename) - version_match = /\A(?<version>\d{#{VERSION_DIGITS}})_/.match(file_basename) + version_match = /\A(?<version>\d{#{VERSION_DIGITS}})_/o.match(file_basename) die "#{filename} has an invalid migration version" if version_match.nil? diff --git a/spec/features/users/email_verification_on_login_spec.rb b/spec/features/users/email_verification_on_login_spec.rb index 0833f7f6f8ea..c8301c2fc915 100644 --- a/spec/features/users/email_verification_on_login_spec.rb +++ b/spec/features/users/email_verification_on_login_spec.rb @@ -335,7 +335,7 @@ def expect_instructions_email_and_extract_code mail = find_email_for(user) expect(mail.to).to match_array([user.email]) expect(mail.subject).to eq('Verify your identity') - code = mail.body.parts.first.to_s[/\d{#{VerifiesWithEmail::TOKEN_LENGTH}}/] + code = mail.body.parts.first.to_s[/\d{#{VerifiesWithEmail::TOKEN_LENGTH}}/o] reset_delivered_emails! code end diff --git a/spec/models/concerns/token_authenticatable_spec.rb b/spec/models/concerns/token_authenticatable_spec.rb index a2ce02f46611..675315cfa5a1 100644 --- a/spec/models/concerns/token_authenticatable_spec.rb +++ b/spec/models/concerns/token_authenticatable_spec.rb @@ -442,7 +442,7 @@ context 'token is not set' do it 'generates a new token' do - expect(subject).to match(/^#{RunnersTokenPrefixable::RUNNERS_TOKEN_PREFIX}/) + expect(subject).to match(/^#{RunnersTokenPrefixable::RUNNERS_TOKEN_PREFIX}/o) expect(instance).not_to be_persisted end end @@ -453,7 +453,7 @@ end it 'generates a new token' do - expect(subject).to match(/^#{RunnersTokenPrefixable::RUNNERS_TOKEN_PREFIX}/) + expect(subject).to match(/^#{RunnersTokenPrefixable::RUNNERS_TOKEN_PREFIX}/o) expect(instance).not_to be_persisted end end @@ -475,7 +475,7 @@ context 'token is not set' do it 'generates a new token' do - expect(subject).to match(/^#{RunnersTokenPrefixable::RUNNERS_TOKEN_PREFIX}/) + expect(subject).to match(/^#{RunnersTokenPrefixable::RUNNERS_TOKEN_PREFIX}/o) expect(instance).to be_persisted end end @@ -486,7 +486,7 @@ end it 'generates a new token' do - expect(subject).to match(/^#{RunnersTokenPrefixable::RUNNERS_TOKEN_PREFIX}/) + expect(subject).to match(/^#{RunnersTokenPrefixable::RUNNERS_TOKEN_PREFIX}/o) expect(instance).to be_persisted end end diff --git a/spec/services/notes/copy_service_spec.rb b/spec/services/notes/copy_service_spec.rb index fd8802e66408..ea47087b88f3 100644 --- a/spec/services/notes/copy_service_spec.rb +++ b/spec/services/notes/copy_service_spec.rb @@ -146,8 +146,8 @@ new_note = to_noteable.notes.first aggregate_failures do - expect(note.note).to match(/Simple text with image: #{FileUploader::MARKDOWN_PATTERN}/) - expect(new_note.note).to match(/Simple text with image: #{FileUploader::MARKDOWN_PATTERN}/) + expect(note.note).to match(/Simple text with image: #{FileUploader::MARKDOWN_PATTERN}/o) + expect(new_note.note).to match(/Simple text with image: #{FileUploader::MARKDOWN_PATTERN}/o) expect(note.note).not_to eq(new_note.note) expect(note.note_html).not_to eq(new_note.note_html) end -- GitLab