DEV: Use proper wording for contexts in specs

This commit is contained in:
Loïc Guitaut
2022-07-27 18:14:14 +02:00
committed by Loïc Guitaut
parent 02987e05d5
commit 3eaac56797
337 changed files with 2172 additions and 2723 deletions

View File

@ -249,12 +249,12 @@ RSpec.describe CookedPostProcessor do
end
end
context "processing images" do
context "when processing images" do
before do
SiteSetting.responsive_post_image_sizes = ""
end
context "responsive images" do
context "with responsive images" do
before { SiteSetting.responsive_post_image_sizes = "1|1.5|3" }
it "includes responsive images on demand" do
@ -361,7 +361,7 @@ RSpec.describe CookedPostProcessor do
cpp.post_process
end
context "valid" do
context "when valid" do
let(:image_sizes) { { "http://foo.bar/image.png" => { "width" => 111, "height" => 222 } } }
it "uses them" do
@ -371,17 +371,17 @@ RSpec.describe CookedPostProcessor do
end
end
context "invalid width" do
context "with invalid width" do
let(:image_sizes) { { "http://foo.bar/image.png" => { "width" => 0, "height" => 222 } } }
include_examples "leave dimensions alone"
end
context "invalid height" do
context "with invalid height" do
let(:image_sizes) { { "http://foo.bar/image.png" => { "width" => 111, "height" => 0 } } }
include_examples "leave dimensions alone"
end
context "invalid width & height" do
context "with invalid width & height" do
let(:image_sizes) { { "http://foo.bar/image.png" => { "width" => 0, "height" => 0 } } }
include_examples "leave dimensions alone"
end
@ -433,7 +433,7 @@ RSpec.describe CookedPostProcessor do
expect(cpp).to be_dirty
end
describe 'when image is inside onebox' do
context 'when image is inside onebox' do
let(:url) { 'https://image.com/my-avatar' }
let(:post) { Fabricate(:post, raw: url) }
@ -452,7 +452,7 @@ RSpec.describe CookedPostProcessor do
end
end
describe 'when image is an svg' do
context 'when image is an svg' do
fab!(:post) do
Fabricate(:post, raw: "<img src=\"/#{Discourse.store.upload_path}/original/1X/1234567890123456.svg\">")
end
@ -467,7 +467,7 @@ RSpec.describe CookedPostProcessor do
HTML
end
describe 'when image src is an URL' do
context 'when image src is an URL' do
let(:post) do
Fabricate(:post, raw: "<img src=\"http://test.discourse/#{upload_path}/original/1X/1234567890123456.svg?somepamas\">")
end
@ -482,7 +482,7 @@ RSpec.describe CookedPostProcessor do
end
end
context "s3_uploads" do
context "with s3_uploads" do
let(:upload) { Fabricate(:secure_upload_s3) }
before do
@ -746,7 +746,7 @@ RSpec.describe CookedPostProcessor do
end
context "topic image" do
context "with topic image" do
fab!(:post) { Fabricate(:post_with_uploaded_image) }
let(:cpp) { CookedPostProcessor.new(post) }
@ -822,7 +822,7 @@ RSpec.describe CookedPostProcessor do
expect(post.reload.image_upload_id).to eq(upload2.id)
end
context "post image" do
context "with post image" do
let(:reply) { Fabricate(:post_with_uploaded_image, post_number: 2) }
let(:cpp) { CookedPostProcessor.new(reply) }
@ -838,18 +838,15 @@ RSpec.describe CookedPostProcessor do
end
describe "#extract_images" do
let(:post) { build(:post_with_plenty_of_images) }
let(:cpp) { CookedPostProcessor.new(post) }
it "does not extract emojis or images inside oneboxes or quotes" do
expect(cpp.extract_images.length).to eq(0)
end
end
describe "#get_size_from_attributes" do
let(:post) { build(:post) }
let(:cpp) { CookedPostProcessor.new(post) }
@ -879,11 +876,9 @@ RSpec.describe CookedPostProcessor do
img = { 'src' => nil, 'height' => 100 }
expect(cpp.get_size_from_attributes(img)).to be_nil
end
end
describe "#get_size_from_image_sizes" do
let(:post) { build(:post) }
let(:cpp) { CookedPostProcessor.new(post) }
@ -891,11 +886,9 @@ RSpec.describe CookedPostProcessor do
image_sizes = { "http://my.discourse.org/image.png" => { "width" => 111, "height" => 222 } }
expect(cpp.get_size_from_image_sizes("/image.png", image_sizes)).to eq([111, 222])
end
end
describe "#get_size" do
let(:post) { build(:post) }
let(:cpp) { CookedPostProcessor.new(post) }
@ -917,7 +910,6 @@ RSpec.describe CookedPostProcessor do
end
describe "#is_valid_image_url?" do
let(:post) { build(:post) }
let(:cpp) { CookedPostProcessor.new(post) }
@ -936,11 +928,9 @@ RSpec.describe CookedPostProcessor do
it "doesn't throw an exception with a bad URI" do
expect(cpp.is_valid_image_url?("http://do<main.com")).to eq(nil)
end
end
describe "#get_filename" do
let(:post) { build(:post) }
let(:cpp) { CookedPostProcessor.new(post) }
@ -957,7 +947,6 @@ RSpec.describe CookedPostProcessor do
upload = build(:upload, original_filename: "blob.png")
expect(cpp.get_filename(upload, "http://domain.com/image.png")).to eq(I18n.t('upload.pasted_image_filename'))
end
end
describe "#convert_to_link" do
@ -995,7 +984,7 @@ RSpec.describe CookedPostProcessor do
expect(doc.css('img.animated').size).to eq(1)
end
context "giphy/tenor images" do
context "with giphy/tenor images" do
before do
CookedPostProcessor.any_instance.stubs(:get_size).with("https://media2.giphy.com/media/7Oifk90VrCdNe/giphy.webp").returns([311, 280])
CookedPostProcessor.any_instance.stubs(:get_size).with("https://media1.tenor.com/images/20c7ddd5e84c7427954f430439c5209d/tenor.gif").returns([833, 104])
@ -1226,7 +1215,6 @@ RSpec.describe CookedPostProcessor do
end
describe "#post_process_oneboxes with square image" do
it "generates a onebox-avatar class" do
url = 'https://square-image.com/onebox'
@ -1256,11 +1244,9 @@ RSpec.describe CookedPostProcessor do
expect(cpp.doc.to_s).not_to include('aspect-image')
expect(cpp.doc.to_s).to include('onebox-avatar')
end
end
describe "#optimize_urls" do
let(:post) { build(:post_with_uploads_and_links) }
let(:cpp) { CookedPostProcessor.new(post) }
@ -1277,7 +1263,6 @@ RSpec.describe CookedPostProcessor do
end
context "when CDN is enabled" do
it "uses schemaless CDN url for http uploads" do
Rails.configuration.action_controller.stubs(:asset_host).returns("http://my.cdn.com")
cpp.optimize_urls
@ -1332,7 +1317,7 @@ RSpec.describe CookedPostProcessor do
HTML
end
context "s3_uploads" do
context "with s3_uploads" do
before do
Rails.configuration.action_controller.stubs(:asset_host).returns("https://local.cdn.com")
@ -1405,7 +1390,7 @@ RSpec.describe CookedPostProcessor do
HTML
end
context "media uploads" do
context "with media uploads" do
fab!(:image_upload) { Fabricate(:upload) }
fab!(:audio_upload) { Fabricate(:upload, extension: "ogg") }
fab!(:video_upload) { Fabricate(:upload, extension: "mov") }
@ -1543,7 +1528,6 @@ RSpec.describe CookedPostProcessor do
end
describe "#is_a_hyperlink?" do
let(:post) { build(:post) }
let(:cpp) { CookedPostProcessor.new(post) }
let(:doc) { Nokogiri::HTML5::fragment('<body><div><a><img id="linked_image"></a><p><img id="standard_image"></p></div></body>') }
@ -1557,13 +1541,12 @@ RSpec.describe CookedPostProcessor do
img = doc.css("img#standard_image").first
expect(cpp.is_a_hyperlink?(img)).to eq(false)
end
end
context "grant badges" do
describe "grant badges" do
let(:cpp) { CookedPostProcessor.new(post) }
context "emoji inside a quote" do
context "with emoji inside a quote" do
let(:post) { Fabricate(:post, raw: "time to eat some sweet \n[quote]\n:candy:\n[/quote]\n mmmm") }
it "doesn't award a badge when the emoji is in a quote" do
@ -1572,7 +1555,7 @@ RSpec.describe CookedPostProcessor do
end
end
context "emoji in the text" do
context "with emoji in the text" do
let(:post) { Fabricate(:post, raw: "time to eat some sweet :candy: mmmm") }
it "awards a badge for using an emoji" do
@ -1581,7 +1564,7 @@ RSpec.describe CookedPostProcessor do
end
end
context "onebox" do
context "with onebox" do
before do
Oneboxer.stubs(:onebox).with(anything, anything).returns(nil)
Oneboxer.stubs(:onebox).with('https://discourse.org', anything).returns("<aside class=\"onebox allowlistedgeneric\">the rest of the onebox</aside>")
@ -1613,7 +1596,7 @@ RSpec.describe CookedPostProcessor do
end
end
context "reply_by_email" do
context "with reply_by_email" do
let(:post) { Fabricate(:post, raw: "This is a **reply** via email ;)", via_email: true, post_number: 2) }
it "awards a badge for replying via email" do
@ -1624,7 +1607,7 @@ RSpec.describe CookedPostProcessor do
end
context "quote processing" do
describe "quote processing" do
let(:cpp) { CookedPostProcessor.new(cp) }
let(:pp) { Fabricate(:post, raw: "This post is ripe for quoting!") }
@ -1656,7 +1639,7 @@ RSpec.describe CookedPostProcessor do
end
end
context "external discourse instance quote" do
context "with external discourse instance quote" do
let(:external_raw) do
<<~RAW.strip
[quote="random_guy_not_from_our_discourse, post:2004, topic:401"]
@ -1674,7 +1657,7 @@ RSpec.describe CookedPostProcessor do
end
end
context "full quote on direct reply" do
describe "full quote on direct reply" do
fab!(:topic) { Fabricate(:topic) }
let!(:post) { Fabricate(:post, topic: topic, raw: 'this is the "first" post') }
@ -1803,7 +1786,7 @@ RSpec.describe CookedPostProcessor do
end
end
context "full quote on direct reply with full name prioritization" do
describe "full quote on direct reply with full name prioritization" do
fab!(:user) { Fabricate(:user, name: "james, john, the third") }
fab!(:topic) { Fabricate(:topic) }
let!(:post) { Fabricate(:post, user: user, topic: topic, raw: 'this is the "first" post') }
@ -1935,7 +1918,7 @@ RSpec.describe CookedPostProcessor do
end
end
context "prioritizes full name in quotes" do
describe "prioritizes full name in quotes" do
fab!(:user) { Fabricate(:user, name: "james, john, the third") }
fab!(:topic) { Fabricate(:topic) }
let!(:post) { Fabricate(:post, user: user, topic: topic, raw: 'this is the "first" post') }