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]

