diff --git a/lib/svg_sprite.rb b/lib/svg_sprite.rb index 8aa40fc0db6..5f8e9c6ae7a 100644 --- a/lib/svg_sprite.rb +++ b/lib/svg_sprite.rb @@ -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 diff --git a/spec/lib/svg_sprite/svg_sprite_spec.rb b/spec/lib/svg_sprite/svg_sprite_spec.rb index 82829c4362c..6f298b28d0d 100644 --- a/spec/lib/svg_sprite/svg_sprite_spec.rb +++ b/spec/lib/svg_sprite/svg_sprite_spec.rb @@ -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") diff --git a/spec/requests/svg_sprite_controller_spec.rb b/spec/requests/svg_sprite_controller_spec.rb index cacdc33cbe1..a004a3af151 100644 --- a/spec/requests/svg_sprite_controller_spec.rb +++ b/spec/requests/svg_sprite_controller_spec.rb @@ -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