| 763 | * @deprecated use retry + expect instead |
| 764 | */ |
| 765 | export async function check( |
| 766 | contentFn: () => unknown | Promise<unknown>, |
| 767 | regex: boolean | number | string | RegExp |
| 768 | ): Promise<boolean> { |
| 769 | let content: unknown |
| 770 | let lastErr: unknown |
| 771 | |
| 772 | for (let tries = 0; tries < 30; tries++) { |
| 773 | try { |
| 774 | content = await contentFn() |
| 775 | if (typeof regex !== 'object') { |
| 776 | if (regex === content) { |
| 777 | return true |
| 778 | } |
| 779 | } else if (regex.test('' + content)) { |
| 780 | // found the content |
| 781 | return true |
| 782 | } |
| 783 | await waitFor(1000) |
| 784 | } catch (err) { |
| 785 | await waitFor(1000) |
| 786 | lastErr = err |
| 787 | } |
| 788 | } |
| 789 | console.error('TIMED OUT CHECK: ', { regex, content, lastErr }) |
| 790 | throw new Error('TIMED OUT: ' + regex + '\n\n' + content + '\n\n' + lastErr) |
| 791 | } |
| 792 | |
| 793 | export class File { |
| 794 | path: string |