diff options
author | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2015-05-26 14:35:54 +0000 |
---|---|---|
committer | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2015-05-26 14:35:54 +0000 |
commit | 08102ad7485cd2cdbcba0cc3b0e2ced3de6be5fe (patch) | |
tree | 4c29e28a21da21fb6665073a5ae169f3bfa7ad35 | |
parent | 8ea443b6d6a60b7d6a0a52ac35af560ac62ef8f1 (diff) | |
parent | b263a33c80a04be4b126c203f0c0d1439f1d5739 (diff) | |
download | gitlab-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.rb | 6 | ||||
-rw-r--r-- | spec/lib/gitlab/markdown/label_reference_filter_spec.rb | 7 |
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 |