You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
2.3 KiB
59 lines
2.3 KiB
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.bindByA11yValueQueries = void 0;
|
|
var _accessiblity = require("../helpers/accessiblity");
|
|
var _deprecation = require("../helpers/deprecation");
|
|
var _findAll = require("../helpers/findAll");
|
|
var _accessibilityValue = require("../helpers/matchers/accessibilityValue");
|
|
var _makeQueries = require("./makeQueries");
|
|
const queryAllByA11yValue = instance => function queryAllByA11yValueFn(value, queryOptions) {
|
|
return (0, _findAll.findAll)(instance, node => typeof node.type === 'string' && (0, _accessibilityValue.matchAccessibilityValue)(node, value), queryOptions);
|
|
};
|
|
const formatQueryParams = matcher => {
|
|
const params = [];
|
|
_accessiblity.accessiblityValueKeys.forEach(valueKey => {
|
|
if (matcher[valueKey] !== undefined) {
|
|
params.push(`${valueKey} value: ${matcher[valueKey]}`);
|
|
}
|
|
});
|
|
return params.join(', ');
|
|
};
|
|
const getMultipleError = matcher => `Found multiple elements with ${formatQueryParams(matcher)}`;
|
|
const getMissingError = matcher => `Unable to find an element with ${formatQueryParams(matcher)}`;
|
|
const {
|
|
getBy,
|
|
getAllBy,
|
|
queryBy,
|
|
queryAllBy,
|
|
findBy,
|
|
findAllBy
|
|
} = (0, _makeQueries.makeQueries)(queryAllByA11yValue, getMissingError, getMultipleError);
|
|
const bindByA11yValueQueries = instance => {
|
|
const getByA11yValue = getBy(instance);
|
|
const getAllByA11yValue = getAllBy(instance);
|
|
const queryByA11yValue = queryBy(instance);
|
|
const queryAllByA11yValue = queryAllBy(instance);
|
|
const findByA11yValue = findBy(instance);
|
|
const findAllByA11yValue = findAllBy(instance);
|
|
return {
|
|
...(0, _deprecation.deprecateQueries)({
|
|
getByA11yValue,
|
|
getAllByA11yValue,
|
|
queryByA11yValue,
|
|
queryAllByA11yValue,
|
|
findByA11yValue,
|
|
findAllByA11yValue,
|
|
getByAccessibilityValue: getByA11yValue,
|
|
getAllByAccessibilityValue: getAllByA11yValue,
|
|
queryByAccessibilityValue: queryByA11yValue,
|
|
queryAllByAccessibilityValue: queryAllByA11yValue,
|
|
findByAccessibilityValue: findByA11yValue,
|
|
findAllByAccessibilityValue: findAllByA11yValue
|
|
}, 'Use expect(...).toHaveAccessibilityValue(...) matcher from "@testing-library/jest-native" package or {queryPrefix}ByRole(role, { value: ... }) query instead.')
|
|
};
|
|
};
|
|
exports.bindByA11yValueQueries = bindByA11yValueQueries;
|
|
//# sourceMappingURL=a11yValue.js.map
|