mirror of
https://github.com/discourse/discourse.git
synced 2025-06-03 14:15:11 +08:00
FEATURE: Load translation overrides without JS eval
This commit is contained in:
@ -6,13 +6,20 @@ require 'rails_helper'
|
||||
describe ApplicationHelper do
|
||||
|
||||
describe "preload_script" do
|
||||
def preload_link(url)
|
||||
<<~HTML
|
||||
<link rel="preload" href="#{url}" as="script">
|
||||
<script src="#{url}"></script>
|
||||
HTML
|
||||
end
|
||||
|
||||
it "provides brotli links to brotli cdn" do
|
||||
set_cdn_url "https://awesome.com"
|
||||
|
||||
helper.request.env["HTTP_ACCEPT_ENCODING"] = 'br'
|
||||
link = helper.preload_script('application')
|
||||
|
||||
expect(link).to eq("<link rel='preload' href='https://awesome.com/brotli_asset/application.js' as='script'/>\n<script src='https://awesome.com/brotli_asset/application.js'></script>")
|
||||
expect(link).to eq(preload_link("https://awesome.com/brotli_asset/application.js"))
|
||||
end
|
||||
|
||||
context "with s3 CDN" do
|
||||
@ -45,26 +52,26 @@ describe ApplicationHelper do
|
||||
helper.request.env["HTTP_ACCEPT_ENCODING"] = 'br'
|
||||
link = helper.preload_script('application')
|
||||
|
||||
expect(link).to eq("<link rel='preload' href='https://s3cdn.com/assets/application.br.js' as='script'/>\n<script src='https://s3cdn.com/assets/application.br.js'></script>")
|
||||
expect(link).to eq(preload_link("https://s3cdn.com/assets/application.br.js"))
|
||||
end
|
||||
|
||||
it "gives s3 cdn if asset host is not set" do
|
||||
link = helper.preload_script('application')
|
||||
|
||||
expect(link).to eq("<link rel='preload' href='https://s3cdn.com/assets/application.js' as='script'/>\n<script src='https://s3cdn.com/assets/application.js'></script>")
|
||||
expect(link).to eq(preload_link("https://s3cdn.com/assets/application.js"))
|
||||
end
|
||||
|
||||
it "can fall back to gzip compression" do
|
||||
helper.request.env["HTTP_ACCEPT_ENCODING"] = 'gzip'
|
||||
link = helper.preload_script('application')
|
||||
expect(link).to eq("<link rel='preload' href='https://s3cdn.com/assets/application.gz.js' as='script'/>\n<script src='https://s3cdn.com/assets/application.gz.js'></script>")
|
||||
expect(link).to eq(preload_link("https://s3cdn.com/assets/application.gz.js"))
|
||||
end
|
||||
|
||||
it "gives s3 cdn even if asset host is set" do
|
||||
set_cdn_url "https://awesome.com"
|
||||
link = helper.preload_script('application')
|
||||
|
||||
expect(link).to eq("<link rel='preload' href='https://s3cdn.com/assets/application.js' as='script'/>\n<script src='https://s3cdn.com/assets/application.js'></script>")
|
||||
expect(link).to eq(preload_link("https://s3cdn.com/assets/application.js"))
|
||||
end
|
||||
end
|
||||
end
|
||||
|
Reference in New Issue
Block a user