text

text1
c  d

can't select
abc de f
😃😏

a b

audiofile

This tests the next/previous text marker functions are implemented correctly.

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


PASS text.textMarkerRangeLength(textMarkerRange) is 4
PASS text.accessibilityElementForTextMarker(startMarker).isEqual(text) is true
PASS text.accessibilityElementForTextMarker(endMarker).isEqual(text) is true
PASS text.stringForTextMarkerRange(markerRange) is newline
PASS text.stringForTextMarkerRange(markerRange) is 't'
PASS text.stringForTextMarkerRange(markerRange) is newline
PASS text.stringForTextMarkerRange(markerRange) is 't' + newline
PASS text2.textMarkerRangeLength(textMarkerRange2) is 5
Object string for range: c [ATTACHMENT] d
PASS text2.stringForTextMarkerRange(markerRange) is 'd'
PASS text2.stringForTextMarkerRange(markerRange) is '1'
PASS text3.stringForTextMarkerRange(markerRange) is 'ect'
PASS text3.stringForTextMarkerRange(markerRange) is 'sel'
PASS !psw.accessibilityElementForTextMarker(start) is true
PASS text2.accessibilityElementForTextMarker(currentMarker).isEqual(text3) is true
PASS text2.accessibilityElementForTextMarker(currentMarker).isEqual(text2.childAtIndex(2)) is true
PASS text.stringForTextMarkerRange(markerRange) is 'f'
PASS text.stringForTextMarkerRange(markerRange) is 'a'
PASS text.textMarkerRangeLength(emojiTextMarkerRange) is 4
PASS text.stringForTextMarkerRange(text.textMarkerRangeForMarkers(result.previous, result.current)) is '😏'
PASS text.stringForTextMarkerRange(text.textMarkerRangeForMarkers(result.previous, result.current)) is '😃'
PASS text.textMarkerRangeLength(collapsedWhitespaceMarkerRange) is 3
PASS text.stringForTextMarkerRange(text.textMarkerRangeForMarkers(result.previous, result.current)) is 'a'
PASS text.stringForTextMarkerRange(text.textMarkerRangeForMarkers(result.previous, result.current)) is ' '
PASS text.stringForTextMarkerRange(text.textMarkerRangeForMarkers(result.previous, result.current)) is 'b'
PASS text.stringForTextMarkerRange(text.textMarkerRangeForMarkers(result.previous, result.current)) is ' '
PASS text.stringForTextMarkerRange(text.textMarkerRangeForMarkers(result.previous, result.current)) is 'a'
PASS text.stringForTextMarkerRange(textMarkerRange) is 'audio￼file'
PASS text.stringForTextMarkerRange(markerRange) is '￼'
PASS text.stringForTextMarkerRange(markerRange) is '￼'
PASS successfullyParsed is true

TEST COMPLETE

