Home / Function/ registerTestHandlers() — react Function Reference

registerTestHandlers() — react Function Reference

Architecture documentation for the registerTestHandlers() function in ResponderEventPlugin-test.internal.js from the react codebase.

Entity Profile

Dependency Diagram

graph TD
  30ad5426_ac7b_a10b_0cde_0836589b4c3f["registerTestHandlers()"]
  51a704bf_9ecd_8c0a_35b5_9021d42bc06c["ResponderEventPlugin-test.internal.js"]
  30ad5426_ac7b_a10b_0cde_0836589b4c3f -->|defined in| 51a704bf_9ecd_8c0a_35b5_9021d42bc06c
  dfac43d1_b30f_e607_5d22_81ad05fb7ac7["run()"]
  dfac43d1_b30f_e607_5d22_81ad05fb7ac7 -->|calls| 30ad5426_ac7b_a10b_0cde_0836589b4c3f
  094c0e71_57a4_80c6_586e_d07a715a73d7["putListener()"]
  30ad5426_ac7b_a10b_0cde_0836589b4c3f -->|calls| 094c0e71_57a4_80c6_586e_d07a715a73d7
  006ae3fa_7d0d_07c4_7fa4_f988e94fc362["getInstanceFromNode()"]
  30ad5426_ac7b_a10b_0cde_0836589b4c3f -->|calls| 006ae3fa_7d0d_07c4_7fa4_f988e94fc362
  style 30ad5426_ac7b_a10b_0cde_0836589b4c3f fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/react-native-renderer/src/__tests__/ResponderEventPlugin-test.internal.js lines 231–296

const registerTestHandlers = function (eventTestConfig, readableIDToID) {
  const runs = {dispatchCount: 0};
  const neverFire = function (readableID, registrationName) {
    runs.dispatchCount++;
    expect('').toBe(
      'Event type: ' +
        registrationName +
        '\nShould never occur on:' +
        readableID +
        '\nFor event test config:\n' +
        JSON.stringify(eventTestConfig) +
        '\n',
    );
  };

  const registerOneEventType = function (
    registrationName,
    eventTypeTestConfig,
  ) {
    for (const readableID in eventTypeTestConfig) {
      const nodeConfig = eventTypeTestConfig[readableID];
      const id = readableIDToID[readableID];
      const handler =
        nodeConfig.order === NA
          ? neverFire.bind(null, readableID, registrationName)
          : // We partially apply readableID and nodeConfig, as they change in the
            // parent closure across iterations.
            function (rID, config, e) {
              expect(
                rID +
                  '->' +
                  registrationName +
                  ' index:' +
                  runs.dispatchCount++,
              ).toBe(rID + '->' + registrationName + ' index:' + config.order);
              if (config.assertEvent) {
                config.assertEvent(e);
              }
              return config.returnVal;
            }.bind(null, readableID, nodeConfig);
      putListener(getInstanceFromNode(id), registrationName, handler);
    }
  };
  for (const eventName in eventTestConfig) {
    const oneEventTypeTestConfig = eventTestConfig[eventName];
    const hasTwoPhase = !!oneEventTypeTestConfig.bubbled;
    if (hasTwoPhase) {
      registerOneEventType(
        ResponderEventPlugin.eventTypes[eventName].phasedRegistrationNames
          .bubbled,
        oneEventTypeTestConfig.bubbled,
      );
      registerOneEventType(
        ResponderEventPlugin.eventTypes[eventName].phasedRegistrationNames
          .captured,
        oneEventTypeTestConfig.captured,
      );
    } else {
      registerOneEventType(
        ResponderEventPlugin.eventTypes[eventName].registrationName,
        oneEventTypeTestConfig,
      );
    }
  }
  return runs;
};

Domain

Subdomains

Called By

Frequently Asked Questions

What does registerTestHandlers() do?
registerTestHandlers() is a function in the react codebase, defined in packages/react-native-renderer/src/__tests__/ResponderEventPlugin-test.internal.js.
Where is registerTestHandlers() defined?
registerTestHandlers() is defined in packages/react-native-renderer/src/__tests__/ResponderEventPlugin-test.internal.js at line 231.
What does registerTestHandlers() call?
registerTestHandlers() calls 2 function(s): getInstanceFromNode, putListener.
What calls registerTestHandlers()?
registerTestHandlers() is called by 1 function(s): run.

Analyze Your Own Codebase

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

Try Supermodel Free