Skip to content

Commit 1a49069

Browse files
committed
Test functions exported from submodules
1 parent 1c1c2be commit 1a49069

7 files changed

Lines changed: 116 additions & 0 deletions

File tree

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
'use strict';
2+
3+
function first(value) {
4+
return value;
5+
}
6+
7+
function second(value) {
8+
return value;
9+
}
10+
11+
module.exports = { first, second };
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
'use strict';
2+
3+
function third(value) {
4+
return value;
5+
}
6+
7+
function fourth(value) {
8+
return value;
9+
}
10+
11+
module.exports = { third, fourth };
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
'use strict';
2+
3+
const moduleName = {};
4+
module.exports = moduleName;
5+
6+
moduleName.first = value => value;
7+
8+
moduleName.second = value => value;
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
'use strict';
2+
3+
const moduleName = {};
4+
module.exports = moduleName;
5+
6+
moduleName.third = value => value;
7+
8+
moduleName.fourth = value => value;
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
module.exports = (api) => {
2+
3+
api.moduleName.first = (value) => {
4+
return value;
5+
};
6+
7+
api.moduleName.second = (value) => {
8+
return value;
9+
};
10+
11+
};
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
module.exports = (api) => {
2+
3+
api.moduleName.third = (value) => {
4+
return value;
5+
};
6+
7+
api.moduleName.fourth = (value) => {
8+
return value;
9+
};
10+
11+
};
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
'use strict';
2+
3+
const benchmark = require('../2-benchmark.js');
4+
5+
const test1api = {
6+
moduleName: {
7+
submodule1: require('./lib1/submodule1'),
8+
submodule2: require('./lib1/submodule2')
9+
}
10+
};
11+
12+
const test2api = {
13+
moduleName: {
14+
submodule1: require('./lib2/submodule1'),
15+
submodule2: require('./lib2/submodule2')
16+
}
17+
};
18+
19+
const test3api = {};
20+
test3api.moduleName = {};
21+
require('./lib3/submodule1')(test3api);
22+
require('./lib3/submodule2')(test3api);
23+
24+
console.dir(test1api);
25+
console.dir(test2api);
26+
console.dir(test3api);
27+
28+
function test1() {
29+
const a = test1api.moduleName.submodule1.first('Value');
30+
const b = test1api.moduleName.submodule1.second(a);
31+
const c = test1api.moduleName.submodule2.third(b);
32+
const d = test1api.moduleName.submodule2.fourth(c);
33+
return d;
34+
}
35+
36+
function test2() {
37+
const a = test2api.moduleName.submodule1.first('Value');
38+
const b = test2api.moduleName.submodule1.second(a);
39+
const c = test2api.moduleName.submodule2.third(b);
40+
const d = test2api.moduleName.submodule2.fourth(c);
41+
return d;
42+
}
43+
44+
function test3() {
45+
const a = test3api.moduleName.first('Value');
46+
const b = test3api.moduleName.second(a);
47+
const c = test3api.moduleName.third(b);
48+
const d = test3api.moduleName.fourth(c);
49+
return d;
50+
}
51+
52+
benchmark.do(100000000, 10, [
53+
test1,
54+
test2,
55+
test3
56+
]);

0 commit comments

Comments
 (0)