| Test Moving forward/backward |
| Test 1, LTR: |
| Moving forward: "\nabc ABC xyz DEF def\n"[1, 20] |
| Moving backward: "\nabc ABC xyz DEF def\n"[20, 1] |
| Test 1, RTL: |
| Moving forward: "\nabc ABC xyz DEF def\n"[1, 20] |
| Moving backward: "\nabc ABC xyz DEF def\n"[20, 1] |
| Test 2, LTR: |
| Moving forward: "\nABC xyz DEF def GHI\n"[1, 20] |
| Moving backward: "\nABC xyz DEF def GHI\n"[20, 1] |
| Test 2, RTL: |
| Moving forward: "\nABC xyz DEF def GHI\n"[1, 20] |
| Moving backward: "\nABC xyz DEF def GHI\n"[20, 1] |
| Test 3, LTR: |
| Moving forward: "\nABC DEF ABC\n"[1, 12] |
| Moving backward: "\nABC DEF ABC\n"[12, 1] |
| Test 3, RTL: |
| Moving forward: "\nABC DEF ABC\n"[1, 12] |
| Moving backward: "\nABC DEF ABC\n"[12, 1] |
| Test 4, LTR: |
| Moving forward: "\nabc efd dabeb\n"[1, 14] |
| Moving backward: "\nabc efd dabeb\n"[14, 1] |
| Test 4, RTL: |
| Moving forward: "\nabc efd dabeb\n"[1, 14] |
| Moving backward: "\nabc efd dabeb\n"[14, 1] |
| Test 5, LTR: |
| Moving forward: "Lorem "[0], " amet"[5] |
| Moving backward: " amet"[5], "Lorem "[0] |
| Test 5, RTL: |
| Moving forward: "Lorem "[0], " amet"[5] |
| Moving backward: " amet"[5], "Lorem "[0] |
| Test 6, LTR: |
| Moving forward: "Lorem "[0], "ipsum dolor"[11] |
| Moving backward: "ipsum dolor"[11], "Lorem "[0] |
| Test 6, RTL: |
| Moving forward: "Lorem "[0], "ipsum dolor"[11] |
| Moving backward: "ipsum dolor"[11], "Lorem "[0] |
| Test 7, LTR: |
| Moving forward: "Lorem "[0], " amet"[5] |
| Moving backward: " amet"[5], "Lorem "[0] |
| Test 7, RTL: |
| Moving forward: "Lorem "[0], " amet"[5] |
| Moving backward: " amet"[5], "Lorem "[0] |
| Test 8, LTR: |
| Moving forward: "Lorem "[0, 5] |
| Moving backward: "Lorem "[5, 0] |
| Test 8, RTL: |
| Moving forward: "Lorem "[0, 5] |
| Moving backward: "Lorem "[5, 0] |
| Test 9, LTR: |
| Moving forward: "Lorem "[0], " amet"[5] |
| Moving backward: " amet"[5], "Lorem "[0] |
| Test 9, RTL: |
| Moving forward: "Lorem "[0], " amet"[5] |
| Moving backward: " amet"[5], "Lorem "[0] |
| Test 10, LTR: |
| Moving forward: "Lorem "[0], "ipsum dolor"[11] |
| Moving backward: "ipsum dolor"[11], "Lorem "[0] |
| Test 10, RTL: |
| Moving forward: "Lorem "[0], "ipsum dolor"[11] |
| Moving backward: "ipsum dolor"[11], "Lorem "[0] |
| Test 11, LTR: |
| Moving forward: "Lorem "[0], " amet"[5] |
| Moving backward: " amet"[5], "Lorem "[0] |
| Test 11, RTL: |
| Moving forward: "Lorem "[0], " amet"[5] |
| Moving backward: " amet"[5], "Lorem "[0] |
| Test 12, LTR: |
| Moving forward: "Lorem "[0, 5] |
| Moving backward: "Lorem "[5, 0] |
| Test 12, RTL: |
| Moving forward: "Lorem "[0, 5] |
| Moving backward: "Lorem "[5, 0] |
| Test 13, LTR: |
| Moving forward: "\n Just\n "[2], "\n BFDX\n"[6] |
| Moving backward: "\n BFDX\n"[6], "\n Just\n "[2] |
| Test 13, RTL: |
| Moving forward: "\n Just\n "[2], "\n BFDX\n"[6] |
| Moving backward: "\n BFDX\n"[6], "\n Just\n "[2] |
| Test 14, LTR: |
| Moving forward: "\n Just\n "[2], "\n ever\n"[6] |
| Moving backward: "\n ever\n"[6], "\n Just\n "[2] |
| Test 14, RTL: |
| Moving forward: "\n Just\n "[2], "\n ever\n"[6] |
| Moving backward: "\n ever\n"[6], "\n Just\n "[2] |
| Test 15, LTR: |
| Moving forward: "car means ABC."[0, 14] |
| Moving backward: "car means ABC."[14, 0] |
| Test 15, RTL: |
| Moving forward: "car means ABC."[0, 14] |
| Moving backward: "car means ABC."[14, 0] |
| Test 16, LTR: |
| Moving forward: "car DEF ABC."[0, 14] |
| Moving backward: "car DEF ABC."[14, 0] |
| Test 16, RTL: |
| Moving forward: "car DEF ABC."[0, 14] |
| Moving backward: "car DEF ABC."[14, 0] |
| Test 17, LTR: |
| Moving forward: "he said "car DEF ABC.""[0, 24] |
| Moving backward: "he said "car DEF ABC.""[24, 0] |
| Test 17, RTL: |
| Moving forward: "he said "car DEF ABC.""[0, 24] |
| Moving backward: "he said "car DEF ABC.""[24, 0] |
| Test 18, LTR: |
| Moving forward: "GHI JKL MNO 'he said "car DEF ABC"'?"[0, 40] |
| Moving backward: "GHI JKL MNO 'he said "car DEF ABC"'?"[40, 0] |
| Test 18, RTL: |
| Moving forward: "GHI JKL MNO 'he said "car DEF ABC"'?"[0, 40] |
| Moving backward: "GHI JKL MNO 'he said "car DEF ABC"'?"[40, 0] |
| Test 19, LTR: |
| Moving forward: "ABC abc DEF"[0, 11] |
| Moving backward: "ABC abc DEF"[11, 0] |
| Test 19, RTL: |
| Moving forward: "ABC abc DEF"[0, 11] |
| Moving backward: "ABC abc DEF"[11, 0] |
| Test 20, LTR: |
| Moving forward: "abcdefg abcdefg abcdefg a abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg "[0, 8] |
| Moving backward: "abcdefg abcdefg abcdefg a abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg "[8, 0] |
| Test 20, RTL: |
| Moving forward: "abcdefg abcdefg abcdefg a abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg "[0, 8] |
| Moving backward: "abcdefg abcdefg abcdefg a abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg "[8, 0] |
| Test 21, LTR: |
| Moving forward: "abcdefg abcdefg abcdefg a abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg "[0, 8] |
| Moving backward: "abcdefg abcdefg abcdefg a abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg "[8, 0] |
| Test 21, RTL: |
| Moving forward: "abcdefg abcdefg abcdefg a abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg "[0, 8] |
| Moving backward: "abcdefg abcdefg abcdefg a abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg "[8, 0] |
| Test Moving right/left |
| Test 1, LTR: |
| Moving right: "\nabc ABC xyz DEF def\n"[1, 20] |
| Moving left: "\nabc ABC xyz DEF def\n"[20, 1] |
| Test 1, RTL: |
| Moving left: "\nabc ABC xyz DEF def\n"[1, 20] |
| Moving right: "\nabc ABC xyz DEF def\n"[20, 1] |
| Test 2, LTR: |
| Moving right: "\nABC xyz DEF def GHI\n"[1, 20] |
| Moving left: "\nABC xyz DEF def GHI\n"[20, 1] |
| Test 2, RTL: |
| Moving left: "\nABC xyz DEF def GHI\n"[1, 20] |
| Moving right: "\nABC xyz DEF def GHI\n"[20, 1] |
| Test 3, LTR: |
| Moving right: "\nABC DEF ABC\n"[1, 12] |
| Moving left: "\nABC DEF ABC\n"[12, 1] |
| Test 3, RTL: |
| Moving left: "\nABC DEF ABC\n"[1, 12] |
| Moving right: "\nABC DEF ABC\n"[12, 1] |
| Test 4, LTR: |
| Moving right: "\nabc efd dabeb\n"[1, 14] |
| Moving left: "\nabc efd dabeb\n"[14, 1] |
| Test 4, RTL: |
| Moving left: "\nabc efd dabeb\n"[1, 14] |
| Moving right: "\nabc efd dabeb\n"[14, 1] |
| Test 5, LTR: |
| Moving right: "Lorem "[0], " amet"[5] |
| Moving left: " amet"[5], "Lorem "[0] |
| Test 5, RTL: |
| Moving left: "Lorem "[0], " amet"[5] |
| Moving right: " amet"[5], "Lorem "[0] |
| Test 6, LTR: |
| Moving right: "Lorem "[0], "ipsum dolor"[11] |
| Moving left: "ipsum dolor"[11], "Lorem "[0] |
| Test 6, RTL: |
| Moving left: "Lorem "[0], "ipsum dolor"[11] |
| Moving right: "ipsum dolor"[11], "Lorem "[0] |
| Test 7, LTR: |
| Moving right: "Lorem "[0], " amet"[5] |
| Moving left: " amet"[5], "Lorem "[0] |
| Test 7, RTL: |
| Moving left: "Lorem "[0], " amet"[5] |
| Moving right: " amet"[5], "Lorem "[0] |
| Test 8, LTR: |
| Moving right: "Lorem "[0, 5] |
| Moving left: "Lorem "[5, 0] |
| Test 8, RTL: |
| Moving left: "Lorem "[0, 5] |
| Moving right: "Lorem "[5, 0] |
| Test 9, LTR: |
| Moving right: "Lorem "[0], " amet"[5] |
| Moving left: " amet"[5], "Lorem "[0] |
| Test 9, RTL: |
| Moving left: "Lorem "[0], " amet"[5] |
| Moving right: " amet"[5], "Lorem "[0] |
| Test 10, LTR: |
| Moving right: "Lorem "[0], "ipsum dolor"[11] |
| Moving left: "ipsum dolor"[11], "Lorem "[0] |
| Test 10, RTL: |
| Moving left: "Lorem "[0], "ipsum dolor"[11] |
| Moving right: "ipsum dolor"[11], "Lorem "[0] |
| Test 11, LTR: |
| Moving right: "Lorem "[0], " amet"[5] |
| Moving left: " amet"[5], "Lorem "[0] |
| Test 11, RTL: |
| Moving left: "Lorem "[0], " amet"[5] |
| Moving right: " amet"[5], "Lorem "[0] |
| Test 12, LTR: |
| Moving right: "Lorem "[0, 5] |
| Moving left: "Lorem "[5, 0] |
| Test 12, RTL: |
| Moving left: "Lorem "[0, 5] |
| Moving right: "Lorem "[5, 0] |
| Test 13, LTR: |
| Moving right: "\n Just\n "[2], "\n BFDX\n"[6] |
| Moving left: "\n BFDX\n"[6], "\n Just\n "[2] |
| Test 13, RTL: |
| Moving left: "\n Just\n "[2], "\n BFDX\n"[6] |
| Moving right: "\n BFDX\n"[6], "\n Just\n "[2] |
| Test 14, LTR: |
| Moving right: "\n Just\n "[2], "\n ever\n"[6] |
| Moving left: "\n ever\n"[6], "\n Just\n "[2] |
| Test 14, RTL: |
| Moving left: "\n Just\n "[2], "\n ever\n"[6] |
| Moving right: "\n ever\n"[6], "\n Just\n "[2] |
| Test 15, LTR: |
| Moving right: "car means ABC."[0, 14] |
| Moving left: "car means ABC."[14, 0] |
| Test 15, RTL: |
| Moving left: "car means ABC."[0, 14] |
| Moving right: "car means ABC."[14, 0] |
| Test 16, LTR: |
| Moving right: "car DEF ABC."[0, 14] |
| Moving left: "car DEF ABC."[14, 0] |
| Test 16, RTL: |
| Moving left: "car DEF ABC."[0, 14] |
| Moving right: "car DEF ABC."[14, 0] |
| Test 17, LTR: |
| Moving right: "he said "car DEF ABC.""[0, 24] |
| Moving left: "he said "car DEF ABC.""[24, 0] |
| Test 17, RTL: |
| Moving left: "he said "car DEF ABC.""[0, 24] |
| Moving right: "he said "car DEF ABC.""[24, 0] |
| Test 18, LTR: |
| Moving right: "GHI JKL MNO 'he said "car DEF ABC"'?"[0, 40] |
| Moving left: "GHI JKL MNO 'he said "car DEF ABC"'?"[40, 0] |
| Test 18, RTL: |
| Moving left: "GHI JKL MNO 'he said "car DEF ABC"'?"[0, 40] |
| Moving right: "GHI JKL MNO 'he said "car DEF ABC"'?"[40, 0] |
| Test 19, LTR: |
| Moving right: "ABC abc DEF"[0, 11] |
| Moving left: "ABC abc DEF"[11, 0] |
| Test 19, RTL: |
| Moving left: "ABC abc DEF"[0, 11] |
| Moving right: "ABC abc DEF"[11, 0] |
| Test 20, LTR: |
| Moving right: "abcdefg abcdefg abcdefg a abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg "[0, 8] |
| Moving left: "abcdefg abcdefg abcdefg a abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg "[8, 0] |
| Test 20, RTL: |
| Moving left: "abcdefg abcdefg abcdefg a abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg "[0, 8] |
| Moving right: "abcdefg abcdefg abcdefg a abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg "[8, 0] |
| Test 21, LTR: |
| Moving right: "abcdefg abcdefg abcdefg a abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg "[0, 8] |
| Moving left: "abcdefg abcdefg abcdefg a abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg "[8, 0] |
| Test 21, RTL: |
| Moving left: "abcdefg abcdefg abcdefg a abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg "[0, 8] |
| Moving right: "abcdefg abcdefg abcdefg a abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg abcdefg "[8, 0] |
| |