Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/models/commit_range.rb9
-rw-r--r--spec/lib/gitlab/markdown/commit_range_reference_filter_spec.rb3
-rw-r--r--spec/models/commit_range_spec.rb26
3 files changed, 20 insertions, 18 deletions
diff --git a/app/models/commit_range.rb b/app/models/commit_range.rb
index b98f939a115..fb1f6d09be6 100644
--- a/app/models/commit_range.rb
+++ b/app/models/commit_range.rb
@@ -61,11 +61,14 @@ class CommitRange
end
def to_reference(from_project = nil)
+ # Not using to_s because we want the full SHAs
+ reference = sha_from + notation + sha_to
+
if cross_project_reference?(from_project)
- "#{project.to_reference}@#{to_s}"
- else
- to_s
+ reference = project.to_reference + '@' + reference
end
+
+ reference
end
# Returns a String for use in a link's title attribute
diff --git a/spec/lib/gitlab/markdown/commit_range_reference_filter_spec.rb b/spec/lib/gitlab/markdown/commit_range_reference_filter_spec.rb
index 7274cb309a0..1593088a094 100644
--- a/spec/lib/gitlab/markdown/commit_range_reference_filter_spec.rb
+++ b/spec/lib/gitlab/markdown/commit_range_reference_filter_spec.rb
@@ -9,8 +9,7 @@ module Gitlab::Markdown
let(:commit2) { project.commit("HEAD~2") }
it 'requires project context' do
- expect { described_class.call('Commit Range 1c002d..d200c1', {}) }.
- to raise_error(ArgumentError, /:project/)
+ expect { described_class.call('') }.to raise_error(ArgumentError, /:project/)
end
%w(pre code a style).each do |elem|
diff --git a/spec/models/commit_range_spec.rb b/spec/models/commit_range_spec.rb
index 2d347a335a1..e7fb43ff335 100644
--- a/spec/models/commit_range_spec.rb
+++ b/spec/models/commit_range_spec.rb
@@ -1,6 +1,12 @@
require 'spec_helper'
describe CommitRange do
+ describe 'modules' do
+ subject { described_class }
+
+ it { is_expected.to include_module(Referable) }
+ end
+
let(:sha_from) { 'f3f85602' }
let(:sha_to) { 'e86e1013' }
@@ -11,10 +17,14 @@ describe CommitRange do
expect { described_class.new("Foo") }.to raise_error
end
- describe 'modules' do
- subject { described_class }
+ describe '#to_s' do
+ it 'is correct for three-dot syntax' do
+ expect(range.to_s).to eq "#{sha_from[0..7]}...#{sha_to[0..7]}"
+ end
- it { is_expected.to include_module(Referable) }
+ it 'is correct for two-dot syntax' do
+ expect(range2.to_s).to eq "#{sha_from[0..7]}..#{sha_to[0..7]}"
+ end
end
describe '#to_reference' do
@@ -34,16 +44,6 @@ describe CommitRange do
end
end
- describe '#to_s' do
- it 'is correct for three-dot syntax' do
- expect(range.to_s).to eq "#{sha_from[0..7]}...#{sha_to[0..7]}"
- end
-
- it 'is correct for two-dot syntax' do
- expect(range2.to_s).to eq "#{sha_from[0..7]}..#{sha_to[0..7]}"
- end
- end
-
describe '#reference_title' do
it 'returns the correct String for three-dot ranges' do
expect(range.reference_title).to eq "Commits #{sha_from} through #{sha_to}"