MCPcopy Create free account
hub / github.com/stenciljs/core / createTestingSystem

Function createTestingSystem

src/testing/testing-sys.ts:16–92  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

14}
15
16export const createTestingSystem = (): TestingSystem => {
17 let diskReads = 0;
18 let diskWrites = 0;
19 const sys = createSystem();
20
21 sys.platformPath = path;
22
23 sys.generateContentHash = (content, length) => {
24 let hash = createHash('sha1').update(content).digest('hex').toLowerCase();
25
26 if (typeof length === 'number') {
27 hash = hash.slice(0, length);
28 }
29 return Promise.resolve(hash);
30 };
31
32 const wrapRead = (fn: any) => {
33 const orgFn = fn;
34 return (...args: any[]) => {
35 diskReads++;
36 return orgFn.apply(orgFn, args);
37 };
38 };
39
40 const wrapWrite = (fn: any) => {
41 const orgFn = fn;
42 return (...args: any[]) => {
43 diskWrites++;
44 return orgFn.apply(orgFn, args);
45 };
46 };
47
48 sys.access = wrapRead(sys.access);
49 sys.accessSync = wrapRead(sys.accessSync);
50 sys.homeDir = wrapRead(sys.homeDir);
51 sys.readFile = wrapRead(sys.readFile);
52 sys.readFileSync = wrapRead(sys.readFileSync);
53 sys.readDir = wrapRead(sys.readDir);
54 sys.readDirSync = wrapRead(sys.readDirSync);
55 sys.stat = wrapRead(sys.stat);
56 sys.statSync = wrapRead(sys.statSync);
57
58 sys.copyFile = wrapWrite(sys.copyFile);
59 sys.createDir = wrapWrite(sys.createDir);
60 sys.createDirSync = wrapWrite(sys.createDirSync);
61 sys.removeFile = wrapWrite(sys.removeFile);
62 sys.removeFileSync = wrapWrite(sys.removeFileSync);
63 sys.writeFile = wrapWrite(sys.writeFile);
64 sys.writeFileSync = wrapWrite(sys.writeFileSync);
65
66 sys.getCompilerExecutingPath = () => 'bin/stencil.js';
67
68 Object.defineProperties(sys, {
69 diskReads: {
70 get() {
71 return diskReads;
72 },
73 set(val: number) {

Callers 7

run.spec.tsFile · 0.90
mockValidatedConfigFunction · 0.90
mockConfigFunction · 0.90
mockCompilerSystemFunction · 0.90

Calls 6

createSystemFunction · 0.90
wrapReadFunction · 0.85
wrapWriteFunction · 0.85
isTestingSystemFunction · 0.85
resolveMethod · 0.80
updateMethod · 0.65

Tested by

no test coverage detected