mirror of
https://github.com/discourse/discourse.git
synced 2025-02-24 06:09:55 +08:00
DEV: enable raise_error in test envs for deprecated icons in svg_sprite.rb (#30980)
This PR raises an error on any deprecated icon names being converted by svg_sprite.rb, which will result in any deprecated icons being processed by the ruby lib to fail tests.
This commit is contained in:
parent
8ad34862e4
commit
65324b6e5d
@ -524,7 +524,10 @@ License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL
|
||||
new_name = remap_from_fa5(new_name)
|
||||
|
||||
if icon_name != new_name
|
||||
Discourse.deprecate("The icon `#{icon_name}` is deprecated. Use `#{new_name}` instead.")
|
||||
Discourse.deprecate(
|
||||
"The icon `#{icon_name}` is deprecated. Use `#{new_name}` instead.",
|
||||
raise_error: Rails.env.test?,
|
||||
)
|
||||
return new_name
|
||||
end
|
||||
|
||||
|
@ -6,6 +6,7 @@ RSpec.describe SvgSprite do
|
||||
before do
|
||||
SvgSprite.clear_plugin_svg_sprite_cache!
|
||||
SvgSprite.expire_cache
|
||||
allow(Rails.env).to receive(:test?).and_return(false)
|
||||
end
|
||||
|
||||
it "can generate a bundle" do
|
||||
@ -44,7 +45,7 @@ RSpec.describe SvgSprite do
|
||||
|
||||
it "version string changes" do
|
||||
version1 = SvgSprite.version
|
||||
Fabricate(:badge, name: "Custom Icon Badge", icon: "fa-gamepad")
|
||||
Fabricate(:badge, name: "Custom Icon Badge", icon: "gamepad")
|
||||
version2 = SvgSprite.version
|
||||
|
||||
expect(version1).not_to eq(version2)
|
||||
@ -96,6 +97,11 @@ RSpec.describe SvgSprite do
|
||||
expect(SvgSprite.all_icons).to include("far-building")
|
||||
end
|
||||
|
||||
it "raises an error in test for deprecated icons" do
|
||||
allow(Rails.env).to receive(:test?).and_return(true)
|
||||
expect { SvgSprite.search("fa-gamepad") }.to raise_error(Discourse::Deprecation)
|
||||
end
|
||||
|
||||
it "includes icons defined in theme settings" do
|
||||
# Works for default settings:
|
||||
theme.set_field(target: :settings, name: :yaml, value: "custom_icon: dragon")
|
||||
|
@ -35,14 +35,14 @@ RSpec.describe SvgSpriteController do
|
||||
|
||||
describe "#search" do
|
||||
it "should not work for anons" do
|
||||
get "/svg-sprite/search/fa-bolt"
|
||||
get "/svg-sprite/search/bolt"
|
||||
expect(response.status).to eq(404)
|
||||
end
|
||||
|
||||
it "should return symbol for FA icon search" do
|
||||
sign_in(user)
|
||||
|
||||
get "/svg-sprite/search/fa-bolt"
|
||||
get "/svg-sprite/search/bolt"
|
||||
expect(response.status).to eq(200)
|
||||
expect(response.body).to include("bolt")
|
||||
end
|
||||
@ -50,7 +50,7 @@ RSpec.describe SvgSpriteController do
|
||||
it "should return 404 when looking for non-existent FA icon" do
|
||||
sign_in(user)
|
||||
|
||||
get "/svg-sprite/search/fa-not-a-valid-icon"
|
||||
get "/svg-sprite/search/not-a-valid-icon"
|
||||
expect(response.status).to eq(404)
|
||||
end
|
||||
|
||||
@ -72,7 +72,7 @@ RSpec.describe SvgSpriteController do
|
||||
|
||||
sign_in(user)
|
||||
|
||||
get "/svg-sprite/search/fa-my-custom-theme-icon"
|
||||
get "/svg-sprite/search/my-custom-theme-icon"
|
||||
expect(response.status).to eq(200)
|
||||
expect(response.body).to include("my-custom-theme-icon")
|
||||
end
|
||||
|
Loading…
x
Reference in New Issue
Block a user