mirror of
https://github.com/discourse/discourse.git
synced 2024-12-05 01:43:43 +08:00
a0b94dca16
Previously, we were parsing webpack JS chunk filenames from the HTML files which ember-cli generates. This worked ok for simple entrypoints, but falls apart once we start using async imports(), which are not included in the HTML. This commit uses the stats plugin to generate an assets.json file, and updates Rails to parse it instead of the HTML. Caching on the Rails side is also improved to avoid reading from the filesystem multiple times per request in develoment. Co-authored-by: Godfrey Chan <godfreykfc@gmail.com>
68 lines
2.3 KiB
Plaintext
68 lines
2.3 KiB
Plaintext
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<title>Theme QUnit Test Runner</title>
|
|
<%= discourse_color_scheme_stylesheets %>
|
|
<meta name="color-scheme" content="light dark">
|
|
|
|
<%- if @has_test_bundle && !@suggested_themes %>
|
|
<%= preload_script "vendor" %>
|
|
<%= preload_script "test-support" %>
|
|
<%= preload_script "discourse" %>
|
|
<%= preload_script "test" %>
|
|
<%= preload_script "locales/#{I18n.locale}" %>
|
|
<%= preload_script "admin" %>
|
|
<%- Discourse.find_plugin_js_assets(include_disabled: true).each do |file| %>
|
|
<%= preload_script file %>
|
|
<%- end %>
|
|
<%= preload_script "test-site-settings" %>
|
|
<%= theme_translations_lookup %>
|
|
<%= theme_js_lookup %>
|
|
<%= theme_lookup("head_tag") %>
|
|
<%= theme_tests %>
|
|
|
|
<%= tag.meta id: 'data-discourse-setup', data: client_side_setup_data %>
|
|
<meta property="og:title" content="">
|
|
<meta property="og:url" content="">
|
|
<meta name="discourse/config/environment" content="<%=u discourse_config_environment(testing: true) %>" />
|
|
|
|
<style>
|
|
<%= File.read("#{Rails.root}/app/assets/javascripts/node_modules/qunit/qunit/qunit.css").html_safe %>
|
|
</style>
|
|
|
|
<%= discourse_stylesheet_link_tag(:desktop, theme_id: nil) %>
|
|
<%= discourse_stylesheet_link_tag("qunit-custom", theme_id: nil) %>
|
|
<%- else %>
|
|
<style>
|
|
html {
|
|
font-family: Arial;
|
|
}
|
|
</style>
|
|
<%- end %>
|
|
|
|
<%- if params['testem'] %>
|
|
<script defer src="/assets/testem.js"></script>
|
|
<%- end %>
|
|
</head>
|
|
<body>
|
|
<%- if !@has_test_bundle %>
|
|
This is a production installation of Discourse, and cannot be used for theme testing.
|
|
For more information, see <a href="https://meta.discourse.org/t/66857">this guide</a>.
|
|
<% elsif @suggested_themes %>
|
|
<h2>Theme QUnit Test Runner</h2>
|
|
|
|
<%- if @suggested_themes.size == 0 %>
|
|
<p>Cannot find any theme tests.</p>
|
|
<%- else %>
|
|
<h3>Select a theme/component: </h3>
|
|
<%- @suggested_themes.each do |(id, name)| %>
|
|
<h4><%= link_to name, theme_qunit_path(id: id) %></h4>
|
|
<%- end %>
|
|
<%- end %>
|
|
<% else %>
|
|
<%= preload_script "scripts/discourse-test-listen-boot" %>
|
|
<%= preload_script "scripts/discourse-boot" %>
|
|
<%- end %>
|
|
</body>
|
|
</html>
|