diff options
Diffstat (limited to 'spec/lib/gitlab/gfm')
-rw-r--r-- | spec/lib/gitlab/gfm/reference_rewriter_spec.rb | 3 | ||||
-rw-r--r-- | spec/lib/gitlab/gfm/uploads_rewriter_spec.rb | 22 |
2 files changed, 14 insertions, 11 deletions
diff --git a/spec/lib/gitlab/gfm/reference_rewriter_spec.rb b/spec/lib/gitlab/gfm/reference_rewriter_spec.rb index 7d4a3655be6..8bb649e78e0 100644 --- a/spec/lib/gitlab/gfm/reference_rewriter_spec.rb +++ b/spec/lib/gitlab/gfm/reference_rewriter_spec.rb @@ -10,6 +10,7 @@ RSpec.describe Gitlab::Gfm::ReferenceRewriter do let(:old_project) { create(:project, name: 'old-project', group: group) } let(:old_project_ref) { old_project.to_reference_base(new_project) } let(:text) { 'some text' } + let(:note) { create(:note, note: text, project: old_project) } before do old_project.add_reporter(user) @@ -17,7 +18,7 @@ RSpec.describe Gitlab::Gfm::ReferenceRewriter do describe '#rewrite' do subject do - described_class.new(text, old_project, user).rewrite(new_project) + described_class.new(note.note, note.note_html, old_project, user).rewrite(new_project) end context 'multiple issues and merge requests referenced' do diff --git a/spec/lib/gitlab/gfm/uploads_rewriter_spec.rb b/spec/lib/gitlab/gfm/uploads_rewriter_spec.rb index f878f02f410..763e6f1b5f4 100644 --- a/spec/lib/gitlab/gfm/uploads_rewriter_spec.rb +++ b/spec/lib/gitlab/gfm/uploads_rewriter_spec.rb @@ -6,7 +6,7 @@ RSpec.describe Gitlab::Gfm::UploadsRewriter do let(:user) { create(:user) } let(:old_project) { create(:project) } let(:new_project) { create(:project) } - let(:rewriter) { described_class.new(text, old_project, user) } + let(:rewriter) { described_class.new(+text, nil, old_project, user) } context 'text contains links to uploads' do let(:image_uploader) do @@ -22,13 +22,21 @@ RSpec.describe Gitlab::Gfm::UploadsRewriter do "Text and #{image_uploader.markdown_link} and #{zip_uploader.markdown_link}" end + def referenced_files(text, project) + referenced_files = text.scan(FileUploader::MARKDOWN_PATTERN).map do + UploaderFinder.new(project, $~[:secret], $~[:file]).execute + end + + referenced_files.compact.select(&:exists?) + end + shared_examples "files are accessible" do describe '#rewrite' do let!(:new_text) { rewriter.rewrite(new_project) } let(:old_files) { [image_uploader, zip_uploader] } let(:new_files) do - described_class.new(new_text, new_project, user).files + referenced_files(new_text, new_project) end let(:old_paths) { old_files.map(&:path) } @@ -68,9 +76,9 @@ RSpec.describe Gitlab::Gfm::UploadsRewriter do it 'does not rewrite plain links as embedded' do embedded_link = image_uploader.markdown_link plain_image_link = embedded_link.delete_prefix('!') - text = "#{plain_image_link} and #{embedded_link}" + text = +"#{plain_image_link} and #{embedded_link}" - moved_text = described_class.new(text, old_project, user).rewrite(new_project) + moved_text = described_class.new(text, nil, old_project, user).rewrite(new_project) expect(moved_text.scan(/!\[.*?\]/).count).to eq(1) expect(moved_text.scan(/\A\[.*?\]/).count).to eq(1) @@ -97,11 +105,5 @@ RSpec.describe Gitlab::Gfm::UploadsRewriter do it { is_expected.to eq true } end - - describe '#files' do - subject { rewriter.files } - - it { is_expected.to be_an(Array) } - end end end |