@testing-library/react-native
Version:
Simple and complete React Native testing utilities that encourage good testing practices.
32 lines (31 loc) • 1.37 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.toBeOnTheScreen = toBeOnTheScreen;
var _jestMatcherUtils = require("jest-matcher-utils");
var _redent = _interopRequireDefault(require("redent"));
var _componentTree = require("../helpers/component-tree");
var _formatElement = require("../helpers/format-element");
var _screen = require("../screen");
var _utils = require("./utils");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
function toBeOnTheScreen(element) {
if (element !== null || !this.isNot) {
(0, _utils.checkHostElement)(element, toBeOnTheScreen, this);
}
const pass = element === null ? false : _screen.screen.UNSAFE_root === (0, _componentTree.getUnsafeRootElement)(element);
const errorFound = () => {
return `expected element tree not to contain element, but found\n${(0, _redent.default)((0, _formatElement.formatElement)(element), 2)}`;
};
const errorNotFound = () => {
return `element could not be found in the element tree`;
};
return {
pass,
message: () => {
return [(0, _jestMatcherUtils.matcherHint)(`${this.isNot ? '.not' : ''}.toBeOnTheScreen`, 'element', ''), '', (0, _jestMatcherUtils.RECEIVED_COLOR)(this.isNot ? errorFound() : errorNotFound())].join('\n');
}
};
}
//# sourceMappingURL=to-be-on-the-screen.js.map
;