(callback: (button: any) => void)
| 863 | } |
| 864 | |
| 865 | addButton(callback: (button: any) => void): Setting { |
| 866 | const mockButton = { |
| 867 | buttonEl: Object.assign(document.createElement('button'), { |
| 868 | addClasses: function(classes: string[]) { |
| 869 | classes.forEach(cls => this.classList.add(cls)); |
| 870 | } |
| 871 | }), |
| 872 | setButtonText: (text: string) => { mockButton.buttonEl.textContent = text; return mockButton; }, |
| 873 | setTooltip: (text: string) => { mockButton.buttonEl.title = text; return mockButton; }, |
| 874 | setCta: () => mockButton, |
| 875 | setWarning: () => mockButton, |
| 876 | onClick: (cb: () => void) => { mockButton.buttonEl.addEventListener('click', cb); return mockButton; }, |
| 877 | }; |
| 878 | // Append to controls so text is visible in DOM for tests |
| 879 | this.controlEl.appendChild(mockButton.buttonEl); |
| 880 | callback(mockButton); |
| 881 | return this; |
| 882 | } |
| 883 | } |
| 884 | |
| 885 | // PluginSettingTab mock class |
no outgoing calls
no test coverage detected