dom-testing-library
dom-testing-library copied to clipboard
Behavior of waitForElementToBeRemoved when first call throws
@testing-library/domversion: 8.11.2
Problem description:
There is currently no exception catching for the initial call inside waitForElementToBeRemoved. When that call of callback throws, instead of getting the error Error('The element(s) given to waitForElementToBeRemoved are already removed...') we will get the error thrown from the callback, even when it is a TestingLibraryElementError. This contradicts the documented behavior:
waitForElementToBeRemoved(() => getByText(/not here/i)).catch(err =>
console.log(err),
)
// Error: The element(s) given to waitForElementToBeRemoved are already removed. waitForElementToBeRemoved requires that the element(s) exist(s) before waiting for removal.
Suggested solution:
See #1094.
This contradicts the documented behavior:
The documentation is contradicting itself already. It only says that it'll throw on null or empty arrays. But it doesn't say that () => null will throw. However, it later includes waitForElementToBeRemoved(() => getByText(/not here/i)) in the examples.
So documentation should be clarified as well.