randex 0.7.0 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +76 -8
- package/lib/basic/set.d.ts +6 -0
- package/lib/basic/set.js +6 -0
- package/lib/custom/email.d.ts +16 -1
- package/lib/custom/email.js +37 -9
- package/lib/custom/filename.d.ts +14 -2
- package/lib/custom/filename.js +34 -9
- package/lib/test/email.test.js +52 -4
- package/lib/test/filename.test.js +58 -4
- package/lib/test/fullname.test.js +2 -2
- package/lib/test/markdown.test.js +27 -1
- package/lib/test/name.test.js +2 -2
- package/lib/test/random.test.js +4 -4
- package/lib/test/test-util.d.ts +3 -1
- package/lib/test/test-util.js +14 -3
- package/lib/test/username.test.js +2 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# randex
|
|
2
2
|
|
|
3
|
+
TypeScript library to random most common things like filename, username, email, name, full name, etc.
|
|
4
|
+
|
|
3
5
|
<a href="https://www.npmjs.com/package/randex">
|
|
4
6
|
<img src="https://nodei.co/npm/randex.png?mini=true">
|
|
5
7
|
</a>
|
|
6
8
|
|
|
7
|
-
TypeScript library for random thing like string, username, email, name, etc.
|
|
8
|
-
|
|
9
9
|
## Usage
|
|
10
10
|
|
|
11
11
|
Installation:
|
|
@@ -30,7 +30,7 @@ Deeps:
|
|
|
30
30
|
|
|
31
31
|
## random
|
|
32
32
|
|
|
33
|
-
Basic function
|
|
33
|
+
Basic function to construct random things.
|
|
34
34
|
|
|
35
35
|
```ts
|
|
36
36
|
import { random } from "randex";
|
|
@@ -117,13 +117,46 @@ Randoms file name.
|
|
|
117
117
|
```ts
|
|
118
118
|
import { randomFileName } from "randex";
|
|
119
119
|
|
|
120
|
+
// default
|
|
120
121
|
randomFileName({
|
|
121
122
|
extension: "txt",
|
|
122
123
|
});
|
|
123
|
-
|
|
124
124
|
// td1TX31eOB.txt
|
|
125
|
+
|
|
126
|
+
// defined extension
|
|
127
|
+
randomFileName({
|
|
128
|
+
extension: "txt",
|
|
129
|
+
});
|
|
130
|
+
// or short:
|
|
131
|
+
randomFileName("txt");
|
|
132
|
+
// HkmOjqHC6.txt
|
|
133
|
+
|
|
134
|
+
// defined file name length and extension length
|
|
135
|
+
randomFileName({
|
|
136
|
+
fileNameLength: [7, 10],
|
|
137
|
+
extensionLength: 5,
|
|
138
|
+
});
|
|
139
|
+
// or short:
|
|
140
|
+
randomFileName([7, 10], 5);
|
|
141
|
+
// 1SJVkHSBjq.tejuw
|
|
142
|
+
|
|
143
|
+
// defined file name length and extension
|
|
144
|
+
randomFileName({
|
|
145
|
+
fileNameLength: 8,
|
|
146
|
+
extension: "xml",
|
|
147
|
+
});
|
|
148
|
+
// or short:
|
|
149
|
+
randomFileName(8, "xml");
|
|
150
|
+
// JyCsuN5kD.xml
|
|
125
151
|
```
|
|
126
152
|
|
|
153
|
+
Options:
|
|
154
|
+
| Name | Type| Description|
|
|
155
|
+
| ------------------------ | ---- |------------ |
|
|
156
|
+
|fileNameLength|[RandexLength](#randexlength) | Length of file name (not including extension). Default: [3,10] |
|
|
157
|
+
|extensionLength|[RandexLength](#randexlength) | Length of extension (not including file name) chars. Default: [2,5] |
|
|
158
|
+
|extension| `string`| File extension. |
|
|
159
|
+
|
|
127
160
|
## randomUsername
|
|
128
161
|
|
|
129
162
|
Randoms username.
|
|
@@ -151,7 +184,7 @@ randomUsername([2, 5]);
|
|
|
151
184
|
Options:
|
|
152
185
|
| Name | Type| Description|
|
|
153
186
|
| ------------------------ | ---- |------------ |
|
|
154
|
-
|length|[RandexLength](#randexlength) | Length of chars. Default:
|
|
187
|
+
|length|[RandexLength](#randexlength) | Length of chars. Default: [6,10] |
|
|
155
188
|
|
|
156
189
|
## randomEmail
|
|
157
190
|
|
|
@@ -160,10 +193,45 @@ Randoms an email.
|
|
|
160
193
|
```ts
|
|
161
194
|
import { randomEmail } from "randex";
|
|
162
195
|
|
|
196
|
+
// default
|
|
163
197
|
randomEmail();
|
|
164
198
|
// stv4ox27sevt@mqsyin.fil
|
|
199
|
+
|
|
200
|
+
// defined prefix length
|
|
201
|
+
randomEmail({
|
|
202
|
+
prefixLength: 8,
|
|
203
|
+
});
|
|
204
|
+
// or shot:
|
|
205
|
+
randomEmail(8);
|
|
206
|
+
// epzn3hbz@vu.xsp
|
|
207
|
+
|
|
208
|
+
// defined prefix, low domain and hight domain length
|
|
209
|
+
randomEmail({
|
|
210
|
+
prefixLength: 8,
|
|
211
|
+
lowDomainLength: 4,
|
|
212
|
+
hightDomainLength: 2,
|
|
213
|
+
});
|
|
214
|
+
// or shot:
|
|
215
|
+
randomEmail(8, 4, 2);
|
|
216
|
+
// 8p0bjoua@fcsa.gr
|
|
217
|
+
|
|
218
|
+
// defined domain
|
|
219
|
+
randomEmail({
|
|
220
|
+
domain: "test.com",
|
|
221
|
+
});
|
|
222
|
+
// or shot:
|
|
223
|
+
randomEmail("test.com");
|
|
224
|
+
// efnmo1r5@test.com
|
|
165
225
|
```
|
|
166
226
|
|
|
227
|
+
Options:
|
|
228
|
+
| Name | Type| Description|
|
|
229
|
+
| ------------------------ | ---- |------------ |
|
|
230
|
+
|prefixLength|[RandexLength](#randexlength) | Length of email prefix (chars before `@`). Default: [6, 10] |
|
|
231
|
+
|hightDomainLength|[RandexLength](#randexlength) | Length of hight domain part (example: test.<b>com</b>). Default: [1,6] |
|
|
232
|
+
|lowDomainLength|[RandexLength](#randexlength) | Length of low domain part (example: <b>test</b>.com). Default: [4,2] |
|
|
233
|
+
|domain| `string`| Defined domain. |
|
|
234
|
+
|
|
167
235
|
## randomName
|
|
168
236
|
|
|
169
237
|
Randoms a name of the person, city, place, restaurant, ect.
|
|
@@ -203,7 +271,7 @@ randomName("french", 10);
|
|
|
203
271
|
Options:
|
|
204
272
|
| Name | Type| Description|
|
|
205
273
|
| ------------------------ | ---- |------------ |
|
|
206
|
-
|length|[RandexLength](#randexlength) | Length of chars. Default:
|
|
274
|
+
|length|[RandexLength](#randexlength) | Length of chars. Default: [2,10] |
|
|
207
275
|
|alphabet|[RandexAlphabet](#randexalphabet) | Defined alphabet. Default: `english` |
|
|
208
276
|
|
|
209
277
|
## randomFullName
|
|
@@ -221,8 +289,8 @@ randomFullName();
|
|
|
221
289
|
Options:
|
|
222
290
|
| Name | Type| Description|
|
|
223
291
|
| ------------------------ | ---- |------------ |
|
|
224
|
-
|firstLength|[RandexLength](#randexlength) | First name length of chars. Default:
|
|
225
|
-
|secondLength|[RandexLength](#randexlength) | Second name length of chars. Default:
|
|
292
|
+
|firstLength|[RandexLength](#randexlength) | First name length of chars. Default: [2, 10] |
|
|
293
|
+
|secondLength|[RandexLength](#randexlength) | Second name length of chars. Default: [2,10] |
|
|
226
294
|
|alphabet|[RandexAlphabet](#randexalphabet) | Defined alphabet. Default: `english` |
|
|
227
295
|
|
|
228
296
|
## Customization
|
package/lib/basic/set.d.ts
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import { RandexSet, RandexLength } from "../interfaces";
|
|
2
2
|
export declare class RandexSetUtil {
|
|
3
|
+
static readonly defaultFileNameLength: RandexLength;
|
|
4
|
+
static readonly defaultExtensionLength: RandexLength;
|
|
5
|
+
static readonly fileNameExtraChars = "";
|
|
6
|
+
static readonly defaultEmailPrefixLength: RandexLength;
|
|
7
|
+
static readonly defaultHightDomainEmailLength: RandexLength;
|
|
8
|
+
static readonly defaultLowDomainEmailLength: RandexLength;
|
|
3
9
|
private static toSingleRange;
|
|
4
10
|
private static toAlphabetCase;
|
|
5
11
|
private static toAlphabetRange;
|
package/lib/basic/set.js
CHANGED
|
@@ -94,6 +94,12 @@ var RandexSetUtil = /** @class */ (function () {
|
|
|
94
94
|
}
|
|
95
95
|
return result;
|
|
96
96
|
};
|
|
97
|
+
RandexSetUtil.defaultFileNameLength = [3, 10];
|
|
98
|
+
RandexSetUtil.defaultExtensionLength = [2, 5];
|
|
99
|
+
RandexSetUtil.fileNameExtraChars = ""; //"-_.";
|
|
100
|
+
RandexSetUtil.defaultEmailPrefixLength = [6, 10];
|
|
101
|
+
RandexSetUtil.defaultHightDomainEmailLength = [1, 6];
|
|
102
|
+
RandexSetUtil.defaultLowDomainEmailLength = [2, 4];
|
|
97
103
|
return RandexSetUtil;
|
|
98
104
|
}());
|
|
99
105
|
exports.RandexSetUtil = RandexSetUtil;
|
package/lib/custom/email.d.ts
CHANGED
|
@@ -1 +1,16 @@
|
|
|
1
|
-
|
|
1
|
+
import { RandexLength } from "../interfaces";
|
|
2
|
+
interface BasicEmailOptions {
|
|
3
|
+
prefixLength?: RandexLength;
|
|
4
|
+
}
|
|
5
|
+
interface DomainLengthEmailOptions {
|
|
6
|
+
hightDomainLength?: RandexLength;
|
|
7
|
+
lowDomainLength?: RandexLength;
|
|
8
|
+
}
|
|
9
|
+
interface DomainEmailOptions {
|
|
10
|
+
domain?: string;
|
|
11
|
+
}
|
|
12
|
+
export type RandexEmailOptions = BasicEmailOptions & (DomainLengthEmailOptions | DomainEmailOptions);
|
|
13
|
+
export declare function randomEmail(options?: RandexEmailOptions): any;
|
|
14
|
+
export declare function randomEmail(prefixLength: RandexLength, lowDomainLength?: RandexLength, hightDomainLength?: RandexLength): any;
|
|
15
|
+
export declare function randomEmail(domain: string): any;
|
|
16
|
+
export {};
|
package/lib/custom/email.js
CHANGED
|
@@ -2,14 +2,42 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.randomEmail = void 0;
|
|
4
4
|
var basic_1 = require("../basic");
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
5
|
+
var set_1 = require("../basic/set");
|
|
6
|
+
var type_1 = require("../basic/type");
|
|
7
|
+
function randomEmail(p1, p2, p3) {
|
|
8
|
+
var prefixLength = set_1.RandexSetUtil.defaultEmailPrefixLength;
|
|
9
|
+
var hightDomainLength = set_1.RandexSetUtil.defaultHightDomainEmailLength;
|
|
10
|
+
var lowDomainLength = set_1.RandexSetUtil.defaultLowDomainEmailLength;
|
|
11
|
+
var domain = "";
|
|
12
|
+
if (type_1.RandexTypeParser.isLength(p1)) {
|
|
13
|
+
prefixLength = p1;
|
|
14
|
+
if (type_1.RandexTypeParser.isLength(p2)) {
|
|
15
|
+
lowDomainLength = p2;
|
|
16
|
+
}
|
|
17
|
+
if (type_1.RandexTypeParser.isLength(p3)) {
|
|
18
|
+
hightDomainLength = p3;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
else if (typeof p1 === "string") {
|
|
22
|
+
domain = p1;
|
|
23
|
+
}
|
|
24
|
+
else if (typeof p1 === "object") {
|
|
25
|
+
if (p1.prefixLength) {
|
|
26
|
+
prefixLength = p1.prefixLength;
|
|
27
|
+
}
|
|
28
|
+
if (p1.hightDomainLength) {
|
|
29
|
+
hightDomainLength = p1.hightDomainLength;
|
|
30
|
+
}
|
|
31
|
+
if (p1.lowDomainLength) {
|
|
32
|
+
lowDomainLength = p1.lowDomainLength;
|
|
33
|
+
}
|
|
34
|
+
if (p1.domain) {
|
|
35
|
+
domain = p1.domain;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
if (!domain) {
|
|
39
|
+
domain = (0, basic_1.random)([["english", "l"], lowDomainLength]) + "." + (0, basic_1.random)([["english", "l"], hightDomainLength]);
|
|
40
|
+
}
|
|
41
|
+
return (0, basic_1.random)([[["english", "l"], "number"], prefixLength]) + "@" + domain;
|
|
14
42
|
}
|
|
15
43
|
exports.randomEmail = randomEmail;
|
package/lib/custom/filename.d.ts
CHANGED
|
@@ -1,4 +1,16 @@
|
|
|
1
|
-
|
|
1
|
+
import { RandexLength } from "../interfaces";
|
|
2
|
+
interface BasicFileNameOptions {
|
|
3
|
+
fileNameLength?: RandexLength;
|
|
4
|
+
}
|
|
5
|
+
interface ExtensionLengthFileNameOptions {
|
|
6
|
+
extensionLength?: RandexLength;
|
|
7
|
+
}
|
|
8
|
+
interface ExtensionFileNameOptions {
|
|
2
9
|
extension?: string;
|
|
3
10
|
}
|
|
4
|
-
export
|
|
11
|
+
export type RandexFileNameOptions = BasicFileNameOptions & (ExtensionFileNameOptions | ExtensionLengthFileNameOptions);
|
|
12
|
+
export declare function randomFileName(options?: RandexFileNameOptions): any;
|
|
13
|
+
export declare function randomFileName(fileNameLength: RandexLength, extensionLength?: RandexLength): any;
|
|
14
|
+
export declare function randomFileName(fileNameLength: RandexLength, extension: string): any;
|
|
15
|
+
export declare function randomFileName(extension: string): any;
|
|
16
|
+
export {};
|
package/lib/custom/filename.js
CHANGED
|
@@ -2,16 +2,41 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.randomFileName = void 0;
|
|
4
4
|
var basic_1 = require("../basic");
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
var set_1 = require("../basic/set");
|
|
6
|
+
var type_1 = require("../basic/type");
|
|
7
|
+
function randomFileName(p1, p2) {
|
|
8
|
+
var fileNameLength = set_1.RandexSetUtil.getLength(1, set_1.RandexSetUtil.defaultFileNameLength, set_1.RandexSetUtil.defaultFileNameLength);
|
|
9
|
+
var extensionLength = set_1.RandexSetUtil.defaultExtensionLength;
|
|
10
|
+
var extension = "";
|
|
11
|
+
if (type_1.RandexTypeParser.isLength(p1)) {
|
|
12
|
+
fileNameLength = p1;
|
|
13
|
+
if (type_1.RandexTypeParser.isLength(p2)) {
|
|
14
|
+
extensionLength = p2;
|
|
15
|
+
}
|
|
16
|
+
else if (typeof p2 === "string") {
|
|
17
|
+
extension = p2;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
else if (typeof p1 === "string") {
|
|
21
|
+
extension = p1;
|
|
22
|
+
}
|
|
23
|
+
else if (typeof p1 === "object") {
|
|
24
|
+
if (p1.fileNameLength) {
|
|
25
|
+
fileNameLength = p1.fileNameLength;
|
|
26
|
+
}
|
|
27
|
+
if (p1.extensionLength) {
|
|
28
|
+
extensionLength = p1.extensionLength;
|
|
29
|
+
}
|
|
30
|
+
if (p1.extension) {
|
|
31
|
+
extension = p1.extension;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
if (!extension) {
|
|
35
|
+
extension = (0, basic_1.random)([["english", "l"], extensionLength]);
|
|
36
|
+
}
|
|
37
|
+
return ((0, basic_1.random)([["english", "number"], set_1.RandexSetUtil.fileNameExtraChars, fileNameLength]) +
|
|
8
38
|
(0, basic_1.random)(["english", "number"]) +
|
|
9
39
|
"." +
|
|
10
|
-
(extension
|
|
11
|
-
? extension
|
|
12
|
-
: (0, basic_1.random)([
|
|
13
|
-
["english", "l"],
|
|
14
|
-
[2, 5],
|
|
15
|
-
])));
|
|
40
|
+
(extension ? extension.replace(/^\./, "") : (0, basic_1.random)([["english", "l"], extensionLength])));
|
|
16
41
|
}
|
|
17
42
|
exports.randomFileName = randomFileName;
|
package/lib/test/email.test.js
CHANGED
|
@@ -1,12 +1,60 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var set_1 = require("../basic/set");
|
|
3
4
|
var email_1 = require("../custom/email");
|
|
4
5
|
var test_util_1 = require("./test-util");
|
|
6
|
+
var r = set_1.RandexSetUtil;
|
|
7
|
+
function splitEmail(email) {
|
|
8
|
+
var _a = email.split("@"), prefix = _a[0], domain = _a[1];
|
|
9
|
+
var _b = domain.split("."), lowDomain = _b[0], hightDomain = _b[1];
|
|
10
|
+
return [prefix, domain, lowDomain, hightDomain];
|
|
11
|
+
}
|
|
12
|
+
function testEmail(options) {
|
|
13
|
+
var email = options.email, _a = options.prefixLength, prefixLength = _a === void 0 ? r.defaultEmailPrefixLength : _a, _b = options.hightDomainLength, hightDomainLength = _b === void 0 ? r.defaultHightDomainEmailLength : _b, _c = options.lowDomainLength, lowDomainLength = _c === void 0 ? r.defaultLowDomainEmailLength : _c, emailDomain = options.domain;
|
|
14
|
+
var _d = splitEmail(email), prefix = _d[0], domain = _d[1], lowDomain = _d[2], hightDomain = _d[3];
|
|
15
|
+
// // last char only english
|
|
16
|
+
test_util_1.TestUtil.testInSet(prefix, [["english", "l"], "number"], prefixLength);
|
|
17
|
+
if (emailDomain) {
|
|
18
|
+
expect(emailDomain).toBe(domain);
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
test_util_1.TestUtil.testInSet(lowDomain, ["english"], lowDomainLength);
|
|
22
|
+
test_util_1.TestUtil.testInSet(hightDomain, ["english"], hightDomainLength);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
5
25
|
describe("randomEmail", function () {
|
|
6
26
|
it("simple", function () {
|
|
7
|
-
|
|
8
|
-
var
|
|
9
|
-
|
|
10
|
-
}
|
|
27
|
+
test_util_1.TestUtil.loop(function () {
|
|
28
|
+
var email = (0, email_1.randomEmail)();
|
|
29
|
+
testEmail({ email: email });
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
it("options: prefixLength", function () {
|
|
33
|
+
var prefixLength = [10, 15];
|
|
34
|
+
test_util_1.TestUtil.loop(function () {
|
|
35
|
+
var email = (0, email_1.randomEmail)({ prefixLength: prefixLength });
|
|
36
|
+
testEmail({ email: email, prefixLength: prefixLength });
|
|
37
|
+
email = (0, email_1.randomEmail)(prefixLength);
|
|
38
|
+
testEmail({ email: email, prefixLength: prefixLength });
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
it("options: hightDomainLength, lowDomainLength", function () {
|
|
42
|
+
var hightDomainLength = 8;
|
|
43
|
+
var lowDomainLength = 12;
|
|
44
|
+
test_util_1.TestUtil.loop(function () {
|
|
45
|
+
var email = (0, email_1.randomEmail)({ hightDomainLength: hightDomainLength, lowDomainLength: lowDomainLength });
|
|
46
|
+
testEmail({ email: email, hightDomainLength: hightDomainLength, lowDomainLength: lowDomainLength });
|
|
47
|
+
email = (0, email_1.randomEmail)(r.defaultEmailPrefixLength, lowDomainLength, hightDomainLength);
|
|
48
|
+
testEmail({ email: email, hightDomainLength: hightDomainLength, lowDomainLength: lowDomainLength, prefixLength: r.defaultEmailPrefixLength });
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
it("options: domain", function () {
|
|
52
|
+
var domain = "delta.com";
|
|
53
|
+
test_util_1.TestUtil.loop(function () {
|
|
54
|
+
var email = (0, email_1.randomEmail)({ domain: domain });
|
|
55
|
+
testEmail({ email: email, domain: domain });
|
|
56
|
+
email = (0, email_1.randomEmail)(domain);
|
|
57
|
+
testEmail({ email: email, domain: domain });
|
|
58
|
+
});
|
|
11
59
|
});
|
|
12
60
|
});
|
|
@@ -1,12 +1,66 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var set_1 = require("../basic/set");
|
|
3
4
|
var filename_1 = require("../custom/filename");
|
|
4
5
|
var test_util_1 = require("./test-util");
|
|
6
|
+
var r = set_1.RandexSetUtil;
|
|
7
|
+
function splitFileName(fullFileName) {
|
|
8
|
+
var matches = fullFileName.match(/\.[a-z]+$/);
|
|
9
|
+
var extension = (matches === null || matches === void 0 ? void 0 : matches[0]) || "";
|
|
10
|
+
var fileName = fullFileName.replace(extension, "");
|
|
11
|
+
extension = extension.replace(/^\./, "");
|
|
12
|
+
return [fileName, extension];
|
|
13
|
+
}
|
|
14
|
+
function testFileName(options) {
|
|
15
|
+
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;
|
|
16
|
+
var _c = splitFileName(fullFileName), fileName = _c[0], fileExtension = _c[1];
|
|
17
|
+
// last char only english
|
|
18
|
+
test_util_1.TestUtil.testInSet(fileName[fileName.length - 1], ["english", "number"], 1);
|
|
19
|
+
test_util_1.TestUtil.testInSetRange(fileName, ["english", "number"], r.fileNameExtraChars, fileNameLength);
|
|
20
|
+
if (extension) {
|
|
21
|
+
expect(extension).toBe(fileExtension);
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
test_util_1.TestUtil.testInSet(fileExtension, "english", extensionLength);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
5
27
|
describe("randomFileName", function () {
|
|
6
28
|
it("simple", function () {
|
|
7
|
-
|
|
8
|
-
var
|
|
9
|
-
|
|
10
|
-
}
|
|
29
|
+
test_util_1.TestUtil.loop(function () {
|
|
30
|
+
var fullFileName = (0, filename_1.randomFileName)();
|
|
31
|
+
testFileName({ fullFileName: fullFileName });
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
it("params: fileNameLength", function () {
|
|
35
|
+
var fileNameLength = [10, 15];
|
|
36
|
+
test_util_1.TestUtil.loop(function () {
|
|
37
|
+
var fullFileName = (0, filename_1.randomFileName)({ fileNameLength: fileNameLength });
|
|
38
|
+
testFileName({ fullFileName: fullFileName, fileNameLength: fileNameLength });
|
|
39
|
+
fullFileName = (0, filename_1.randomFileName)(fileNameLength);
|
|
40
|
+
testFileName({ fullFileName: fullFileName, fileNameLength: fileNameLength });
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
it("params: extensionLength", function () {
|
|
44
|
+
var extensionLength = [10, 15];
|
|
45
|
+
test_util_1.TestUtil.loop(function () {
|
|
46
|
+
var fullFileName = (0, filename_1.randomFileName)({ extensionLength: extensionLength });
|
|
47
|
+
testFileName({ fullFileName: fullFileName, extensionLength: extensionLength });
|
|
48
|
+
fullFileName = (0, filename_1.randomFileName)(r.defaultFileNameLength, extensionLength);
|
|
49
|
+
testFileName({ fullFileName: fullFileName, fileNameLength: r.defaultFileNameLength, extensionLength: extensionLength });
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
it("params: extension", function () {
|
|
53
|
+
var fileNameLength = [10, 15];
|
|
54
|
+
var extension = "xml";
|
|
55
|
+
test_util_1.TestUtil.loop(function () {
|
|
56
|
+
var fullFileName = (0, filename_1.randomFileName)({ extension: extension });
|
|
57
|
+
testFileName({ fullFileName: fullFileName, extension: extension });
|
|
58
|
+
fullFileName = (0, filename_1.randomFileName)(extension);
|
|
59
|
+
testFileName({ fullFileName: fullFileName, extension: extension });
|
|
60
|
+
fullFileName = (0, filename_1.randomFileName)("." + extension);
|
|
61
|
+
testFileName({ fullFileName: fullFileName, extension: extension });
|
|
62
|
+
fullFileName = (0, filename_1.randomFileName)(fileNameLength, extension);
|
|
63
|
+
testFileName({ fullFileName: fullFileName, fileNameLength: fileNameLength, extension: extension });
|
|
64
|
+
});
|
|
11
65
|
});
|
|
12
66
|
});
|
|
@@ -4,9 +4,9 @@ var custom_1 = require("../custom");
|
|
|
4
4
|
var test_util_1 = require("./test-util");
|
|
5
5
|
describe("randomFullName", function () {
|
|
6
6
|
it("simple", function () {
|
|
7
|
-
|
|
7
|
+
test_util_1.TestUtil.loop(function () {
|
|
8
8
|
var value = (0, custom_1.randomFullName)();
|
|
9
9
|
expect(test_util_1.TestUtil.isFullNameValid(value)).toBeTruthy();
|
|
10
|
-
}
|
|
10
|
+
});
|
|
11
11
|
});
|
|
12
12
|
});
|
|
@@ -62,9 +62,21 @@ describe("markdown", function () {
|
|
|
62
62
|
expect(value.length).toBe(4);
|
|
63
63
|
});
|
|
64
64
|
it("randomFileName", function () {
|
|
65
|
-
var value = (0, custom_1.randomFileName)(
|
|
65
|
+
var value = (0, custom_1.randomFileName)();
|
|
66
|
+
value = (0, custom_1.randomFileName)({
|
|
66
67
|
extension: "txt",
|
|
67
68
|
});
|
|
69
|
+
value = (0, custom_1.randomFileName)("txt");
|
|
70
|
+
value = (0, custom_1.randomFileName)({
|
|
71
|
+
fileNameLength: [7, 10],
|
|
72
|
+
extensionLength: 5,
|
|
73
|
+
});
|
|
74
|
+
value = (0, custom_1.randomFileName)([7, 10], 5);
|
|
75
|
+
value = (0, custom_1.randomFileName)({
|
|
76
|
+
fileNameLength: 8,
|
|
77
|
+
extension: "xml",
|
|
78
|
+
});
|
|
79
|
+
value = (0, custom_1.randomFileName)(8, "xml");
|
|
68
80
|
expect(value).toBeTruthy();
|
|
69
81
|
});
|
|
70
82
|
it("randomUsername", function () {
|
|
@@ -73,6 +85,20 @@ describe("markdown", function () {
|
|
|
73
85
|
});
|
|
74
86
|
it("randomEmail", function () {
|
|
75
87
|
var value = (0, custom_1.randomEmail)();
|
|
88
|
+
value = (0, custom_1.randomEmail)({
|
|
89
|
+
prefixLength: 8,
|
|
90
|
+
});
|
|
91
|
+
value = (0, custom_1.randomEmail)(8);
|
|
92
|
+
value = (0, custom_1.randomEmail)({
|
|
93
|
+
prefixLength: 8,
|
|
94
|
+
lowDomainLength: 4,
|
|
95
|
+
hightDomainLength: 2,
|
|
96
|
+
});
|
|
97
|
+
value = (0, custom_1.randomEmail)(8, 4, 2);
|
|
98
|
+
value = (0, custom_1.randomEmail)({
|
|
99
|
+
domain: "test.com",
|
|
100
|
+
});
|
|
101
|
+
value = (0, custom_1.randomEmail)("test.com");
|
|
76
102
|
expect(value).toBeTruthy();
|
|
77
103
|
});
|
|
78
104
|
it("randomName", function () {
|
package/lib/test/name.test.js
CHANGED
|
@@ -4,10 +4,10 @@ var name_1 = require("../custom/name");
|
|
|
4
4
|
var test_util_1 = require("./test-util");
|
|
5
5
|
describe("randomName", function () {
|
|
6
6
|
it("simple", function () {
|
|
7
|
-
|
|
7
|
+
test_util_1.TestUtil.loop(function () {
|
|
8
8
|
var value = (0, name_1.randomName)();
|
|
9
9
|
expect(test_util_1.TestUtil.isNameValid(value)).toBeTruthy();
|
|
10
|
-
}
|
|
10
|
+
});
|
|
11
11
|
});
|
|
12
12
|
it("options: length", function () {
|
|
13
13
|
var value = (0, name_1.randomName)({ length: 5 });
|
package/lib/test/random.test.js
CHANGED
|
@@ -39,7 +39,7 @@ describe("random", function () {
|
|
|
39
39
|
expect(value.length).toBe(1);
|
|
40
40
|
});
|
|
41
41
|
it("alphabet: upper", function () {
|
|
42
|
-
|
|
42
|
+
test_util_1.TestUtil.loop(function () {
|
|
43
43
|
var value = (0, basic_1.random)(["english", "u"]);
|
|
44
44
|
expect(test_util_1.TestUtil.isUpperCharValid(value, 1)).toBeTruthy();
|
|
45
45
|
value = (0, basic_1.random)([
|
|
@@ -47,10 +47,10 @@ describe("random", function () {
|
|
|
47
47
|
[1, 3],
|
|
48
48
|
]);
|
|
49
49
|
expect(test_util_1.TestUtil.isUpperCharValid(value, [1, 3])).toBeTruthy();
|
|
50
|
-
}
|
|
50
|
+
});
|
|
51
51
|
});
|
|
52
52
|
it("alphabet: lower", function () {
|
|
53
|
-
|
|
53
|
+
test_util_1.TestUtil.loop(function () {
|
|
54
54
|
var value = (0, basic_1.random)(["english", "l"]);
|
|
55
55
|
expect(test_util_1.TestUtil.isLowerCharValid(value, 1)).toBeTruthy();
|
|
56
56
|
value = (0, basic_1.random)([
|
|
@@ -58,6 +58,6 @@ describe("random", function () {
|
|
|
58
58
|
[1, 3],
|
|
59
59
|
]);
|
|
60
60
|
expect(test_util_1.TestUtil.isLowerCharValid(value, [1, 3])).toBeTruthy();
|
|
61
|
-
}
|
|
61
|
+
});
|
|
62
62
|
});
|
|
63
63
|
});
|
package/lib/test/test-util.d.ts
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { RandexLength, RandexSet } from "../interfaces";
|
|
2
2
|
export declare class TestUtil {
|
|
3
3
|
static testIn(value: string, length: RandexLength | undefined, action: () => void): void;
|
|
4
|
+
static loop(action: (index: number) => void): void;
|
|
4
5
|
static testInSet(value: string, set: RandexSet, length?: RandexLength): void;
|
|
6
|
+
static testInSetRange(value: string, set: RandexSet, range: string, length?: RandexLength): void;
|
|
5
7
|
static testInRange(value: string, range: string, length?: RandexLength): void;
|
|
6
8
|
static testInBoth(value: string, set: RandexSet, range: string, length?: RandexLength): void;
|
|
7
9
|
static inRange(value: string, range: string): boolean;
|
|
8
|
-
static inSet(value: string, set: RandexSet): boolean;
|
|
10
|
+
static inSet(value: string, set: RandexSet, range?: string): boolean;
|
|
9
11
|
static inBoth(value: string, set: RandexSet, range: string): boolean;
|
|
10
12
|
static isEmailValid(email: string): RegExpMatchArray | null;
|
|
11
13
|
static isUsernameValid(email: string): RegExpMatchArray | null;
|
package/lib/test/test-util.js
CHANGED
|
@@ -19,12 +19,23 @@ var TestUtil = /** @class */ (function () {
|
|
|
19
19
|
action();
|
|
20
20
|
}
|
|
21
21
|
};
|
|
22
|
+
TestUtil.loop = function (action) {
|
|
23
|
+
for (var i = 0; i < 100; i++) {
|
|
24
|
+
action(i);
|
|
25
|
+
}
|
|
26
|
+
};
|
|
22
27
|
TestUtil.testInSet = function (value, set, length) {
|
|
23
28
|
if (length === void 0) { length = 1; }
|
|
24
29
|
TestUtil.testIn(value, length, function () {
|
|
25
30
|
expect(TestUtil.inSet(value, set)).toBeTruthy();
|
|
26
31
|
});
|
|
27
32
|
};
|
|
33
|
+
TestUtil.testInSetRange = function (value, set, range, length) {
|
|
34
|
+
if (length === void 0) { length = 1; }
|
|
35
|
+
TestUtil.testIn(value, length, function () {
|
|
36
|
+
expect(TestUtil.inSet(value, set, range)).toBeTruthy();
|
|
37
|
+
});
|
|
38
|
+
};
|
|
28
39
|
TestUtil.testInRange = function (value, range, length) {
|
|
29
40
|
if (length === void 0) { length = 1; }
|
|
30
41
|
TestUtil.testIn(value, length, function () {
|
|
@@ -45,9 +56,9 @@ var TestUtil = /** @class */ (function () {
|
|
|
45
56
|
}
|
|
46
57
|
return value.length > 0;
|
|
47
58
|
};
|
|
48
|
-
TestUtil.inSet = function (value, set) {
|
|
49
|
-
var
|
|
50
|
-
return TestUtil.inRange(value,
|
|
59
|
+
TestUtil.inSet = function (value, set, range) {
|
|
60
|
+
var fullRange = set_1.RandexSetUtil.toRange(set) + (range ? range : "");
|
|
61
|
+
return TestUtil.inRange(value, fullRange);
|
|
51
62
|
};
|
|
52
63
|
TestUtil.inBoth = function (value, set, range) {
|
|
53
64
|
var fullRange = set_1.RandexSetUtil.toRange(set) + range;
|
|
@@ -4,10 +4,10 @@ var username_1 = require("../custom/username");
|
|
|
4
4
|
var test_util_1 = require("./test-util");
|
|
5
5
|
describe("randomEmail", function () {
|
|
6
6
|
it("simple", function () {
|
|
7
|
-
|
|
7
|
+
test_util_1.TestUtil.loop(function () {
|
|
8
8
|
var value = (0, username_1.randomUsername)();
|
|
9
9
|
expect(test_util_1.TestUtil.isUsernameValid(value)).toBeTruthy();
|
|
10
|
-
}
|
|
10
|
+
});
|
|
11
11
|
});
|
|
12
12
|
it("options", function () {
|
|
13
13
|
var value = (0, username_1.randomUsername)({ length: 5 });
|