set_global("Handlebars", global.make_handlebars()); zrequire("templates"); // We download our translations in `page_params` (which // are for the user's chosen language), so we simulate // that here for the tests. set_global("page_params", { translation_data: { "Quote and reply": "French translation", "Notification triggers": "Some French text", }, }); // All of our other tests stub out i18n activity; // here we do a quick sanity check on the engine itself. // We use `i18n.js` to initialize `i18next` and // to set `i18n` to `i18next` on the global namespace // for `templates.js`. zrequire("i18n"); run_test("t_tag", () => { const args = { message: { is_stream: true, id: "99", stream: "devel", subject: "testing", sender_full_name: "King Lear", }, should_display_quote_and_reply: true, can_edit_message: true, can_mute_topic: true, narrowed: true, }; const html = require("../../static/templates/actions_popover_content.hbs")(args); assert(html.indexOf("French translation") > 0); }); run_test("tr_tag", () => { const args = { page_params: { full_name: "John Doe", password_auth_enabled: false, avatar_url: "http://example.com", left_side_userlist: false, twenty_four_hour_time: false, enable_stream_desktop_notifications: false, enable_stream_push_notifications: false, enable_stream_audible_notifications: false, enable_desktop_notifications: false, enable_sounds: false, enable_offline_email_notifications: false, enable_offline_push_notifications: false, enable_online_push_notifications: false, enable_digest_emails: false, }, }; const html = require("../../static/templates/settings_tab.hbs")(args); assert(html.indexOf("Some French text") > 0); });