randex
Version:
Generates random filename, username, email, name, full name, etc for test purposes.
67 lines (66 loc) • 3.49 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var set_1 = require("../basic/set");
var custom_1 = require("../custom");
var test_util_1 = require("./test-util");
var r = set_1.RandexSetUtil;
function splitFileName(fullFileName) {
var matches = fullFileName.match(/\.[a-z]+$/);
var extension = (matches === null || matches === void 0 ? void 0 : matches[0]) || "";
var fileName = fullFileName.replace(extension, "");
extension = extension.replace(/^\./, "");
return [fileName, extension];
}
function testFileName(options) {
var fullFileName = options.fullFileName, _a = options.fileNameLength, fileNameLength = _a === void 0 ? r.defaultFileNameLength : _a, _b = options.extensionLength, extensionLength = _b === void 0 ? r.defaultExtensionLength : _b, extension = options.extension;
var _c = splitFileName(fullFileName), fileName = _c[0], fileExtension = _c[1];
// last char only english
test_util_1.TestUtil.testInSet(fileName[fileName.length - 1], ["english", "number"], 1);
test_util_1.TestUtil.testInSetRange(fileName, ["english", "number"], r.fileNameExtraChars, fileNameLength);
if (extension) {
expect(extension).toBe(fileExtension);
}
else {
test_util_1.TestUtil.testInSet(fileExtension, "english", extensionLength);
}
}
describe("randomFileName", function () {
it("simple", function () {
test_util_1.TestUtil.loop(function () {
var fullFileName = custom_1.Randex.fileName();
testFileName({ fullFileName: fullFileName });
});
});
it("params: fileNameLength", function () {
var fileNameLength = [10, 15];
test_util_1.TestUtil.loop(function () {
var fullFileName = custom_1.Randex.fileName({ fileNameLength: fileNameLength });
testFileName({ fullFileName: fullFileName, fileNameLength: fileNameLength });
fullFileName = custom_1.Randex.fileName(fileNameLength);
testFileName({ fullFileName: fullFileName, fileNameLength: fileNameLength });
});
});
it("params: extensionLength", function () {
var extensionLength = [10, 15];
test_util_1.TestUtil.loop(function () {
var fullFileName = custom_1.Randex.fileName({ extensionLength: extensionLength });
testFileName({ fullFileName: fullFileName, extensionLength: extensionLength });
fullFileName = custom_1.Randex.fileName(r.defaultFileNameLength, extensionLength);
testFileName({ fullFileName: fullFileName, fileNameLength: r.defaultFileNameLength, extensionLength: extensionLength });
});
});
it("params2: extension", function () {
var fileNameLength = [10, 15];
var extension = "xml";
test_util_1.TestUtil.loop(function () {
var fullFileName = custom_1.Randex.fileName({ extension: extension });
testFileName({ fullFileName: fullFileName, extension: extension });
fullFileName = custom_1.Randex.fileName(extension);
testFileName({ fullFileName: fullFileName, extension: extension });
fullFileName = custom_1.Randex.fileName("." + extension);
testFileName({ fullFileName: fullFileName, extension: extension });
fullFileName = custom_1.Randex.fileName(fileNameLength, extension);
testFileName({ fullFileName: fullFileName, fileNameLength: fileNameLength, extension: extension });
});
});
});