mirror of
https://github.com/Snigdha-OS/documentation.git
synced 2025-09-08 19:34:56 +02:00
97 lines
3.2 KiB
JavaScript
97 lines
3.2 KiB
JavaScript
"use strict";
|
|
|
|
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
|
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
|
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
|
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
|
|
var _ava = _interopRequireDefault(require("ava"));
|
|
|
|
var _path = _interopRequireDefault(require("path"));
|
|
|
|
var _fs = _interopRequireDefault(require("fs"));
|
|
|
|
var _waitForExpect = _interopRequireDefault(require("wait-for-expect"));
|
|
|
|
var _webpack = _interopRequireDefault(require("webpack"));
|
|
|
|
var _webpack2 = _interopRequireDefault(require("../webpack.config"));
|
|
|
|
var _ReactLoadableSSRAddon = _interopRequireWildcard(require("./ReactLoadableSSRAddon"));
|
|
|
|
var outputPath;
|
|
var manifestOutputPath;
|
|
|
|
var runWebpack = function runWebpack(configuration, end, callback) {
|
|
(0, _webpack["default"])(configuration, function (err, stats) {
|
|
if (err) {
|
|
return end(err);
|
|
}
|
|
|
|
if (stats.hasErrors()) {
|
|
return end(stats.toString());
|
|
}
|
|
|
|
callback();
|
|
end();
|
|
});
|
|
};
|
|
|
|
_ava["default"].beforeEach(function () {
|
|
var publicPathSanitized = _webpack2["default"].output.publicPath.slice(1, -1);
|
|
|
|
outputPath = _path["default"].resolve('./example', publicPathSanitized);
|
|
manifestOutputPath = _path["default"].resolve(outputPath, _ReactLoadableSSRAddon.defaultOptions.filename);
|
|
});
|
|
|
|
_ava["default"].cb('outputs with default settings', function (t) {
|
|
_webpack2["default"].plugins = [new _ReactLoadableSSRAddon["default"]()];
|
|
runWebpack(_webpack2["default"], t.end, function () {
|
|
var feedback = _fs["default"].existsSync(manifestOutputPath) ? 'pass' : 'fail';
|
|
t[feedback]();
|
|
});
|
|
});
|
|
|
|
_ava["default"].cb('outputs with custom filename', function (t) {
|
|
var filename = 'new-assets-manifest.json';
|
|
_webpack2["default"].plugins = [new _ReactLoadableSSRAddon["default"]({
|
|
filename: filename
|
|
})];
|
|
runWebpack(_webpack2["default"], t.end, function () {
|
|
var feedback = _fs["default"].existsSync(manifestOutputPath.replace(_ReactLoadableSSRAddon.defaultOptions.filename, filename)) ? 'pass' : 'fail';
|
|
t[feedback]();
|
|
});
|
|
});
|
|
|
|
_ava["default"].cb('outputs with integrity', function (t) {
|
|
_webpack2["default"].plugins = [new _ReactLoadableSSRAddon["default"]({
|
|
integrity: true
|
|
})];
|
|
runWebpack(_webpack2["default"], t.end, (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee() {
|
|
var manifest;
|
|
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
while (1) {
|
|
switch (_context.prev = _context.next) {
|
|
case 0:
|
|
manifest = require("" + manifestOutputPath);
|
|
_context.next = 3;
|
|
return (0, _waitForExpect["default"])(function () {
|
|
Object.keys(manifest.assets).forEach(function (asset) {
|
|
manifest.assets[asset].js.forEach(function (_ref2) {
|
|
var integrity = _ref2.integrity;
|
|
t.truthy(integrity);
|
|
});
|
|
});
|
|
});
|
|
|
|
case 3:
|
|
case "end":
|
|
return _context.stop();
|
|
}
|
|
}
|
|
}, _callee);
|
|
})));
|
|
}); |