Spaces:
Paused
Paused
| ; | |
| Object.defineProperty(exports, "__esModule", { | |
| value: true | |
| }); | |
| exports.configure = configure; | |
| exports.getConfig = getConfig; | |
| exports.runWithExpensiveErrorDiagnosticsDisabled = runWithExpensiveErrorDiagnosticsDisabled; | |
| var _prettyDom = require("./pretty-dom"); | |
| // It would be cleaner for this to live inside './queries', but | |
| // other parts of the code assume that all exports from | |
| // './queries' are query functions. | |
| let config = { | |
| testIdAttribute: 'data-testid', | |
| asyncUtilTimeout: 1000, | |
| // asyncWrapper and advanceTimersWrapper is to support React's async `act` function. | |
| // forcing react-testing-library to wrap all async functions would've been | |
| // a total nightmare (consider wrapping every findBy* query and then also | |
| // updating `within` so those would be wrapped too. Total nightmare). | |
| // so we have this config option that's really only intended for | |
| // react-testing-library to use. For that reason, this feature will remain | |
| // undocumented. | |
| asyncWrapper: cb => cb(), | |
| unstable_advanceTimersWrapper: cb => cb(), | |
| eventWrapper: cb => cb(), | |
| // default value for the `hidden` option in `ByRole` queries | |
| defaultHidden: false, | |
| // default value for the `ignore` option in `ByText` queries | |
| defaultIgnore: 'script, style', | |
| // showOriginalStackTrace flag to show the full error stack traces for async errors | |
| showOriginalStackTrace: false, | |
| // throw errors w/ suggestions for better queries. Opt in so off by default. | |
| throwSuggestions: false, | |
| // called when getBy* queries fail. (message, container) => Error | |
| getElementError(message, container) { | |
| const prettifiedDOM = (0, _prettyDom.prettyDOM)(container); | |
| const error = new Error([message, `Ignored nodes: comments, ${config.defaultIgnore}\n${prettifiedDOM}`].filter(Boolean).join('\n\n')); | |
| error.name = 'TestingLibraryElementError'; | |
| return error; | |
| }, | |
| _disableExpensiveErrorDiagnostics: false, | |
| computedStyleSupportsPseudoElements: false | |
| }; | |
| function runWithExpensiveErrorDiagnosticsDisabled(callback) { | |
| try { | |
| config._disableExpensiveErrorDiagnostics = true; | |
| return callback(); | |
| } finally { | |
| config._disableExpensiveErrorDiagnostics = false; | |
| } | |
| } | |
| function configure(newConfig) { | |
| if (typeof newConfig === 'function') { | |
| // Pass the existing config out to the provided function | |
| // and accept a delta in return | |
| newConfig = newConfig(config); | |
| } | |
| // Merge the incoming config delta | |
| config = { | |
| ...config, | |
| ...newConfig | |
| }; | |
| } | |
| function getConfig() { | |
| return config; | |
| } |