fix missing rtl stylesheets
This commit is contained in:
parent
2f850510d7
commit
bcaed90744
|
@ -5,7 +5,7 @@ class StylesheetsController < ApplicationController
|
|||
|
||||
no_cookies
|
||||
|
||||
target,digest = params[:name].split("_")
|
||||
target,digest = params[:name].split(/_([a-f0-9]{40})/)
|
||||
|
||||
cache_time = request.env["HTTP_IF_MODIFIED_SINCE"]
|
||||
cache_time = Time.rfc2822(cache_time) rescue nil if cache_time
|
||||
|
|
|
@ -15,6 +15,7 @@ class DiscourseStylesheets
|
|||
end
|
||||
|
||||
def self.stylesheet_link_tag(target = :desktop)
|
||||
|
||||
tag = cache[target]
|
||||
|
||||
return tag.dup.html_safe if tag
|
||||
|
|
|
@ -3,21 +3,36 @@ require 'spec_helper'
|
|||
describe StylesheetsController do
|
||||
|
||||
it 'can survive cache miss' do
|
||||
DiscourseStylesheets.cache.clear
|
||||
DiscourseStylesheets.stylesheet_link_tag('desktop_rtl')
|
||||
|
||||
StylesheetCache.destroy_all
|
||||
builder = DiscourseStylesheets.new('desktop_rtl')
|
||||
builder.compile
|
||||
|
||||
digest = StylesheetCache.first.digest
|
||||
StylesheetCache.destroy_all
|
||||
|
||||
# digestless
|
||||
get :show, name: 'desktop_rtl'
|
||||
expect(response).to be_success
|
||||
|
||||
StylesheetCache.destroy_all
|
||||
|
||||
get :show, name: "desktop_rtl_#{digest}"
|
||||
expect(response).to be_success
|
||||
|
||||
cached = StylesheetCache.first
|
||||
expect(cached.target).to eq 'desktop_rtl'
|
||||
expect(cached.digest).to eq digest
|
||||
|
||||
# tmp folder destruction and cached
|
||||
`rm #{DiscourseStylesheets.cache_fullpath}/*`
|
||||
|
||||
get :show, name: 'desktop_rtl'
|
||||
expect(response).to be_success
|
||||
|
||||
get :show, name: "desktop_rtl_#{digest}"
|
||||
expect(response).to be_success
|
||||
|
||||
# there is an edge case which is ... disk and db cache is nuked, very unlikely to happen
|
||||
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue