MCPcopy Index your code
hub / github.com/react/react / update

Function update

compiler/packages/snap/src/reporter.ts:78–136  ·  view source on GitHub ↗
(results: TestResults)

Source from the content-addressed store, hash-verified

76 * Update the fixtures directory given the compilation results
77 */
78export async function update(results: TestResults): Promise<void> {
79 let deleted = 0;
80 let updated = 0;
81 let created = 0;
82 const failed = [];
83 for (const [basename, result] of results) {
84 if (result.unexpectedError != null) {
85 console.log(
86 chalk.red.inverse.bold(' FAILED ') + ' ' + chalk.dim(basename),
87 );
88 failed.push([basename, result.unexpectedError]);
89 } else if (result.actual == null) {
90 // Input was deleted but the expect file still existed, remove it
91 console.log(
92 chalk.red.inverse.bold(' REMOVE ') + ' ' + chalk.dim(basename),
93 );
94 try {
95 fs.unlinkSync(result.outputPath);
96 console.log(' remove ' + result.outputPath);
97 deleted++;
98 } catch (e) {
99 console.error(
100 '[Snap tester error]: failed to remove ' + result.outputPath,
101 );
102 failed.push([basename, result.unexpectedError]);
103 }
104 } else if (result.actual !== result.expected) {
105 // Expected output has changed
106 console.log(
107 chalk.blue.inverse.bold(' UPDATE ') + ' ' + chalk.dim(basename),
108 );
109 try {
110 fs.writeFileSync(result.outputPath, result.actual, 'utf8');
111 } catch (e) {
112 if (e?.code === 'ENOENT') {
113 // May have failed to create nested dir, so make a directory and retry
114 fs.mkdirSync(path.dirname(result.outputPath), {recursive: true});
115 fs.writeFileSync(result.outputPath, result.actual, 'utf8');
116 }
117 }
118 if (result.expected == null) {
119 created++;
120 } else {
121 updated++;
122 }
123 } else {
124 // Expected output is current
125 console.log(
126 chalk.green.inverse.bold(' OKAY ') + ' ' + chalk.dim(basename),
127 );
128 }
129 }
130 console.log(
131 `${deleted} Deleted, ${created} Created, ${updated} Updated, ${failed.length} Failed`,
132 );
133 for (const [basename, errorMsg] of failed) {
134 console.log(`${chalk.red.bold('Fail:')} ${basename}\n${errorMsg}`);
135 }

Callers 2

onChangeFunction · 0.90
mainFunction · 0.90

Calls 2

pushMethod · 0.65
errorMethod · 0.65

Tested by

no test coverage detected