()
| 287 | } |
| 288 | |
| 289 | async getPlaceholder(): Promise<string> { |
| 290 | const input = await this.findTextarea(); |
| 291 | if (input) { |
| 292 | // Try data-placeholder attribute first (for contentEditable) |
| 293 | const dataPlaceholder = await input.getAttribute('data-placeholder'); |
| 294 | if (dataPlaceholder) { |
| 295 | return dataPlaceholder; |
| 296 | } |
| 297 | |
| 298 | // Fallback to placeholder attribute (for textarea) |
| 299 | return (await input.getAttribute('placeholder')) || ''; |
| 300 | } |
| 301 | return ''; |
| 302 | } |
| 303 | |
| 304 | async focus(): Promise<void> { |
| 305 | const input = await this.findTextarea(); |
no test coverage detected