Home / Function/ transformFixture() — react Function Reference

transformFixture() — react Function Reference

Architecture documentation for the transformFixture() function in runner-worker.ts from the react codebase.

Entity Profile

Dependency Diagram

graph TD
  5e39198b_b086_5261_de7a_7fc49349ecb6["transformFixture()"]
  49c99dfe_ec8f_3cb7_769b_a3b735b82b82["runner-worker.ts"]
  5e39198b_b086_5261_de7a_7fc49349ecb6 -->|defined in| 49c99dfe_ec8f_3cb7_769b_a3b735b82b82
  4b902db8_39ff_6c09_0a25_3a6bd51d0bf7["runTestCommand()"]
  4b902db8_39ff_6c09_0a25_3a6bd51d0bf7 -->|calls| 5e39198b_b086_5261_de7a_7fc49349ecb6
  8b079862_93aa_0084_8b1a_0473b6ef4307["runFixtures()"]
  8b079862_93aa_0084_8b1a_0473b6ef4307 -->|calls| 5e39198b_b086_5261_de7a_7fc49349ecb6
  c681c19b_5647_fd2d_e194_c12d81c722da["getBasename()"]
  5e39198b_b086_5261_de7a_7fc49349ecb6 -->|calls| c681c19b_5647_fd2d_e194_c12d81c722da
  bf1ae175_0a76_7aa4_ad79_8ea2236e3b0a["isExpectError()"]
  5e39198b_b086_5261_de7a_7fc49349ecb6 -->|calls| bf1ae175_0a76_7aa4_ad79_8ea2236e3b0a
  7b109a5c_c041_536b_2f9e_eb9ea6d3da19["compile()"]
  5e39198b_b086_5261_de7a_7fc49349ecb6 -->|calls| 7b109a5c_c041_536b_2f9e_eb9ea6d3da19
  81e68010_37f1_e748_b452_7cc28e601cad["runSprout()"]
  5e39198b_b086_5261_de7a_7fc49349ecb6 -->|calls| 81e68010_37f1_e748_b452_7cc28e601cad
  84944777_d7ed_3ce5_35bb_d71af47d5891["writeOutputToString()"]
  5e39198b_b086_5261_de7a_7fc49349ecb6 -->|calls| 84944777_d7ed_3ce5_35bb_d71af47d5891
  style 5e39198b_b086_5261_de7a_7fc49349ecb6 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

compiler/packages/snap/src/runner-worker.ts lines 165–237

export async function transformFixture(
  fixture: TestFixture,
  compilerVersion: number,
  shouldLog: boolean,
  includeEvaluator: boolean,
): Promise<TestResult> {
  const {input, snapshot: expected, snapshotPath: outputPath} = fixture;
  const basename = getBasename(fixture);
  const expectError = isExpectError(fixture);

  // Input will be null if the input file did not exist, in which case the output file
  // is stale
  if (input === null) {
    return {
      outputPath,
      actual: null,
      expected,
      unexpectedError: null,
    };
  }
  const {compileResult, error} = await compile(
    input,
    fixture.fixturePath,
    compilerVersion,
    shouldLog,
    includeEvaluator,
  );

  let unexpectedError: string | null = null;
  if (expectError) {
    if (error === null) {
      unexpectedError = `Expected an error to be thrown for fixture: \`${basename}\`, remove the 'error.' prefix if an error is not expected.`;
    }
  } else {
    if (error !== null) {
      unexpectedError = `Expected fixture \`${basename}\` to succeed but it failed with error:\n\n${error}`;
    } else if (compileResult == null) {
      unexpectedError = `Expected output for fixture \`${basename}\`.`;
    }
  }

  const snapOutput: string | null = compileResult?.forgetOutput ?? null;
  let sproutOutput: string | null = null;
  if (compileResult?.evaluatorCode != null) {
    const sproutResult = runSprout(
      compileResult.evaluatorCode.original,
      compileResult.evaluatorCode.forget,
    );
    if (sproutResult.kind === 'invalid') {
      unexpectedError ??= '';
      unexpectedError += `\n\n${sproutResult.value}`;
    } else {
      sproutOutput = sproutResult.value;
    }
  } else if (!includeEvaluator && expected != null) {
    sproutOutput = expected.split('\n### Eval output\n')[1];
  }

  const actualOutput = writeOutputToString(
    input,
    snapOutput,
    sproutOutput,
    compileResult?.logs ?? null,
    error,
  );

  return {
    outputPath,
    actual: actualOutput,
    expected,
    unexpectedError,
  };
}

Domain

Subdomains

Frequently Asked Questions

What does transformFixture() do?
transformFixture() is a function in the react codebase, defined in compiler/packages/snap/src/runner-worker.ts.
Where is transformFixture() defined?
transformFixture() is defined in compiler/packages/snap/src/runner-worker.ts at line 165.
What does transformFixture() call?
transformFixture() calls 5 function(s): compile, getBasename, isExpectError, runSprout, writeOutputToString.
What calls transformFixture()?
transformFixture() is called by 2 function(s): runFixtures, runTestCommand.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free