From c9df679ba120b2b88bda9a05248b716f27b090d2 Mon Sep 17 00:00:00 2001 From: Roman Rizzi Date: Wed, 25 Nov 2020 15:40:16 -0300 Subject: [PATCH] FIX: Only use full slugs when compiling category backgrounds. (#11353) If a category and a sub-category have the same slug, adding a background to one of them will also show it on the other one. This was introduced in 8e3f667 to fix a discrepancy, which was later fixed in 214b4c3. --- lib/stylesheet/importer.rb | 2 +- spec/components/stylesheet/importer_spec.rb | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/stylesheet/importer.rb b/lib/stylesheet/importer.rb index 83d8875fbd2..c787ca8c2bb 100644 --- a/lib/stylesheet/importer.rb +++ b/lib/stylesheet/importer.rb @@ -287,7 +287,7 @@ module Stylesheet def category_css(category) full_slug = category.full_slug.split("-")[0..-2].join("-") - "body.category-#{category.slug}, body.category-#{full_slug} { background-image: url(#{upload_cdn_path(category.uploaded_background.url)}) }\n" + "body.category-#{full_slug} { background-image: url(#{upload_cdn_path(category.uploaded_background.url)}) }\n" end def font_css(font) diff --git a/spec/components/stylesheet/importer_spec.rb b/spec/components/stylesheet/importer_spec.rb index bc8cc3264a8..cfe626cf5bc 100644 --- a/spec/components/stylesheet/importer_spec.rb +++ b/spec/components/stylesheet/importer_spec.rb @@ -16,10 +16,10 @@ describe Stylesheet::Importer do parent_category = Fabricate(:category) category = Fabricate(:category, parent_category_id: parent_category.id, uploaded_background: background) - expect(compile_css("category_backgrounds")).to include("body.category-#{category.slug},body.category-#{parent_category.slug}-#{category.slug}{background-image:url(#{background.url})}") + expect(compile_css("category_backgrounds")).to include("body.category-#{parent_category.slug}-#{category.slug}{background-image:url(#{background.url})}") GlobalSetting.stubs(:cdn_url).returns("//awesome.cdn") - expect(compile_css("category_backgrounds")).to include("body.category-#{category.slug},body.category-#{parent_category.slug}-#{category.slug}{background-image:url(//awesome.cdn#{background.url})}") + expect(compile_css("category_backgrounds")).to include("body.category-#{parent_category.slug}-#{category.slug}{background-image:url(//awesome.cdn#{background.url})}") end it "applies S3 CDN to background category images" do