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:
Diffstat (limited to 'spec/lib/gitlab/gfm/uploads_rewriter_spec.rb')
-rw-r--r--spec/lib/gitlab/gfm/uploads_rewriter_spec.rb22
1 files changed, 12 insertions, 10 deletions
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