KT-3008 Add tests for module wrappers

This commit is contained in:
Alexey Andreev
2016-04-20 12:33:09 +03:00
parent 0cfacfa44a
commit e38b83880f
10 changed files with 171 additions and 8 deletions
+30
View File
@@ -0,0 +1,30 @@
(function(global) {
var modules = { kotlin: kotlin };
var module = { exports: {} };
function require(moduleId) {
return modules[moduleId];
}
function beginModule() {
module.exports = {};
}
function endModule(moduleId) {
modules[moduleId] = module.exports;
}
function define(moduleId, dependencies, body) {
var resolvedDependencies = [];
for (var i = 0; i < dependencies.length; ++i) {
resolvedDependencies.push(modules[dependencies[i]]);
}
modules[moduleId] = body.apply(null, resolvedDependencies);
}
global.require = require;
global.define = define;
global.__beginModule__ = beginModule;
global.__endModule__ = endModule;
global.module = module;
})(this);