21 lines
690 B
TypeScript
21 lines
690 B
TypeScript
import type { MatcherFunction } from 'expect';
|
|
|
|
// eslint-disable-next-line func-names
|
|
export const toHaveDataDate: MatcherFunction<[dataDate: unknown]> = function (actual, dataDate) {
|
|
if (!(actual instanceof HTMLElement)) {
|
|
throw new TypeError('These must be HTMLElement!');
|
|
}
|
|
|
|
const actualDataDate = actual.getAttribute('data-date');
|
|
const pass = this.equals(actualDataDate, dataDate);
|
|
|
|
const message = () => `${this.utils.matcherHint('toHaveDataDate', 'element')}\n\n`
|
|
+ `Expected element to have data-date attribute:\n ${this.utils.printExpected(dataDate)}\n`
|
|
+ `Received:\n ${this.utils.printReceived(actualDataDate)}`;
|
|
|
|
return {
|
|
message,
|
|
pass,
|
|
};
|
|
};
|