summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2015-05-26 14:35:54 +0000
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2015-05-26 14:35:54 +0000
commit08102ad7485cd2cdbcba0cc3b0e2ced3de6be5fe (patch)
tree4c29e28a21da21fb6665073a5ae169f3bfa7ad35
parent8ea443b6d6a60b7d6a0a52ac35af560ac62ef8f1 (diff)
parentb263a33c80a04be4b126c203f0c0d1439f1d5739 (diff)
downloadgitlab-ce-08102ad7485cd2cdbcba0cc3b0e2ced3de6be5fe.tar.gz
Merge branch 'rs-issue-1690' into 'master'
Better handle label references that aren't actually references Fixes #1690 See merge request !705
-rw-r--r--lib/gitlab/markdown/label_reference_filter.rb6
-rw-r--r--spec/lib/gitlab/markdown/label_reference_filter_spec.rb7
2 files changed, 10 insertions, 3 deletions
diff --git a/lib/gitlab/markdown/label_reference_filter.rb b/lib/gitlab/markdown/label_reference_filter.rb
index a357f28458d..1a77becee89 100644
--- a/lib/gitlab/markdown/label_reference_filter.rb
+++ b/lib/gitlab/markdown/label_reference_filter.rb
@@ -84,11 +84,11 @@ module Gitlab
#
# Returns a Hash.
def label_params(id, name)
- if id > 0
- { id: id }
- else
+ if name
# TODO (rspeicher): Don't strip single quotes if we decide to only use double quotes for surrounding.
{ name: name.tr('\'"', '') }
+ else
+ { id: id }
end
end
end
diff --git a/spec/lib/gitlab/markdown/label_reference_filter_spec.rb b/spec/lib/gitlab/markdown/label_reference_filter_spec.rb
index 9f898837466..c4548e7431f 100644
--- a/spec/lib/gitlab/markdown/label_reference_filter_spec.rb
+++ b/spec/lib/gitlab/markdown/label_reference_filter_spec.rb
@@ -149,5 +149,12 @@ module Gitlab::Markdown
end
end
end
+
+ describe 'edge cases' do
+ it 'gracefully handles non-references matching the pattern' do
+ exp = act = '(format nil "~0f" 3.0) ; 3.0'
+ expect(filter(act).to_html).to eq exp
+ end
+ end
end
end