-
-
Notifications
You must be signed in to change notification settings - Fork 224
/
example-es-test.js
32 lines (30 loc) · 1.15 KB
/
example-es-test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import globby from "globby";
import path from "node:path";
import url from "node:url";
const __filename__ = url.fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename__);
const sourceDir = path.join(__dirname, "..", "source");
/**
* ESMのexampleを評価するテスト
* Note: ESMには対応していない
**/
describe("example:es", function() {
const esmFiles = globby.sync([
`${sourceDir}/use-case/todoapp/**/*-example.js`, // *-example.js
`${sourceDir}/use-case/todoapp/**/*.example.js`, // *.example.js
`${sourceDir}/use-case/nodecli/**/example/**/*.js`,
`!${sourceDir}/**/node_modules{,/**}`,
]);
esmFiles.forEach(filePath => {
const normalizeFilePath = filePath.replace(sourceDir, "");
// TODO: doctestはしていないで、読み込んでOKかどうかだけ
it(`example:es ${normalizeFilePath}`, function() {
return import(filePath).catch(error => {
// Stack Trace like
console.error(`Dynamic Eval is failed
at doctest (${filePath}:1:1)`);
return Promise.reject(error);
});
});
});
});