Commit 733ae949 authored by George Tsiolis's avatar George Tsiolis

Fix typos in comments and specs

parent c71c1f03
...@@ -15,7 +15,7 @@ import CommitComponent from '../../vue_shared/components/commit.vue'; ...@@ -15,7 +15,7 @@ import CommitComponent from '../../vue_shared/components/commit.vue';
import eventHub from '../event_hub'; import eventHub from '../event_hub';
/** /**
* Envrionment Item Component * Environment Item Component
* *
* Renders a table row for each environment. * Renders a table row for each environment.
*/ */
...@@ -60,7 +60,7 @@ export default { ...@@ -60,7 +60,7 @@ export default {
computed: { computed: {
/** /**
* Verifies if `last_deployment` key exists in the current Envrionment. * Verifies if `last_deployment` key exists in the current Environment.
* This key is required to render most of the html - this method works has * This key is required to render most of the html - this method works has
* an helper. * an helper.
* *
......
...@@ -85,7 +85,7 @@ export default class FilteredSearchDropdown { ...@@ -85,7 +85,7 @@ export default class FilteredSearchDropdown {
} }
dispatchInputEvent() { dispatchInputEvent() {
// Propogate input change to FilteredSearchDropdownManager // Propagate input change to FilteredSearchDropdownManager
// so that it can determine which dropdowns to open // so that it can determine which dropdowns to open
this.input.dispatchEvent( this.input.dispatchEvent(
new CustomEvent('input', { new CustomEvent('input', {
......
...@@ -28,7 +28,7 @@ export default class GlFieldErrors { ...@@ -28,7 +28,7 @@ export default class GlFieldErrors {
this.form.on('submit', GlFieldErrors.catchInvalidFormSubmit); this.form.on('submit', GlFieldErrors.catchInvalidFormSubmit);
} }
/* Neccessary to prevent intercept and override invalid form submit /* Necessary to prevent intercept and override invalid form submit
* because Safari & iOS quietly allow form submission when form is invalid * because Safari & iOS quietly allow form submission when form is invalid
* and prevents disabling of invalid submit button by application.js */ * and prevents disabling of invalid submit button by application.js */
......
...@@ -110,7 +110,7 @@ export default { ...@@ -110,7 +110,7 @@ export default {
// Get the remaining list to use in `and x more` text. // Get the remaining list to use in `and x more` text.
const remainingAwardList = awardList.slice(TOOLTIP_NAME_COUNT, awardList.length); const remainingAwardList = awardList.slice(TOOLTIP_NAME_COUNT, awardList.length);
// Add myself to the begining of the list so title will start with You. // Add myself to the beginning of the list so title will start with You.
if (hasReactionByCurrentUser) { if (hasReactionByCurrentUser) {
namesToShow.unshift('You'); namesToShow.unshift('You');
} }
......
...@@ -70,7 +70,7 @@ export const collapseSystemNotes = notes => { ...@@ -70,7 +70,7 @@ export const collapseSystemNotes = notes => {
} else if (lastDescriptionSystemNote) { } else if (lastDescriptionSystemNote) {
const timeDifferenceMinutes = getTimeDifferenceMinutes(lastDescriptionSystemNote, note); const timeDifferenceMinutes = getTimeDifferenceMinutes(lastDescriptionSystemNote, note);
// are they less than 10 minutes appart? // are they less than 10 minutes apart?
if (timeDifferenceMinutes > 10) { if (timeDifferenceMinutes > 10) {
// reset counter // reset counter
descriptionChangedTimes = 1; descriptionChangedTimes = 1;
......
...@@ -13,7 +13,7 @@ export default { ...@@ -13,7 +13,7 @@ export default {
}, },
props: { props: {
/** /**
* Indicates the existance of a tag. * Indicates the existence of a tag.
* Used to render the correct icon, if true will render `fa-tag` icon, * Used to render the correct icon, if true will render `fa-tag` icon,
* if false will render a svg sprite fork icon * if false will render a svg sprite fork icon
*/ */
......
...@@ -158,7 +158,7 @@ ...@@ -158,7 +158,7 @@
color: $gl-text-color; color: $gl-text-color;
outline: 0; outline: 0;
// make sure the text color is not overriden // make sure the text color is not overridden
&.text-danger { &.text-danger {
color: $brand-danger; color: $brand-danger;
} }
...@@ -184,7 +184,7 @@ ...@@ -184,7 +184,7 @@
text-align: left; text-align: left;
width: 100%; width: 100%;
// make sure the text color is not overriden // make sure the text color is not overridden
&.text-danger { &.text-danger {
color: $brand-danger; color: $brand-danger;
} }
......
...@@ -33,21 +33,21 @@ class Admin::AppearancesController < Admin::ApplicationController ...@@ -33,21 +33,21 @@ class Admin::AppearancesController < Admin::ApplicationController
@appearance.save @appearance.save
redirect_to admin_appearances_path, notice: 'Logo was succesfully removed.' redirect_to admin_appearances_path, notice: 'Logo was successfully removed.'
end end
def header_logos def header_logos
@appearance.remove_header_logo! @appearance.remove_header_logo!
@appearance.save @appearance.save
redirect_to admin_appearances_path, notice: 'Header logo was succesfully removed.' redirect_to admin_appearances_path, notice: 'Header logo was successfully removed.'
end end
def favicon def favicon
@appearance.remove_favicon! @appearance.remove_favicon!
@appearance.save @appearance.save
redirect_to admin_appearances_path, notice: 'Favicon was succesfully removed.' redirect_to admin_appearances_path, notice: 'Favicon was successfully removed.'
end end
private private
......
...@@ -23,7 +23,7 @@ class Import::GiteaController < Import::GithubController ...@@ -23,7 +23,7 @@ class Import::GiteaController < Import::GithubController
:"#{provider}_host_url" :"#{provider}_host_url"
end end
# Overriden methods # Overridden methods
def provider def provider
:gitea :gitea
end end
......
...@@ -103,7 +103,7 @@ class Import::GithubController < Import::BaseController ...@@ -103,7 +103,7 @@ class Import::GithubController < Import::BaseController
{ github_access_token: session[access_token_key] } { github_access_token: session[access_token_key] }
end end
# The following methods are overriden in subclasses # The following methods are overridden in subclasses
def provider def provider
:github :github
end end
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
class Oauth::AuthorizationsController < Doorkeeper::AuthorizationsController class Oauth::AuthorizationsController < Doorkeeper::AuthorizationsController
layout 'profile' layout 'profile'
# Overriden from Doorkeeper::AuthorizationsController to # Overridden from Doorkeeper::AuthorizationsController to
# include the call to session.delete # include the call to session.delete
def new def new
if pre_auth.authorizable? if pre_auth.authorizable?
......
...@@ -276,7 +276,7 @@ class ProjectsController < Projects::ApplicationController ...@@ -276,7 +276,7 @@ class ProjectsController < Projects::ApplicationController
# rubocop: enable CodeReuse/ActiveRecord # rubocop: enable CodeReuse/ActiveRecord
# Render project landing depending of which features are available # Render project landing depending of which features are available
# So if page is not availble in the list it renders the next page # So if page is not available in the list it renders the next page
# #
# pages list order: repository readme, wiki home, issues list, customize workflow # pages list order: repository readme, wiki home, issues list, customize workflow
def render_landing_page def render_landing_page
......
...@@ -10,7 +10,7 @@ module PageLayoutHelper ...@@ -10,7 +10,7 @@ module PageLayoutHelper
@breadcrumb_title = @page_title.last @breadcrumb_title = @page_title.last
end end
# Segments are seperated by middot # Segments are separated by middot
@page_title.join(" · ") @page_title.join(" · ")
end end
......
...@@ -167,12 +167,12 @@ class CommitStatus < ActiveRecord::Base ...@@ -167,12 +167,12 @@ class CommitStatus < ActiveRecord::Base
false false
end end
# To be overriden when inherrited from # To be overridden when inherrited from
def retryable? def retryable?
false false
end end
# To be overriden when inherrited from # To be overridden when inherrited from
def cancelable? def cancelable?
false false
end end
......
...@@ -12,12 +12,12 @@ module CacheableAttributes ...@@ -12,12 +12,12 @@ module CacheableAttributes
"#{name}:#{Gitlab::VERSION}:#{Rails.version}".freeze "#{name}:#{Gitlab::VERSION}:#{Rails.version}".freeze
end end
# Can be overriden # Can be overridden
def current_without_cache def current_without_cache
last last
end end
# Can be overriden # Can be overridden
def defaults def defaults
{} {}
end end
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
# `delete_all` is efficient as it deletes all rows with a single `DELETE` query. # `delete_all` is efficient as it deletes all rows with a single `DELETE` query.
# #
# It's better to use `delete_all` as our best practice, however, # It's better to use `delete_all` as our best practice, however,
# if external data (e.g. ObjectStorage, FileStorage or Redis) are assosiated with database records, # if external data (e.g. ObjectStorage, FileStorage or Redis) are associated with database records,
# it is difficult to accomplish it. # it is difficult to accomplish it.
# #
# This module defines a format to use `delete_all` and delete associated external data. # This module defines a format to use `delete_all` and delete associated external data.
......
...@@ -363,7 +363,7 @@ module Issuable ...@@ -363,7 +363,7 @@ module Issuable
end end
## ##
# Overriden in MergeRequest # Overridden in MergeRequest
# #
def wipless_title_changed(old_title) def wipless_title_changed(old_title)
old_title != title old_title != title
......
...@@ -94,7 +94,7 @@ module Storage ...@@ -94,7 +94,7 @@ module Storage
if gitlab_shell.mv_namespace(repository_storage, full_path, new_path) if gitlab_shell.mv_namespace(repository_storage, full_path, new_path)
Gitlab::AppLogger.info %Q(Namespace directory "#{full_path}" moved to "#{new_path}") Gitlab::AppLogger.info %Q(Namespace directory "#{full_path}" moved to "#{new_path}")
# Remove namespace directroy async with delay so # Remove namespace directory async with delay so
# GitLab has time to remove all projects first # GitLab has time to remove all projects first
run_after_commit do run_after_commit do
GitlabShellWorker.perform_in(5.minutes, :rm_namespace, repository_storage, new_path) GitlabShellWorker.perform_in(5.minutes, :rm_namespace, repository_storage, new_path)
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# Mounted uploaders are destroyed by carrierwave's after_commit # Mounted uploaders are destroyed by carrierwave's after_commit
# hook. This hook fetches upload location (local vs remote) from # hook. This hook fetches upload location (local vs remote) from
# Upload model. So it's neccessary to make sure that during that # Upload model. So it's necessary to make sure that during that
# after_commit hook model's associated uploads are not deleted yet. # after_commit hook model's associated uploads are not deleted yet.
# IOW we can not use dependent: :destroy : # IOW we can not use dependent: :destroy :
# has_many :uploads, as: :model, dependent: :destroy # has_many :uploads, as: :model, dependent: :destroy
......
...@@ -83,7 +83,7 @@ class Namespace < ActiveRecord::Base ...@@ -83,7 +83,7 @@ class Namespace < ActiveRecord::Base
find_by('lower(path) = :value', value: path.downcase) find_by('lower(path) = :value', value: path.downcase)
end end
# Case insensetive search for namespace by path or name # Case insensitive search for namespace by path or name
def find_by_path_or_name(path) def find_by_path_or_name(path)
find_by("lower(path) = :path OR lower(name) = :path", path: path.downcase) find_by("lower(path) = :path OR lower(name) = :path", path: path.downcase)
end end
......
...@@ -665,7 +665,7 @@ class Project < ActiveRecord::Base ...@@ -665,7 +665,7 @@ class Project < ActiveRecord::Base
remove_import_data remove_import_data
end end
# This method is overriden in EE::Project model # This method is overridden in EE::Project model
def remove_import_data def remove_import_data
import_data&.destroy import_data&.destroy
end end
......
...@@ -9,7 +9,7 @@ class IssueTrackerService < Service ...@@ -9,7 +9,7 @@ class IssueTrackerService < Service
# Override this method on services that uses different patterns # Override this method on services that uses different patterns
# This pattern does not support cross-project references # This pattern does not support cross-project references
# The other code assumes that this pattern is a superset of all # The other code assumes that this pattern is a superset of all
# overriden patterns. See ReferenceRegexes::EXTERNAL_PATTERN # overridden patterns. See ReferenceRegexes::EXTERNAL_PATTERN
def self.reference_pattern(only_long: false) def self.reference_pattern(only_long: false)
if only_long if only_long
/(\b[A-Z][A-Z0-9_]+-)(?<issue>\d+)/ /(\b[A-Z][A-Z0-9_]+-)(?<issue>\d+)/
......
...@@ -99,7 +99,7 @@ module Auth ...@@ -99,7 +99,7 @@ module Auth
## ##
# Because we do not have two way communication with registry yet, # Because we do not have two way communication with registry yet,
# we create a container repository image resource when push to the # we create a container repository image resource when push to the
# registry is successfuly authorized. # registry is successfully authorized.
# #
def ensure_container_repository!(path, actions) def ensure_container_repository!(path, actions)
return if path.has_repository? return if path.has_repository?
......
...@@ -6,7 +6,7 @@ module Keys ...@@ -6,7 +6,7 @@ module Keys
key.destroy if destroy_possible?(key) key.destroy if destroy_possible?(key)
end end
# overriden in EE::Keys::DestroyService # overridden in EE::Keys::DestroyService
def destroy_possible?(key) def destroy_possible?(key)
true true
end end
......
...@@ -10,7 +10,7 @@ module Members ...@@ -10,7 +10,7 @@ module Members
end end
def after_execute(args) def after_execute(args)
# overriden in EE::Members modules # overridden in EE::Members modules
end end
private private
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
# NOTE: This service cannot be used directly because it is part of a # NOTE: This service cannot be used directly because it is part of a
# a bigger process. Instead, use the service MoveAccessService which moves # a bigger process. Instead, use the service MoveAccessService which moves
# project memberships, project group links, authorizations and refreshes # project memberships, project group links, authorizations and refreshes
# the authorizations if neccessary # the authorizations if necessary
module Projects module Projects
class MoveProjectAuthorizationsService < BaseMoveRelationsService class MoveProjectAuthorizationsService < BaseMoveRelationsService
def execute(source_project, remove_remaining_elements: true) def execute(source_project, remove_remaining_elements: true)
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
# NOTE: This service cannot be used directly because it is part of a # NOTE: This service cannot be used directly because it is part of a
# a bigger process. Instead, use the service MoveAccessService which moves # a bigger process. Instead, use the service MoveAccessService which moves
# project memberships, project group links, authorizations and refreshes # project memberships, project group links, authorizations and refreshes
# the authorizations if neccessary # the authorizations if necessary
module Projects module Projects
class MoveProjectGroupLinksService < BaseMoveRelationsService class MoveProjectGroupLinksService < BaseMoveRelationsService
def execute(source_project, remove_remaining_elements: true) def execute(source_project, remove_remaining_elements: true)
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
# NOTE: This service cannot be used directly because it is part of a # NOTE: This service cannot be used directly because it is part of a
# a bigger process. Instead, use the service MoveAccessService which moves # a bigger process. Instead, use the service MoveAccessService which moves
# project memberships, project group links, authorizations and refreshes # project memberships, project group links, authorizations and refreshes
# the authorizations if neccessary # the authorizations if necessary
module Projects module Projects
class MoveProjectMembersService < BaseMoveRelationsService class MoveProjectMembersService < BaseMoveRelationsService
def execute(source_project, remove_remaining_elements: true) def execute(source_project, remove_remaining_elements: true)
......
...@@ -433,14 +433,14 @@ module QuickActions ...@@ -433,14 +433,14 @@ module QuickActions
end end
end end
desc 'Add or substract spent time' desc 'Add or subtract spent time'
explanation do |time_spent, time_spent_date| explanation do |time_spent, time_spent_date|
if time_spent if time_spent
if time_spent > 0 if time_spent > 0
verb = 'Adds' verb = 'Adds'
value = time_spent value = time_spent
else else
verb = 'Substracts' verb = 'Subtracts'
value = -time_spent value = -time_spent
end end
......
...@@ -148,7 +148,7 @@ ...@@ -148,7 +148,7 @@
= link_to 'Archive project', archive_project_path(@project), = link_to 'Archive project', archive_project_path(@project),
data: { confirm: "Are you sure that you want to archive this project?" }, data: { confirm: "Are you sure that you want to archive this project?" },
method: :post, class: "btn btn-warning" method: :post, class: "btn btn-warning"
.sub-section.rename-respository .sub-section.rename-repository
%h4.warning-title %h4.warning-title
Rename repository Rename repository
= render 'projects/errors' = render 'projects/errors'
......
...@@ -14,7 +14,7 @@ module Gitlab ...@@ -14,7 +14,7 @@ module Gitlab
INTERVAL = 30.seconds.to_i INTERVAL = 30.seconds.to_i
# The number of seconds to wait (while blocking the thread) before # The number of seconds to wait (while blocking the thread) before
# continueing to the next waiter. # continuing to the next waiter.
BLOCKING_WAIT_TIME = 5 BLOCKING_WAIT_TIME = 5
# The known importer stages and their corresponding Sidekiq workers. # The known importer stages and their corresponding Sidekiq workers.
......
...@@ -587,7 +587,7 @@ production: &base ...@@ -587,7 +587,7 @@ production: &base
gitaly: gitaly:
# Path to the directory containing Gitaly client executables. # Path to the directory containing Gitaly client executables.
client_path: /home/git/gitaly/bin client_path: /home/git/gitaly/bin
# Default Gitaly authentication token. Can be overriden per storage. Can # Default Gitaly authentication token. Can be overridden per storage. Can
# be left blank when Gitaly is running locally on a Unix socket, which # be left blank when Gitaly is running locally on a Unix socket, which
# is the normal way to deploy Gitaly. # is the normal way to deploy Gitaly.
token: token:
......
...@@ -13,7 +13,7 @@ class CleanupMoveSystemUploadFolderSymlink < ActiveRecord::Migration ...@@ -13,7 +13,7 @@ class CleanupMoveSystemUploadFolderSymlink < ActiveRecord::Migration
say "Removing #{old_directory} -> #{new_directory} symlink" say "Removing #{old_directory} -> #{new_directory} symlink"
FileUtils.rm(old_directory) FileUtils.rm(old_directory)
else else
say "Symlink #{old_directory} non existant, nothing to do." say "Symlink #{old_directory} non existent, nothing to do."
end end
end end
......
...@@ -379,7 +379,7 @@ let(:mutation) do ...@@ -379,7 +379,7 @@ let(:mutation) do
) )
end end
it 'returns a successfull response' do it 'returns a successful response' do
post_graphql_mutation(mutation, current_user: user) post_graphql_mutation(mutation, current_user: user)
expect(response).to have_gitlab_http_status(:success) expect(response).to have_gitlab_http_status(:success)
......
...@@ -153,7 +153,7 @@ module ExtractsPath ...@@ -153,7 +153,7 @@ module ExtractsPath
private private
# overriden in subclasses, do not remove # overridden in subclasses, do not remove
def get_id def get_id
id = [params[:id] || params[:ref]] id = [params[:id] || params[:ref]]
id << "/" + params[:path] unless params[:path].blank? id << "/" + params[:path] unless params[:path].blank?
......
...@@ -80,7 +80,7 @@ module Gitlab ...@@ -80,7 +80,7 @@ module Gitlab
end end
# Get the first part of the email address (before @) # Get the first part of the email address (before @)
# In addtion in removes illegal characters # In addition in removes illegal characters
def generate_username(email) def generate_username(email)
email.match(/^[^@]*/)[0].mb_chars.normalize(:kd).gsub(/[^\x00-\x7F]/, '').to_s email.match(/^[^@]*/)[0].mb_chars.normalize(:kd).gsub(/[^\x00-\x7F]/, '').to_s
end end
......
...@@ -3,8 +3,8 @@ ...@@ -3,8 +3,8 @@
module Gitlab module Gitlab
module BackgroundMigration module BackgroundMigration
# Ensures services which previously recieved all notes events continue # Ensures services which previously received all notes events continue
# to recieve confidential ones. # to receive confidential ones.
class SetConfidentialNoteEventsOnServices class SetConfidentialNoteEventsOnServices
class Service < ActiveRecord::Base class Service < ActiveRecord::Base
self.table_name = 'services' self.table_name = 'services'
......
...@@ -3,8 +3,8 @@ ...@@ -3,8 +3,8 @@
module Gitlab module Gitlab
module BackgroundMigration module BackgroundMigration
# Ensures hooks which previously recieved all notes events continue # Ensures hooks which previously received all notes events continue
# to recieve confidential ones. # to receive confidential ones.
class SetConfidentialNoteEventsOnWebhooks class SetConfidentialNoteEventsOnWebhooks
class WebHook < ActiveRecord::Base class WebHook < ActiveRecord::Base
self.table_name = 'web_hooks' self.table_name = 'web_hooks'
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
# * Publishes the documentation for `master` branch. # * Publishes the documentation for `master` branch.
variables: variables:
# This will supress any download for dependencies and plugins or upload messages which would clutter the console log. # This will suppress any download for dependencies and plugins or upload messages which would clutter the console log.
# `showDateTime` will show the passed time in milliseconds. You need to specify `--batch-mode` to make this work. # `showDateTime` will show the passed time in milliseconds. You need to specify `--batch-mode` to make this work.
MAVEN_OPTS: "-Dhttps.protocols=TLSv1.2 -Dmaven.repo.local=$CI_PROJECT_DIR/.m2/repository -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=WARN -Dorg.slf4j.simpleLogger.showDateTime=true -Djava.awt.headless=true" MAVEN_OPTS: "-Dhttps.protocols=TLSv1.2 -Dmaven.repo.local=$CI_PROJECT_DIR/.m2/repository -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=WARN -Dorg.slf4j.simpleLogger.showDateTime=true -Djava.awt.headless=true"
# As of Maven 3.3.0 instead of this you may define these options in `.mvn/maven.config` so the same config is used # As of Maven 3.3.0 instead of this you may define these options in `.mvn/maven.config` so the same config is used
......
...@@ -879,7 +879,7 @@ module Gitlab ...@@ -879,7 +879,7 @@ module Gitlab
columns(table).find { |column| column.name == name } columns(table).find { |column| column.name == name }
end end
# This will replace the first occurance of a string in a column with # This will replace the first occurrence of a string in a column with
# the replacement # the replacement
# On postgresql we can use `regexp_replace` for that. # On postgresql we can use `regexp_replace` for that.
# On mysql we find the location of the pattern, and overwrite it # On mysql we find the location of the pattern, and overwrite it
......
...@@ -24,7 +24,7 @@ module Gitlab ...@@ -24,7 +24,7 @@ module Gitlab
# head of `feature` was commit B, resulting in the original diff A->B. # head of `feature` was commit B, resulting in the original diff A->B.
# Since creation, `master` was updated to C. # Since creation, `master` was updated to C.
# Now `feature` is being updated to D, and the newly generated MR diff is C->D. # Now `feature` is being updated to D, and the newly generated MR diff is C->D.
# It is possible that C and D are direct decendants of A and B respectively, # It is possible that C and D are direct descendants of A and B respectively,
# but this isn't necessarily the case as rebases and merges come into play. # but this isn't necessarily the case as rebases and merges come into play.
# #
# Suppose we have a diff note on the original diff A->B. Now that the MR # Suppose we have a diff note on the original diff A->B. Now that the MR
......
...@@ -349,7 +349,7 @@ module Gitlab ...@@ -349,7 +349,7 @@ module Gitlab
f.write(message.data) f.write(message.data)
end end
end end
# If the file is empty means that we recieved an empty stream, we delete the file # If the file is empty means that we received an empty stream, we delete the file
FileUtils.rm(save_path) if File.zero?(save_path) FileUtils.rm(save_path) if File.zero?(save_path)
end end
......
...@@ -154,7 +154,7 @@ module Gitlab ...@@ -154,7 +154,7 @@ module Gitlab
Project.transaction do Project.transaction do
process_sub_relation(relation, relation_item) process_sub_relation(relation, relation_item)
# For every subrelation that hangs from Project, save the associated records alltogether # For every subrelation that hangs from Project, save the associated records altogether
# This effectively batches all records per subrelation item, only keeping those in memory # This effectively batches all records per subrelation item, only keeping those in memory
# We have to keep in mind that more batch granularity << Memory, but >> Slowness # We have to keep in mind that more batch granularity << Memory, but >> Slowness
if save if save
......
...@@ -236,7 +236,7 @@ module Gitlab ...@@ -236,7 +236,7 @@ module Gitlab
def single_line_regexp(regex) def single_line_regexp(regex)
# Turns a multiline extended regexp into a single line one, # Turns a multiline extended regexp into a single line one,
# beacuse `rake routes` breaks on multiline regexes. # because `rake routes` breaks on multiline regexes.
Regexp.new(regex.source.gsub(/\(\?#.+?\)/, '').gsub(/\s*/, ''), regex.options ^ Regexp::EXTENDED).freeze Regexp.new(regex.source.gsub(/\(\?#.+?\)/, '').gsub(/\s*/, ''), regex.options ^ Regexp::EXTENDED).freeze
end end
end end
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
# of the global setting allow_local_requests_from_hooks_and_services this adapter # of the global setting allow_local_requests_from_hooks_and_services this adapter
# will allow/block connection to internal IPs and/or urls. # will allow/block connection to internal IPs and/or urls.
# #
# This functionality can be overriden by providing the setting the option # This functionality can be overridden by providing the setting the option
# allow_local_requests = true in the request. For example: # allow_local_requests = true in the request. For example:
# Gitlab::HTTP.get('http://www.gitlab.com', allow_local_requests: true) # Gitlab::HTTP.get('http://www.gitlab.com', allow_local_requests: true)
# #
......
...@@ -3,7 +3,7 @@ module Gitlab ...@@ -3,7 +3,7 @@ module Gitlab
class IssueNew < IssueCommand class IssueNew < IssueCommand
def self.match(text) def self.match(text)
# we can not match \n with the dot by passing the m modifier as than # we can not match \n with the dot by passing the m modifier as than
# the title and description are not seperated # the title and description are not separated
/\Aissue\s+(new|create)\s+(?<title>[^\n]*)\n*(?<description>(.|\n)*)/.match(text) /\Aissue\s+(new|create)\s+(?<title>[^\n]*)\n*(?<description>(.|\n)*)/.match(text)
end end
......
# frozen_string_literal: true # frozen_string_literal: true
# This class extracts all users found in a piece of text by the username or the # This class extracts all users found in a piece of text by the username or the
# email adress # email address
module Gitlab module Gitlab
class UserExtractor class UserExtractor
......
...@@ -16,7 +16,7 @@ module GoogleApi ...@@ -16,7 +16,7 @@ module GoogleApi
client.auth_code.authorize_url( client.auth_code.authorize_url(
redirect_uri: redirect_uri, redirect_uri: redirect_uri,
scope: scope, scope: scope,
state: state # This is used for arbitary redirection state: state # This is used for arbitrary redirection
) )
end end
......
...@@ -32,32 +32,32 @@ module Trigger ...@@ -32,32 +32,32 @@ module Trigger
private private
# Must be overriden # Must be overridden
def downstream_project_path def downstream_project_path
raise NotImplementedError raise NotImplementedError
end end
# Must be overriden # Must be overridden
def ref def ref
raise NotImplementedError raise NotImplementedError
end end
# Must be overriden # Must be overridden
def trigger_token def trigger_token
raise NotImplementedError raise NotImplementedError
end end
# Must be overriden # Must be overridden
def access_token def access_token
raise NotImplementedError raise NotImplementedError
end end
# Can be overriden # Can be overridden
def extra_variables def extra_variables
{} {}
end end
# Can be overriden # Can be overridden
def version_param_value(version_file) def version_param_value(version_file)
File.read(version_file).strip File.read(version_file).strip
end end
......
...@@ -63,7 +63,7 @@ describe Groups::MilestonesController do ...@@ -63,7 +63,7 @@ describe Groups::MilestonesController do
let(:group_milestone) { create(:milestone, group: group) } let(:group_milestone) { create(:milestone, group: group) }
context 'when there is a title parameter' do context 'when there is a title parameter' do
it 'searchs for a legacy group milestone' do it 'searches for a legacy group milestone' do
expect(GlobalMilestone).to receive(:build) expect(GlobalMilestone).to receive(:build)
expect(Milestone).not_to receive(:find_by_iid) expect(Milestone).not_to receive(:find_by_iid)
...@@ -72,7 +72,7 @@ describe Groups::MilestonesController do ...@@ -72,7 +72,7 @@ describe Groups::MilestonesController do
end end
context 'when there is not a title parameter' do context 'when there is not a title parameter' do
it 'searchs for a group milestone' do it 'searches for a group milestone' do
expect(GlobalMilestone).not_to receive(:build) expect(GlobalMilestone).not_to receive(:build)
expect(Milestone).to receive(:find_by_iid) expect(Milestone).to receive(:find_by_iid)
......
...@@ -529,7 +529,7 @@ describe GroupsController do ...@@ -529,7 +529,7 @@ describe GroupsController do
sign_in(user) sign_in(user)
end end
context 'when transfering to a subgroup goes right' do context 'when transferring to a subgroup goes right' do
let(:new_parent_group) { create(:group, :public) } let(:new_parent_group) { create(:group, :public) }
let!(:group_member) { create(:group_member, :owner, group: group, user: user) } let!(:group_member) { create(:group_member, :owner, group: group, user: user) }
let!(:new_parent_group_member) { create(:group_member, :owner, group: new_parent_group, user: user) } let!(:new_parent_group_member) { create(:group_member, :owner, group: new_parent_group, user: user) }
......
...@@ -4,7 +4,7 @@ describe Profiles::KeysController do ...@@ -4,7 +4,7 @@ describe Profiles::KeysController do
let(:user) { create(:user) } let(:user) { create(:user) }
describe "#get_keys" do describe "#get_keys" do
describe "non existant user" do describe "non existent user" do
it "does not generally work" do it "does not generally work" do
get :get_keys, username: 'not-existent' get :get_keys, username: 'not-existent'
......
...@@ -216,7 +216,7 @@ describe Projects::EnvironmentsController do ...@@ -216,7 +216,7 @@ describe Projects::EnvironmentsController do
expect(response).to have_gitlab_http_status(200) expect(response).to have_gitlab_http_status(200)
end end
it 'loads the terminals for the enviroment' do it 'loads the terminals for the environment' do
expect_any_instance_of(Environment).to receive(:terminals) expect_any_instance_of(Environment).to receive(:terminals)
get :terminal, environment_params get :terminal, environment_params
......
...@@ -786,7 +786,7 @@ describe Projects::MergeRequestsController do ...@@ -786,7 +786,7 @@ describe Projects::MergeRequestsController do
merge_request.mark_as_merged! merge_request.mark_as_merged!
end end
it 'returns the enviroment on the source project' do it 'returns the environment on the source project' do
get_ci_environments_status(environment_target: 'merge_commit') get_ci_environments_status(environment_target: 'merge_commit')
expect(response).to have_gitlab_http_status(:ok) expect(response).to have_gitlab_http_status(:ok)
......
...@@ -33,7 +33,7 @@ RSpec.describe 'Dashboard Archived Project' do ...@@ -33,7 +33,7 @@ RSpec.describe 'Dashboard Archived Project' do
expect(page).not_to have_content(project.name) expect(page).not_to have_content(project.name)
end end
it 'searchs archived projects', :js do it 'searches archived projects', :js do
click_button 'Last updated' click_button 'Last updated'
click_link 'Show archived projects' click_link 'Show archived projects'
......
...@@ -22,7 +22,7 @@ describe 'Import multiple repositories by uploading a manifest file', :js, :post ...@@ -22,7 +22,7 @@ describe 'Import multiple repositories by uploading a manifest file', :js, :post
expect(page).to have_content('https://android-review.googlesource.com/platform/build/blueprint') expect(page).to have_content('https://android-review.googlesource.com/platform/build/blueprint')
end end
it 'imports succesfully imports a project' do it 'imports successfully imports a project' do
visit new_import_manifest_path visit new_import_manifest_path
attach_file('manifest', Rails.root.join('spec/fixtures/aosp_manifest.xml')) attach_file('manifest', Rails.root.join('spec/fixtures/aosp_manifest.xml'))
......
...@@ -15,7 +15,7 @@ describe 'GFM autocomplete', :js do ...@@ -15,7 +15,7 @@ describe 'GFM autocomplete', :js do
wait_for_requests wait_for_requests
end end
it 'updates issue descripton with GFM reference' do it 'updates issue description with GFM reference' do
find('.js-issuable-edit').click find('.js-issuable-edit').click
simulate_input('#issue-description', "@#{user.name[0...3]}") simulate_input('#issue-description', "@#{user.name[0...3]}")
......
...@@ -19,7 +19,7 @@ describe 'Pipeline Badge' do ...@@ -19,7 +19,7 @@ describe 'Pipeline Badge' do
let!(:pipeline) { create(:ci_empty_pipeline, project: project, ref: ref, sha: project.commit(ref).sha) } let!(:pipeline) { create(:ci_empty_pipeline, project: project, ref: ref, sha: project.commit(ref).sha) }
let!(:job) { create(:ci_build, pipeline: pipeline) } let!(:job) { create(:ci_build, pipeline: pipeline) }
context 'when the pipeline was successfull' do context 'when the pipeline was successful' do
it 'displays so on the badge' do it 'displays so on the badge' do
job.success job.success
......
...@@ -40,7 +40,7 @@ describe 'Clusters', :js do ...@@ -40,7 +40,7 @@ describe 'Clusters', :js do
expect(page).to have_selector('.js-project-feature-toggle') expect(page).to have_selector('.js-project-feature-toggle')
end end
context 'with sucessfull request' do context 'with successful request' do
it 'user sees updated cluster' do it 'user sees updated cluster' do
expect do expect do
page.find('.js-project-feature-toggle').click page.find('.js-project-feature-toggle').click
......
...@@ -16,7 +16,7 @@ describe 'Projects > Files > User creates files' do ...@@ -16,7 +16,7 @@ describe 'Projects > Files > User creates files' do
sign_in(user) sign_in(user)
end end
context 'without commiting a new file' do context 'without committing a new file' do
context 'when an user has write access' do context 'when an user has write access' do
before do before do
visit(project_tree_path_root_ref) visit(project_tree_path_root_ref)
...@@ -49,7 +49,7 @@ describe 'Projects > Files > User creates files' do ...@@ -49,7 +49,7 @@ describe 'Projects > Files > User creates files' do
end end
end end
context 'with commiting a new file' do context 'with committing a new file' do
context 'when an user has write access' do context 'when an user has write access' do
before do before do
visit(project_tree_path_root_ref) visit(project_tree_path_root_ref)
......
...@@ -219,7 +219,7 @@ describe('AwardsHandler', function() { ...@@ -219,7 +219,7 @@ describe('AwardsHandler', function() {
expect($thumbsUpEmoji.data('originalTitle')).toBe('You, sam, jerry, max, and andy'); expect($thumbsUpEmoji.data('originalTitle')).toBe('You, sam, jerry, max, and andy');
}); });
it('handles the special case where "You" is not cleanly comma seperated', function() { it('handles the special case where "You" is not cleanly comma separated', function() {
const awardUrl = awardsHandler.getAwardUrl(); const awardUrl = awardsHandler.getAwardUrl();
const $votesBlock = $('.js-awards-block').eq(0); const $votesBlock = $('.js-awards-block').eq(0);
const $thumbsUpEmoji = $votesBlock.find('[data-name=thumbsup]').parent(); const $thumbsUpEmoji = $votesBlock.find('[data-name=thumbsup]').parent();
...@@ -244,7 +244,7 @@ describe('AwardsHandler', function() { ...@@ -244,7 +244,7 @@ describe('AwardsHandler', function() {
expect($thumbsUpEmoji.data('originalTitle')).toBe('sam, jerry, max, and andy'); expect($thumbsUpEmoji.data('originalTitle')).toBe('sam, jerry, max, and andy');
}); });
it('handles the special case where "You" is not cleanly comma seperated', function() { it('handles the special case where "You" is not cleanly comma separated', function() {
const awardUrl = awardsHandler.getAwardUrl(); const awardUrl = awardsHandler.getAwardUrl();
const $votesBlock = $('.js-awards-block').eq(0); const $votesBlock = $('.js-awards-block').eq(0);
const $thumbsUpEmoji = $votesBlock.find('[data-name=thumbsup]').parent(); const $thumbsUpEmoji = $votesBlock.find('[data-name=thumbsup]').parent();
......
...@@ -22,7 +22,7 @@ describe('Commit pipeline status component', () => { ...@@ -22,7 +22,7 @@ describe('Commit pipeline status component', () => {
Component = Vue.extend(commitPipelineStatus); Component = Vue.extend(commitPipelineStatus);
}); });
describe('While polling pipeline data succesfully', () => { describe('While polling pipeline data successfully', () => {
beforeEach(() => { beforeEach(() => {
mock = new MockAdapter(axios); mock = new MockAdapter(axios);
mock.onGet('/dummy/endpoint').reply(() => { mock.onGet('/dummy/endpoint').reply(() => {
...@@ -59,14 +59,14 @@ describe('Commit pipeline status component', () => { ...@@ -59,14 +59,14 @@ describe('Commit pipeline status component', () => {
}); });
}); });
it('contains a ciStatus when the polling is succesful ', done => { it('contains a ciStatus when the polling is successful ', done => {
setTimeout(() => { setTimeout(() => {
expect(vm.ciStatus).toEqual(mockCiStatus); expect(vm.ciStatus).toEqual(mockCiStatus);
done(); done();
}); });
}); });
it('contains a ci-status icon when polling is succesful', done => { it('contains a ci-status icon when polling is successful', done => {
setTimeout(() => { setTimeout(() => {
expect(vm.$el.querySelector('.ci-status-icon')).not.toBe(null); expect(vm.$el.querySelector('.ci-status-icon')).not.toBe(null);
expect(vm.$el.querySelector('.ci-status-icon').classList).toContain( expect(vm.$el.querySelector('.ci-status-icon').classList).toContain(
...@@ -77,7 +77,7 @@ describe('Commit pipeline status component', () => { ...@@ -77,7 +77,7 @@ describe('Commit pipeline status component', () => {
}); });
}); });
describe('When polling data was not succesful', () => { describe('When polling data was not successful', () => {
beforeEach(() => { beforeEach(() => {
mock = new MockAdapter(axios); mock = new MockAdapter(axios);
mock.onGet('/dummy/endpoint').reply(502, {}); mock.onGet('/dummy/endpoint').reply(502, {});
......
...@@ -31,7 +31,7 @@ describe('Environment', () => { ...@@ -31,7 +31,7 @@ describe('Environment', () => {
mock.restore(); mock.restore();
}); });
describe('successfull request', () => { describe('successful request', () => {
describe('without environments', () => { describe('without environments', () => {
beforeEach((done) => { beforeEach((done) => {
mock.onGet(mockData.endpoint).reply(200, { environments: [] }); mock.onGet(mockData.endpoint).reply(200, { environments: [] });
......
...@@ -30,7 +30,7 @@ describe('Environments Folder View', () => { ...@@ -30,7 +30,7 @@ describe('Environments Folder View', () => {
component.$destroy(); component.$destroy();
}); });
describe('successfull request', () => { describe('successful request', () => {
beforeEach(() => { beforeEach(() => {
mock.onGet(mockData.endpoint).reply(200, { mock.onGet(mockData.endpoint).reply(200, {
environments: environmentsList, environments: environmentsList,
......
...@@ -52,7 +52,7 @@ describe('Job App ', () => { ...@@ -52,7 +52,7 @@ describe('Job App ', () => {
}); });
}); });
describe('with successfull request', () => { describe('with successful request', () => {
beforeEach(() => { beforeEach(() => {
mock.onGet(`${props.pagePath}/trace.json`).replyOnce(200, {}); mock.onGet(`${props.pagePath}/trace.json`).replyOnce(200, {});
}); });
......
...@@ -199,11 +199,11 @@ describe('datefix', () => { ...@@ -199,11 +199,11 @@ describe('datefix', () => {
expect(datetimeUtility.pad(2)).toEqual('02'); expect(datetimeUtility.pad(2)).toEqual('02');
}); });
it('should not add a zero when lenght matches the default', () => { it('should not add a zero when length matches the default', () => {
expect(datetimeUtility.pad(12)).toEqual('12'); expect(datetimeUtility.pad(12)).toEqual('12');
}); });
it('should add a 0 when lenght is smaller than the provided', () => { it('should add a 0 when length is smaller than the provided', () => {
expect(datetimeUtility.pad(12, 3)).toEqual('012'); expect(datetimeUtility.pad(12, 3)).toEqual('012');
}); });
}); });
......
...@@ -120,7 +120,7 @@ describe('text_utility', () => { ...@@ -120,7 +120,7 @@ describe('text_utility', () => {
}); });
describe('getFirstCharacterCapitalized', () => { describe('getFirstCharacterCapitalized', () => {
it('returns the first character captialized, if first character is alphabetic', () => { it('returns the first character capitalized, if first character is alphabetic', () => {
expect(textUtils.getFirstCharacterCapitalized('loremIpsumDolar')).toEqual('L'); expect(textUtils.getFirstCharacterCapitalized('loremIpsumDolar')).toEqual('L');
expect(textUtils.getFirstCharacterCapitalized('Sit amit !')).toEqual('S'); expect(textUtils.getFirstCharacterCapitalized('Sit amit !')).toEqual('S');
}); });
......
...@@ -78,7 +78,7 @@ describe('Notes Store mutations', () => { ...@@ -78,7 +78,7 @@ describe('Notes Store mutations', () => {
}); });
describe('COLLAPSE_DISCUSSION', () => { describe('COLLAPSE_DISCUSSION', () => {
it('should collpase an expanded discussion', () => { it('should collapse an expanded discussion', () => {
const discussion = Object.assign({}, discussionMock, { expanded: true }); const discussion = Object.assign({}, discussionMock, { expanded: true });
const state = { const state = {
......
...@@ -24,7 +24,7 @@ describe('Pipelines Empty State', () => { ...@@ -24,7 +24,7 @@ describe('Pipelines Empty State', () => {
expect(component.$el.querySelector('.svg-content svg')).toBeDefined(); expect(component.$el.querySelector('.svg-content svg')).toBeDefined();
}); });
it('should render emtpy state information', () => { it('should render empty state information', () => {
expect(component.$el.querySelector('h4').textContent).toContain('Build with confidence'); expect(component.$el.querySelector('h4').textContent).toContain('Build with confidence');
expect( expect(
......
...@@ -50,7 +50,7 @@ describe('pipeline graph action component', () => { ...@@ -50,7 +50,7 @@ describe('pipeline graph action component', () => {
}); });
describe('on click', () => { describe('on click', () => {
it('emits `pipelineActionRequestComplete` after a successfull request', done => { it('emits `pipelineActionRequestComplete` after a successful request', done => {
spyOn(component, '$emit'); spyOn(component, '$emit');
component.$el.click(); component.$el.click();
......
...@@ -372,7 +372,7 @@ describe('Pipelines', () => { ...@@ -372,7 +372,7 @@ describe('Pipelines', () => {
}); });
}); });
describe('successfull request', () => { describe('successful request', () => {
describe('with pipelines', () => { describe('with pipelines', () => {
beforeEach(() => { beforeEach(() => {
mock.onGet('twitter/flight/pipelines.json').reply(200, pipelines); mock.onGet('twitter/flight/pipelines.json').reply(200, pipelines);
...@@ -667,7 +667,7 @@ describe('Pipelines', () => { ...@@ -667,7 +667,7 @@ describe('Pipelines', () => {
}); });
}); });
it('returns false when state is emtpy state', done => { it('returns false when state is empty state', done => {
vm.isLoading = false; vm.isLoading = false;
vm.hasMadeRequest = true; vm.hasMadeRequest = true;
vm.hasGitlabCi = false; vm.hasGitlabCi = false;
......
...@@ -40,7 +40,7 @@ describe('Pipelines stage component', () => { ...@@ -40,7 +40,7 @@ describe('Pipelines stage component', () => {
expect(component.$el.querySelector('button').getAttribute('data-toggle')).toEqual('dropdown'); expect(component.$el.querySelector('button').getAttribute('data-toggle')).toEqual('dropdown');
}); });
describe('with successfull request', () => { describe('with successful request', () => {
beforeEach(() => { beforeEach(() => {
mock.onGet('path.json').reply(200, stageReply); mock.onGet('path.json').reply(200, stageReply);
}); });
......
...@@ -69,7 +69,7 @@ describe('MRWidgetMerged', () => { ...@@ -69,7 +69,7 @@ describe('MRWidgetMerged', () => {
expect(vm.shouldShowRemoveSourceBranch).toEqual(true); expect(vm.shouldShowRemoveSourceBranch).toEqual(true);
}); });
it('returns false wehn sourceBranchRemoved is true', () => { it('returns false when sourceBranchRemoved is true', () => {
vm.mr.sourceBranchRemoved = true; vm.mr.sourceBranchRemoved = true;
expect(vm.shouldShowRemoveSourceBranch).toEqual(false); expect(vm.shouldShowRemoveSourceBranch).toEqual(false);
......
...@@ -41,7 +41,7 @@ describe('Filtered search dropdown', () => { ...@@ -41,7 +41,7 @@ describe('Filtered search dropdown', () => {
}); });
}); });
describe('when visible number is bigger than the items lenght', () => { describe('when visible number is bigger than the items length', () => {
beforeEach(() => { beforeEach(() => {
vm = mountComponent(Component, { vm = mountComponent(Component, {
items: [{ title: 'One' }, { title: 'Two' }, { title: 'Three' }], items: [{ title: 'One' }, { title: 'Two' }, { title: 'Three' }],
......
...@@ -44,7 +44,7 @@ describe('User Avatar Link Component', function() { ...@@ -44,7 +44,7 @@ describe('User Avatar Link Component', function() {
expect(this.userAvatarLink.$el.querySelector('img')).not.toBeNull(); expect(this.userAvatarLink.$el.querySelector('img')).not.toBeNull();
}); });
it('should return neccessary props as defined', function() { it('should return necessary props as defined', function() {
_.each(this.propsData, (val, key) => { _.each(this.propsData, (val, key) => {
expect(this.userAvatarLink[key]).toBeDefined(); expect(this.userAvatarLink[key]).toBeDefined();
}); });
......
...@@ -76,7 +76,7 @@ describe Banzai::Filter::AutolinkFilter do ...@@ -76,7 +76,7 @@ describe Banzai::Filter::AutolinkFilter do
expect(doc.at_css('a')['href']).to eq link expect(doc.at_css('a')['href']).to eq link
end end
it 'autolinks multiple occurences of smb' do it 'autolinks multiple occurrences of smb' do
link1 = 'smb:///Volumes/shared/foo.pdf' link1 = 'smb:///Volumes/shared/foo.pdf'
link2 = 'smb:///Volumes/shared/bar.pdf' link2 = 'smb:///Volumes/shared/bar.pdf'
......
...@@ -226,7 +226,7 @@ describe Banzai::Filter::RelativeLinkFilter do ...@@ -226,7 +226,7 @@ describe Banzai::Filter::RelativeLinkFilter do
let(:ref) {'mark#\'@],+;-._/#@!$&()+down'} let(:ref) {'mark#\'@],+;-._/#@!$&()+down'}
it 'correctly escapes the ref' do it 'correctly escapes the ref' do
# Adressable won't escape the '#', so we do this manually # Addressable won't escape the '#', so we do this manually
ref_escaped = 'mark%23\'@%5D,+;-._/%23@!$&()+down' ref_escaped = 'mark%23\'@%5D,+;-._/%23@!$&()+down'
# Stub this method so the branch doesn't actually need to be in the repo # Stub this method so the branch doesn't actually need to be in the repo
......
...@@ -64,7 +64,7 @@ describe ContainerRegistry::Blob do ...@@ -64,7 +64,7 @@ describe ContainerRegistry::Blob do
.to_return(status: 200) .to_return(status: 200)
end end
it 'returns true when blob has been successfuly deleted' do it 'returns true when blob has been successfully deleted' do
expect(blob.delete).to be_truthy expect(blob.delete).to be_truthy
end end
end end
......
...@@ -118,7 +118,7 @@ describe Gitlab::BackgroundMigration::CreateForkNetworkMembershipsRange, :migrat ...@@ -118,7 +118,7 @@ describe Gitlab::BackgroundMigration::CreateForkNetworkMembershipsRange, :migrat
expect(fork_network_members.count).to eq(12) expect(fork_network_members.count).to eq(12)
end end
it 'knows when not all memberships withing a batch have been created' do it 'knows when not all memberships within a batch have been created' do
expect(migration.missing_members?(8, 10)).to be_truthy expect(migration.missing_members?(8, 10)).to be_truthy
end end
end end
......
...@@ -68,7 +68,7 @@ describe Gitlab::Checks::LfsIntegrity do ...@@ -68,7 +68,7 @@ describe Gitlab::Checks::LfsIntegrity do
expect(subject.objects_missing?).to be_truthy expect(subject.objects_missing?).to be_truthy
end end
it 'is false parent project already conatins LFS objects for the fork' do it 'is false parent project already contains LFS objects for the fork' do
lfs_object = create(:lfs_object, oid: blob_object.lfs_oid) lfs_object = create(:lfs_object, oid: blob_object.lfs_oid)
create(:lfs_objects_project, project: parent_project, lfs_object: lfs_object) create(:lfs_objects_project, project: parent_project, lfs_object: lfs_object)
......
...@@ -7,7 +7,7 @@ describe Gitlab::Ci::Ansi2html do ...@@ -7,7 +7,7 @@ describe Gitlab::Ci::Ansi2html do
expect(convert_html("Hello")).to eq('Hello') expect(convert_html("Hello")).to eq('Hello')
end end
it "strips non-color-changing controll sequences" do it "strips non-color-changing control sequences" do
expect(convert_html("Hello \e[2Kworld")).to eq('Hello world') expect(convert_html("Hello \e[2Kworld")).to eq('Hello world')
end end
......
...@@ -24,7 +24,7 @@ describe Gitlab::Ci::Build::Policy::Variables do ...@@ -24,7 +24,7 @@ describe Gitlab::Ci::Build::Policy::Variables do
expect(policy).to be_satisfied_by(pipeline, seed) expect(policy).to be_satisfied_by(pipeline, seed)
end end
it 'is not satisfied by an overriden empty variable' do it 'is not satisfied by an overridden empty variable' do
policy = described_class.new(['$CI_PROJECT_NAME']) policy = described_class.new(['$CI_PROJECT_NAME'])
expect(policy).not_to be_satisfied_by(pipeline, seed) expect(policy).not_to be_satisfied_by(pipeline, seed)
......
...@@ -219,7 +219,7 @@ describe Gitlab::Ci::Config::Entry::Global do ...@@ -219,7 +219,7 @@ describe Gitlab::Ci::Config::Entry::Global do
## ##
# When nodes are specified but not defined, we assume that # When nodes are specified but not defined, we assume that
# configuration is valid, and we asume that entry is simply undefined, # configuration is valid, and we assume that entry is simply undefined,
# despite the fact, that key is present. See issue #18775 for more # despite the fact, that key is present. See issue #18775 for more
# details. # details.
# #
......
...@@ -50,7 +50,7 @@ describe Gitlab::CrossProjectAccess::CheckInfo do ...@@ -50,7 +50,7 @@ describe Gitlab::CrossProjectAccess::CheckInfo do
expect(info.should_run?(dummy_controller)).to be_truthy expect(info.should_run?(dummy_controller)).to be_truthy
end end
it 'returns the the oposite of #should_skip? when the check is a skip' do it 'returns the the opposite of #should_skip? when the check is a skip' do
info = described_class.new({}, nil, nil, true) info = described_class.new({}, nil, nil, true)
expect(info).to receive(:should_skip?).with(dummy_controller).and_return(false) expect(info).to receive(:should_skip?).with(dummy_controller).and_return(false)
...@@ -101,7 +101,7 @@ describe Gitlab::CrossProjectAccess::CheckInfo do ...@@ -101,7 +101,7 @@ describe Gitlab::CrossProjectAccess::CheckInfo do
expect(info.should_skip?(dummy_controller)).to be_truthy expect(info.should_skip?(dummy_controller)).to be_truthy
end end
it 'returns the the oposite of #should_run? when the check is not a skip' do it 'returns the the opposite of #should_run? when the check is not a skip' do
info = described_class.new({}, nil, nil, false) info = described_class.new({}, nil, nil, false)
expect(info).to receive(:should_run?).with(dummy_controller).and_return(false) expect(info).to receive(:should_run?).with(dummy_controller).and_return(false)
......
...@@ -20,7 +20,7 @@ describe Gitlab::Database::RenameReservedPathsMigration::V1::RenameBase, :delete ...@@ -20,7 +20,7 @@ describe Gitlab::Database::RenameReservedPathsMigration::V1::RenameBase, :delete
end end
describe "#remove_last_ocurrence" do describe "#remove_last_ocurrence" do
it "removes only the last occurance of a string" do it "removes only the last occurrence of a string" do
input = "this/is/a-word-to-replace/namespace/with/a-word-to-replace" input = "this/is/a-word-to-replace/namespace/with/a-word-to-replace"
expect(subject.remove_last_occurrence(input, "a-word-to-replace")) expect(subject.remove_last_occurrence(input, "a-word-to-replace"))
......
...@@ -566,13 +566,13 @@ describe Gitlab::Diff::Position do ...@@ -566,13 +566,13 @@ describe Gitlab::Diff::Position do
end end
end end
context "for text positon" do context "for text position" do
let(:args) { args_for_text } let(:args) { args_for_text }
it_behaves_like "diff position json" it_behaves_like "diff position json"
end end
context "for image positon" do context "for image position" do
let(:args) { args_for_img } let(:args) { args_for_img }
it_behaves_like "diff position json" it_behaves_like "diff position json"
...@@ -592,13 +592,13 @@ describe Gitlab::Diff::Position do ...@@ -592,13 +592,13 @@ describe Gitlab::Diff::Position do
end end
end end
context "for text positon" do context "for text position" do
let(:args) { args_for_text } let(:args) { args_for_text }
it_behaves_like "diff position json" it_behaves_like "diff position json"
end end
context "for image positon" do context "for image position" do
let(:args) { args_for_img } let(:args) { args_for_img }
it_behaves_like "diff position json" it_behaves_like "diff position json"
......
...@@ -43,7 +43,7 @@ describe Gitlab::Diff::PositionTracer do ...@@ -43,7 +43,7 @@ describe Gitlab::Diff::PositionTracer do
# #
# In any case, all of this means that the tests below will be extremely # In any case, all of this means that the tests below will be extremely
# (excessively, unjustifiably) thorough for scenarios where "the file was # (excessively, unjustifiably) thorough for scenarios where "the file was
# created in the old diff" and then drop off to comparitively lackluster # created in the old diff" and then drop off to comparatively lackluster
# testing of other scenarios. # testing of other scenarios.
# #
# I did still try to cover most of the obvious and potentially tricky # I did still try to cover most of the obvious and potentially tricky
......
...@@ -17,7 +17,7 @@ describe Gitlab::Git::AttributesAtRefParser, :seed_helper do ...@@ -17,7 +17,7 @@ describe Gitlab::Git::AttributesAtRefParser, :seed_helper do
end end
it 'handles missing blobs' do it 'handles missing blobs' do
expect { described_class.new(repository, 'non-existant-branch') }.not_to raise_error expect { described_class.new(repository, 'non-existent-branch') }.not_to raise_error
end end
describe '#attributes' do describe '#attributes' do
......
...@@ -96,7 +96,7 @@ describe Gitlab::Gpg do ...@@ -96,7 +96,7 @@ describe Gitlab::Gpg do
expect(described_class.current_home_dir).to eq default_home_dir expect(described_class.current_home_dir).to eq default_home_dir
end end
it 'returns the explicitely set home dir' do it 'returns the explicitly set home dir' do
GPGME::Engine.home_dir = '/tmp/gpg' GPGME::Engine.home_dir = '/tmp/gpg'
expect(described_class.current_home_dir).to eq '/tmp/gpg' expect(described_class.current_home_dir).to eq '/tmp/gpg'
...@@ -104,7 +104,7 @@ describe Gitlab::Gpg do ...@@ -104,7 +104,7 @@ describe Gitlab::Gpg do
GPGME::Engine.home_dir = GPGME::Engine.dirinfo('homedir') GPGME::Engine.home_dir = GPGME::Engine.dirinfo('homedir')
end end
it 'returns the default value when explicitely setting the home dir to nil' do it 'returns the default value when explicitly setting the home dir to nil' do
GPGME::Engine.home_dir = nil GPGME::Engine.home_dir = nil
expect(described_class.current_home_dir).to eq default_home_dir expect(described_class.current_home_dir).to eq default_home_dir
......
...@@ -321,7 +321,7 @@ describe Gitlab::ImportExport::ProjectTreeRestorer do ...@@ -321,7 +321,7 @@ describe Gitlab::ImportExport::ProjectTreeRestorer do
end end
end end
context 'when the project has overriden params in import data' do context 'when the project has overridden params in import data' do
it 'overwrites the params stored in the JSON' do it 'overwrites the params stored in the JSON' do
project.create_import_data(data: { override_params: { description: "Overridden" } }) project.create_import_data(data: { override_params: { description: "Overridden" } })
......
...@@ -40,7 +40,7 @@ describe Gitlab::View::Presenter::Base do ...@@ -40,7 +40,7 @@ describe Gitlab::View::Presenter::Base do
end end
end end
context 'subject is overriden' do context 'subject is overridden' do
it 'returns true' do it 'returns true' do
presenter = presenter_class.new(build_stubbed(:project, :public)) presenter = presenter_class.new(build_stubbed(:project, :public))
......
...@@ -48,7 +48,7 @@ describe MicrosoftTeams::Notifier do ...@@ -48,7 +48,7 @@ describe MicrosoftTeams::Notifier do
stub_request(:post, webhook_url).with(body: JSON(body), headers: { 'Content-Type' => 'application/json' }).to_return(status: 200, body: "", headers: {}) stub_request(:post, webhook_url).with(body: JSON(body), headers: { 'Content-Type' => 'application/json' }).to_return(status: 200, body: "", headers: {})
end end
it 'expects to receive successfull answer' do it 'expects to receive successful answer' do
expect(subject.ping(options)).to be true expect(subject.ping(options)).to be true
end end
end end
......
...@@ -76,7 +76,7 @@ describe MigrateOldArtifacts do ...@@ -76,7 +76,7 @@ describe MigrateOldArtifacts do
end end
end end
context 'when there are aritfacts in old and new directory' do context 'when there are artifacts in old and new directory' do
before do before do
store_artifacts_in_legacy_path(build2) store_artifacts_in_legacy_path(build2)
......
...@@ -41,7 +41,7 @@ describe CacheableAttributes do ...@@ -41,7 +41,7 @@ describe CacheableAttributes do
expect(minimal_test_class.current_without_cache).to eq(minimal_test_class.last) expect(minimal_test_class.current_without_cache).to eq(minimal_test_class.last)
end end
it 'can be overriden' do it 'can be overridden' do
minimal_test_class.define_singleton_method(:current_without_cache) do minimal_test_class.define_singleton_method(:current_without_cache) do
first first
end end
...@@ -64,7 +64,7 @@ describe CacheableAttributes do ...@@ -64,7 +64,7 @@ describe CacheableAttributes do
context 'with defaults defined' do context 'with defaults defined' do
include_context 'with defaults' include_context 'with defaults'
it 'can be overriden' do it 'can be overridden' do
expect(minimal_test_class.defaults).to eq({ foo: 'a', bar: 'b', baz: 'c' }) expect(minimal_test_class.defaults).to eq({ foo: 'a', bar: 'b', baz: 'c' })
end end
end end
......
...@@ -519,7 +519,7 @@ describe Issuable do ...@@ -519,7 +519,7 @@ describe Issuable do
end end
end end
context 'substracting time' do context 'subtracting time' do
before do before do
spend_time(1800) spend_time(1800)
end end
...@@ -530,7 +530,7 @@ describe Issuable do ...@@ -530,7 +530,7 @@ describe Issuable do
expect(issue.total_time_spent).to eq(900) expect(issue.total_time_spent).to eq(900)
end end
context 'when time to substract exceeds the total time spent' do context 'when time to subtract exceeds the total time spent' do
it 'raise a validation error' do it 'raise a validation error' do
Timecop.travel(1.minute.from_now) do Timecop.travel(1.minute.from_now) do
expect do expect do
......
...@@ -14,7 +14,7 @@ describe LfsObject do ...@@ -14,7 +14,7 @@ describe LfsObject do
expect(subject.local_store?).to eq true expect(subject.local_store?).to eq true
end end
it 'returns false whe file_store is equal to LfsObjectUploader::Store::REMOTE' do it 'returns false when file_store is equal to LfsObjectUploader::Store::REMOTE' do
subject.file_store = LfsObjectUploader::Store::REMOTE subject.file_store = LfsObjectUploader::Store::REMOTE
expect(subject.local_store?).to eq false expect(subject.local_store?).to eq false
......
...@@ -2746,7 +2746,7 @@ describe Project do ...@@ -2746,7 +2746,7 @@ describe Project do
.to raise_error(ActiveRecord::RecordNotSaved, error_message) .to raise_error(ActiveRecord::RecordNotSaved, error_message)
end end
it 'updates the project succesfully' do it 'updates the project successfully' do
merge_request = create(:merge_request, target_project: project, source_project: project) merge_request = create(:merge_request, target_project: project, source_project: project)
expect { project.append_or_update_attribute(:merge_requests, [merge_request]) } expect { project.append_or_update_attribute(:merge_requests, [merge_request]) }
...@@ -3314,7 +3314,7 @@ describe Project do ...@@ -3314,7 +3314,7 @@ describe Project do
end end
end end
context 'when explicitely enabled' do context 'when explicitly enabled' do
context 'when domain is empty' do context 'when domain is empty' do
before do before do
create(:project_auto_devops, project: project, domain: nil) create(:project_auto_devops, project: project, domain: nil)
......
...@@ -145,7 +145,7 @@ describe ProjectWiki do ...@@ -145,7 +145,7 @@ describe ProjectWiki do
end end
it "returns nil if the page does not exist" do it "returns nil if the page does not exist" do
expect(subject.find_page("non-existant")).to eq(nil) expect(subject.find_page("non-existent")).to eq(nil)
end end
it "can find a page by slug" do it "can find a page by slug" do
...@@ -226,7 +226,7 @@ describe ProjectWiki do ...@@ -226,7 +226,7 @@ describe ProjectWiki do
end end
it 'returns nil if the page does not exist' do it 'returns nil if the page does not exist' do
expect(subject.find_file('non-existant')).to eq(nil) expect(subject.find_file('non-existent')).to eq(nil)
end end
it 'returns a Gitlab::Git::WikiFile instance' do it 'returns a Gitlab::Git::WikiFile instance' do
......
...@@ -91,7 +91,7 @@ describe Upload do ...@@ -91,7 +91,7 @@ describe Upload do
.to change { upload.checksum }.from(nil).to(expected) .to change { upload.checksum }.from(nil).to(expected)
end end
it 'sets `checksum` to nil for a non-existant file' do it 'sets `checksum` to nil for a non-existent file' do
expect(upload).to receive(:exist?).and_return(false) expect(upload).to receive(:exist?).and_return(false)
checksum = Digest::SHA256.file(__FILE__).hexdigest checksum = Digest::SHA256.file(__FILE__).hexdigest
......
...@@ -565,7 +565,7 @@ describe API::Commits do ...@@ -565,7 +565,7 @@ describe API::Commits do
} }
end end
it 'are commited as one in project repo' do it 'are committed as one in project repo' do
post api(url, user), valid_mo_params post api(url, user), valid_mo_params
expect(response).to have_gitlab_http_status(201) expect(response).to have_gitlab_http_status(201)
......
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment