@testing-library/react-native
Version:
Simple and complete React Native testing utilities that encourage good testing practices.
41 lines (40 loc) • 1.66 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.bindByDisplayValueQueries = void 0;
var _findAll = require("../helpers/findAll");
var _hostComponentNames = require("../helpers/host-component-names");
var _matches = require("../matches");
var _makeQueries = require("./makeQueries");
const matchDisplayValue = (node, value, options = {}) => {
const {
exact,
normalizer
} = options;
const nodeValue = node.props.value ?? node.props.defaultValue;
return (0, _matches.matches)(value, nodeValue, normalizer, exact);
};
const queryAllByDisplayValue = instance => function queryAllByDisplayValueFn(displayValue, queryOptions) {
return (0, _findAll.findAll)(instance, node => (0, _hostComponentNames.isHostTextInput)(node) && matchDisplayValue(node, displayValue, queryOptions), queryOptions);
};
const getMultipleError = displayValue => `Found multiple elements with display value: ${String(displayValue)} `;
const getMissingError = displayValue => `Unable to find an element with displayValue: ${String(displayValue)}`;
const {
getBy,
getAllBy,
queryBy,
queryAllBy,
findBy,
findAllBy
} = (0, _makeQueries.makeQueries)(queryAllByDisplayValue, getMissingError, getMultipleError);
const bindByDisplayValueQueries = instance => ({
getByDisplayValue: getBy(instance),
getAllByDisplayValue: getAllBy(instance),
queryByDisplayValue: queryBy(instance),
queryAllByDisplayValue: queryAllBy(instance),
findByDisplayValue: findBy(instance),
findAllByDisplayValue: findAllBy(instance)
});
exports.bindByDisplayValueQueries = bindByDisplayValueQueries;
//# sourceMappingURL=displayValue.js.map
;