| <!DOCTYPE html> |
| <html> |
| <body onselectstart="handler(event)"> |
| <p>This test ensures selectstart event fires when selecting all.</p> |
| <script> |
| |
| if (window.testRunner) { |
| testRunner.dumpAsText(); |
| testRunner.dumpEditingCallbacks(); |
| } |
| |
| var targetWasBody = true; |
| var handlerCount = 0; |
| var listenerCount = 0; |
| |
| function handler(event) { |
| if (event.target != document.body) |
| targetWasBody = false; |
| handlerCount++; |
| } |
| |
| document.body.addEventListener('selectstart', function (event) { |
| if (event.target != document.body) |
| targetWasBody = false; |
| listenerCount++; |
| }); |
| |
| document.execCommand('SelectAll', false, null); |
| |
| if (handlerCount != 1) |
| document.writeln("FAIL: selectionstart's event handler was called " + handlerCount + ' times'); |
| else if (listenerCount != 1) |
| document.writeln("FAIL: selectionstart's event listener was called " + listenerCount + ' times'); |
| else if (!targetWasBody) |
| document.writeln("FAIL: target node wasn't body"); |
| else if (window.getSelection().toString() != document.body.innerText) |
| document.writeln("FAIL: some contents on document was not selected"); |
| else |
| document.writeln("PASS"); |
| |
| </script> |
| </body> |
| </html> |