mirror of
https://github.com/discourse/discourse.git
synced 2024-11-22 11:44:49 +08:00
DEV: Test theme js compiler append_raw_template (#8950)
* DEV: Test for append_raw_template * remove empty line
This commit is contained in:
parent
a24f51278a
commit
475f545557
|
@ -186,15 +186,17 @@ class ThemeJavascriptCompiler
|
|||
raise CompileError.new e.instance_variable_get(:@error) # e.message contains the entire template, which could be very long
|
||||
end
|
||||
|
||||
def raw_template_name(name)
|
||||
name = name.sub(/\.(raw|hbr)$/, '')
|
||||
name.inspect
|
||||
end
|
||||
|
||||
def append_raw_template(name, hbs_template)
|
||||
name = name.sub(/\.raw$/, '')
|
||||
name = name.sub(/\.hbr$/, '.hbs')
|
||||
name = name.inspect
|
||||
compiled = RawTemplatePrecompiler.new(@theme_id).compile(hbs_template)
|
||||
@content << <<~JS
|
||||
(function() {
|
||||
if ('Discourse' in window) {
|
||||
Discourse.RAW_TEMPLATES[#{name}] = requirejs('discourse-common/lib/raw-handlebars').template(#{compiled});
|
||||
Discourse.RAW_TEMPLATES[#{raw_template_name(name)}] = requirejs('discourse-common/lib/raw-handlebars').template(#{compiled});
|
||||
}
|
||||
})();
|
||||
JS
|
||||
|
|
|
@ -110,4 +110,21 @@ describe ThemeJavascriptCompiler do
|
|||
end
|
||||
end
|
||||
|
||||
describe "#append_raw_template" do
|
||||
let(:compiler) { ThemeJavascriptCompiler.new(1, 'marks') }
|
||||
it 'adds the correct template to "Discourse.RAW_TEMPLATES"' do
|
||||
template = "<h1>hello</h1>"
|
||||
name = "/path/to/templates1"
|
||||
compiler.append_raw_template("#{name}.raw", template)
|
||||
expect(compiler.content.to_s).to include("Discourse.RAW_TEMPLATES[\"#{name}\"]")
|
||||
|
||||
name = "/path/to/templates2"
|
||||
compiler.append_raw_template("#{name}.hbr", template)
|
||||
expect(compiler.content.to_s).to include("Discourse.RAW_TEMPLATES[\"#{name}\"]")
|
||||
|
||||
name = "/path/to/templates3"
|
||||
compiler.append_raw_template("#{name}.hbs", template)
|
||||
expect(compiler.content.to_s).to include("Discourse.RAW_TEMPLATES[\"#{name}.hbs\"]")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue
Block a user