[Framework] Add RequireJS configurator
Add a configuration step (as part of the resolve phase) to the framework layer, where bundle-defined paths and shims are passed to RequireJS configuration. This permits both the use of non-AMD modules and the exposure of libraries across bundles. WTD-568.
This commit is contained in:
@@ -10,6 +10,7 @@ define(
|
||||
|
||||
describe("The bundle resolver", function () {
|
||||
var mockExtensionResolver,
|
||||
mockRequireConfigurator,
|
||||
mockLog,
|
||||
resolver;
|
||||
|
||||
@@ -18,18 +19,27 @@ define(
|
||||
"extensionResolver",
|
||||
["resolve"]
|
||||
);
|
||||
mockRequireConfigurator = jasmine.createSpyObj(
|
||||
"requireConfigurator",
|
||||
["configure"]
|
||||
);
|
||||
mockLog = jasmine.createSpyObj(
|
||||
"$log",
|
||||
["error", "warn", "info", "debug"]
|
||||
);
|
||||
resolver = new BundleResolver(mockExtensionResolver, mockLog);
|
||||
|
||||
mockExtensionResolver.resolve.andReturn(Promise.resolve("a"));
|
||||
|
||||
resolver = new BundleResolver(
|
||||
mockExtensionResolver,
|
||||
mockRequireConfigurator,
|
||||
mockLog
|
||||
);
|
||||
});
|
||||
|
||||
it("invokes the extension resolver for all bundle extensions", function () {
|
||||
var result;
|
||||
|
||||
mockExtensionResolver.resolve.andReturn(Promise.resolve("a"));
|
||||
|
||||
resolver.resolveBundles([
|
||||
new Bundle("x", { extensions: { tests: [ {}, {}, {} ] } }),
|
||||
new Bundle("y", { extensions: { tests: [ {}, {} ], others: [ {}, {} ] } }),
|
||||
@@ -50,6 +60,18 @@ define(
|
||||
});
|
||||
});
|
||||
|
||||
it("configures require before loading implementations", function () {
|
||||
var bundles = [
|
||||
new Bundle("x", { extensions: { tests: [ {}, {}, {} ] } }),
|
||||
new Bundle("y", { extensions: { tests: [ {}, {} ], others: [ {}, {} ] } }),
|
||||
new Bundle("z", { extensions: { others: [ {} ] } })
|
||||
];
|
||||
|
||||
resolver.resolveBundles(bundles);
|
||||
expect(mockRequireConfigurator.configure)
|
||||
.toHaveBeenCalledWith(bundles);
|
||||
});
|
||||
|
||||
});
|
||||
}
|
||||
);
|
||||
Reference in New Issue
Block a user