This tests that when we are calling the replace with range API to insert or replace text, value change notifications are posted as expected with correct user info data.

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


PASS addedNotification is true
PASS axContentEditableDiv.replaceTextInRange('Apple', 0, 0) is true
PASS axContentEditableDiv.stringValue is 'AXValue: Apple'
PASS axContentEditableDiv.replaceTextInRange('Pie', 0, 5) is true
PASS axContentEditableDiv.stringValue is 'AXValue: Pie'
PASS axText.replaceTextInRange('Banana', 0, 0) is true
PASS axText.stringValue is 'AXValue: Banana'
PASS axText.replaceTextInRange('Ice-cream', 0, 6) is true
PASS axText.stringValue is 'AXValue: Ice-cream'
PASS axTextarea.replaceTextInRange('Cat', 0, 0) is true
PASS axTextarea.stringValue is 'AXValue: Cat'
PASS actualChangeTypes[resultIndex] is AXTextStateChangeTypeEdit
PASS actualChangeValues[resultIndex] is expectedValues[resultIndex]
PASS actualEditTypes[resultIndex] is "Insert"
PASS actualChangeTypes[resultIndex] is AXTextStateChangeTypeEdit
PASS actualChangeValues[resultIndex][0] is expectedValues[resultIndex][0]
PASS actualEditTypes[resultIndex][0] is "Delete"
PASS actualChangeValues[resultIndex][1] is expectedValues[resultIndex][1]
PASS actualEditTypes[resultIndex][1] is "Insert"
PASS actualChangeTypes[resultIndex] is AXTextStateChangeTypeEdit
PASS actualChangeValues[resultIndex] is expectedValues[resultIndex]
PASS actualEditTypes[resultIndex] is "Insert"
PASS actualChangeTypes[resultIndex] is AXTextStateChangeTypeEdit
PASS actualChangeValues[resultIndex][0] is expectedValues[resultIndex][0]
PASS actualEditTypes[resultIndex][0] is "Delete"
PASS actualChangeValues[resultIndex][1] is expectedValues[resultIndex][1]
PASS actualEditTypes[resultIndex][1] is "Insert"
PASS actualChangeTypes[resultIndex] is AXTextStateChangeTypeEdit
PASS actualChangeValues[resultIndex] is expectedValues[resultIndex]
PASS actualEditTypes[resultIndex] is "Insert"
PASS actualChangeTypes[resultIndex] is AXTextStateChangeTypeEdit
PASS actualChangeValues[resultIndex][0] is expectedValues[resultIndex][0]
PASS actualEditTypes[resultIndex][0] is "Delete"
PASS actualChangeValues[resultIndex][1] is expectedValues[resultIndex][1]
PASS actualEditTypes[resultIndex][1] is "Insert"
PASS axTextarea.replaceTextInRange('Dog', 0, 3) is true
PASS axTextarea.stringValue is 'AXValue: Dog'
PASS successfullyParsed is true

TEST COMPLETE

