Files
zulip/frontend_tests/zjsunit/index.js
Pweaver (Paul Weaver) d3ffc81726 Enable Hot Module Replacement in webpack.
This allow the webbpack dev server to properly reload JavaScript modules
while running in dev without restarting the server. We need to connect
to webpack-dev-server directly because SockJS doesn't support more than
one connection on the same host/port.
2017-07-18 11:02:05 -07:00

70 lines
2.1 KiB
JavaScript

global.assert = require('assert');
require('node_modules/string.prototype.codepointat/codepointat.js');
global.Dict = require('js/dict');
global._ = require('node_modules/underscore/underscore.js');
var _ = global._;
// Find the files we need to run.
var finder = require('./finder.js');
var files = finder.find_files_to_run(); // may write to console
if (_.isEmpty(files)) {
throw "No tests found";
}
// Set up our namespace helpers.
var namespace = require('./namespace.js');
global.set_global = namespace.set_global;
global.patch_builtin = namespace.patch_builtin;
global.add_dependencies = namespace.add_dependencies;
global.stub_out_jquery = namespace.stub_out_jquery;
global.with_overrides = namespace.with_overrides;
// Set up stub helpers.
var stub = require('./stub.js');
global.with_stub = stub.with_stub;
// Set up helpers to render templates.
var render = require('./render.js');
global.make_sure_all_templates_have_been_compiled =
render.make_sure_all_templates_have_been_compiled;
global.find_included_partials = render.find_included_partials;
global.compile_template = render.compile_template;
global.render_template = render.render_template;
global.walk = render.walk;
// Set up helpers to output HTML
var output = require('./output.js');
global.write_handlebars_output = output.write_handlebars_output;
global.write_test_output = output.write_test_output;
global.append_test_output = output.append_test_output;
// Set up fake jQuery
global.make_zjquery = require('./zjquery.js').make_zjquery;
// Set up fake translation
global.stub_i18n = require('./i18n.js');
var noop = function () {};
// Set up fake module.hot
// eslint-disable-next-line no-native-reassign
module = require('module');
module.prototype.hot = {
accept: noop,
};
output.start_writing();
files.forEach(function (file) {
global.patch_builtin('setTimeout', noop);
global.patch_builtin('setInterval', noop);
console.info('running tests for ' + file.name);
render.init();
require(file.full_name);
namespace.restore();
});
console.info("To see more output, open " + output.index_fn);