




Extending by word
Test 1, LTR:
  Extending right:    "\nabc ABC xyz DEF def\n"[(1,1), (1,4), (1,8), (1,12), (1,16), (1,20)]
  Extending left:     "\nabc ABC xyz DEF def\n"[(1,20), (1,17), (1,13), (1,9), (1,5), (1,1)]
  Extending forward:  "\nabc ABC xyz DEF def\n"[(1,1), (1,4), (1,8), (1,12), (1,16), (1,20)]
  Extending backward: "\nabc ABC xyz DEF def\n"[(1,20), (1,17), (1,13), (1,9), (1,5), (1,1)]
Test 1, RTL:
  Extending left:     "\nabc ABC xyz DEF def\n"[(1,1), (1,4), (1,8), (1,12), (1,16), (1,20)]
  Extending right:    "\nabc ABC xyz DEF def\n"[(1,20), (1,17), (1,13), (1,9), (1,5), (1,1)]
  Extending forward:  "\nabc ABC xyz DEF def\n"[(1,1), (1,4), (1,8), (1,12), (1,16), (1,20)]
  Extending backward: "\nabc ABC xyz DEF def\n"[(1,20), (1,17), (1,13), (1,9), (1,5), (1,1)]


  validating ltrRight and ltrLeft
  validating ltrRight and ltrForward
  validating ltrForward and rtlForward
  validating ltrLeft and ltrBackward
  validating ltrBackward and rtlBackward
  validating ltrRight and rtlLeft
  validating ltrLeft and rtlRight


Test 2, LTR:
  Extending right:    "\nABC xyz DEF def GHI\n"[(1,1), (1,4), (1,8), (1,12), (1,16), (1,20)]
  Extending left:     "\nABC xyz DEF def GHI\n"[(1,20), (1,17), (1,13), (1,9), (1,5), (1,1)]
  Extending forward:  "\nABC xyz DEF def GHI\n"[(1,1), (1,4), (1,8), (1,12), (1,16), (1,20)]
  Extending backward: "\nABC xyz DEF def GHI\n"[(1,20), (1,17), (1,13), (1,9), (1,5), (1,1)]
Test 2, RTL:
  Extending left:     "\nABC xyz DEF def GHI\n"[(1,1), (1,4), (1,8), (1,12), (1,16), (1,20)]
  Extending right:    "\nABC xyz DEF def GHI\n"[(1,20), (1,17), (1,13), (1,9), (1,5), (1,1)]
  Extending forward:  "\nABC xyz DEF def GHI\n"[(1,1), (1,4), (1,8), (1,12), (1,16), (1,20)]
  Extending backward: "\nABC xyz DEF def GHI\n"[(1,20), (1,17), (1,13), (1,9), (1,5), (1,1)]


  validating ltrRight and ltrLeft
  validating ltrRight and ltrForward
  validating ltrForward and rtlForward
  validating ltrLeft and ltrBackward
  validating ltrBackward and rtlBackward
  validating ltrRight and rtlLeft
  validating ltrLeft and rtlRight


Test 3, LTR:
  Extending right:    "\nABC DEF ABC\n"[(1,1), (1,4), (1,8), (1,12)]
  Extending left:     "\nABC DEF ABC\n"[(1,12), (1,9), (1,5), (1,1)]
  Extending forward:  "\nABC DEF ABC\n"[(1,1), (1,4), (1,8), (1,12)]
  Extending backward: "\nABC DEF ABC\n"[(1,12), (1,9), (1,5), (1,1)]
Test 3, RTL:
  Extending left:     "\nABC DEF ABC\n"[(1,1), (1,4), (1,8), (1,12)]
  Extending right:    "\nABC DEF ABC\n"[(1,12), (1,9), (1,5), (1,1)]
  Extending forward:  "\nABC DEF ABC\n"[(1,1), (1,4), (1,8), (1,12)]
  Extending backward: "\nABC DEF ABC\n"[(1,12), (1,9), (1,5), (1,1)]


  validating ltrRight and ltrLeft
  validating ltrRight and ltrForward
  validating ltrForward and rtlForward
  validating ltrLeft and ltrBackward
  validating ltrBackward and rtlBackward
  validating ltrRight and rtlLeft
  validating ltrLeft and rtlRight


Test 4, LTR:
  Extending right:    "\nabc efd dabeb\n"[(1,1), (1,4), (1,8), (1,14)]
  Extending left:     "\nabc efd dabeb\n"[(1,14), (1,9), (1,5), (1,1)]
  Extending forward:  "\nabc efd dabeb\n"[(1,1), (1,4), (1,8), (1,14)]
  Extending backward: "\nabc efd dabeb\n"[(1,14), (1,9), (1,5), (1,1)]
Test 4, RTL:
  Extending left:     "\nabc efd dabeb\n"[(1,1), (1,4), (1,8), (1,14)]
  Extending right:    "\nabc efd dabeb\n"[(1,14), (1,9), (1,5), (1,1)]
  Extending forward:  "\nabc efd dabeb\n"[(1,1), (1,4), (1,8), (1,14)]
  Extending backward: "\nabc efd dabeb\n"[(1,14), (1,9), (1,5), (1,1)]


  validating ltrRight and ltrLeft
  validating ltrRight and ltrForward
  validating ltrForward and rtlForward
  validating ltrLeft and ltrBackward
  validating ltrBackward and rtlBackward
  validating ltrRight and rtlLeft
  validating ltrLeft and rtlRight


Test 5, LTR:
  Extending right:    "Lorem "[(0,0), (0,5)], "ipsum dolor sit"[(0,5), (0,11), (0,15)], " amet"[(0,5)]
  Extending left:     " amet"[(0,5), (0,1)], "ipsum dolor sit"[(0,12), (0,6)], "Lorem "[(0,6), (0,0)]
  Extending forward:  "Lorem "[(0,0), (0,5)], "ipsum dolor sit"[(0,5), (0,11), (0,15)], " amet"[(0,5)]
  Extending backward: " amet"[(0,5), (0,1)], "ipsum dolor sit"[(0,12), (0,6)], "Lorem "[(0,6), (0,0)]
Test 5, RTL:
  Extending left:     "Lorem "[(0,0), (0,5)], "ipsum dolor sit"[(0,5), (0,11), (0,15)], " amet"[(0,5)]
  Extending right:    " amet"[(0,5), (0,1)], "ipsum dolor sit"[(0,12), (0,6)], "Lorem "[(0,6), (0,0)]
  Extending forward:  "Lorem "[(0,0), (0,5)], "ipsum dolor sit"[(0,5), (0,11), (0,15)], " amet"[(0,5)]
  Extending backward: " amet"[(0,5), (0,1)], "ipsum dolor sit"[(0,12), (0,6)], "Lorem "[(0,6), (0,0)]


  validating ltrRight and ltrLeft
  validating ltrRight and ltrForward
  validating ltrForward and rtlForward
  validating ltrLeft and ltrBackward
  validating ltrBackward and rtlBackward
  validating ltrRight and rtlLeft
  validating ltrLeft and rtlRight


Test 6, LTR:
  Extending right:    "Lorem "[(0,0), (0,5)], "ipsum dolor sit"[(0,5), (0,11), (0,15)], " amet"[(0,5)]
  Extending left:     " amet"[(0,5), (0,1)], "ipsum dolor sit"[(0,12), (0,6)], "Lorem "[(0,6), (0,0)]
  Extending forward:  "Lorem "[(0,0), (0,5)], "ipsum dolor sit"[(0,5), (0,11), (0,15)], " amet"[(0,5)]
  Extending backward: " amet"[(0,5), (0,1)], "ipsum dolor sit"[(0,12), (0,6)], "Lorem "[(0,6), (0,0)]
Test 6, RTL:
  Extending left:     "Lorem "[(0,0), (0,5)], "ipsum dolor sit"[(0,5), (0,11), (0,15)], " amet"[(0,5)]
  Extending right:    " amet"[(0,5), (0,1)], "ipsum dolor sit"[(0,12), (0,6)], "Lorem "[(0,6), (0,0)]
  Extending forward:  "Lorem "[(0,0), (0,5)], "ipsum dolor sit"[(0,5), (0,11), (0,15)], " amet"[(0,5)]
  Extending backward: " amet"[(0,5), (0,1)], "ipsum dolor sit"[(0,12), (0,6)], "Lorem "[(0,6), (0,0)]


  validating ltrRight and ltrLeft
  validating ltrRight and ltrForward
  validating ltrForward and rtlForward
  validating ltrLeft and ltrBackward
  validating ltrBackward and rtlBackward
  validating ltrRight and rtlLeft
  validating ltrLeft and rtlRight


Test 7, LTR:
  Extending right:    "Lorem "[(0,0), (0,5)], "ipsum dolor sit"[(0,5), (0,11), (0,15)], " amet"[(0,5)]
  Extending left:     " amet"[(0,5), (0,1)], "ipsum dolor sit"[(0,12), (0,6)], "Lorem "[(0,6), (0,0)]
  Extending forward:  "Lorem "[(0,0), (0,5)], "ipsum dolor sit"[(0,5), (0,11), (0,15)], " amet"[(0,5)]
  Extending backward: " amet"[(0,5), (0,1)], "ipsum dolor sit"[(0,12), (0,6)], "Lorem "[(0,6), (0,0)]
Test 7, RTL:
  Extending left:     "Lorem "[(0,0), (0,5)], "ipsum dolor sit"[(0,5), (0,11), (0,15)], " amet"[(0,5)]
  Extending right:    " amet"[(0,5), (0,1)], "ipsum dolor sit"[(0,12), (0,6)], "Lorem "[(0,6), (0,0)]
  Extending forward:  "Lorem "[(0,0), (0,5)], "ipsum dolor sit"[(0,5), (0,11), (0,15)], " amet"[(0,5)]
  Extending backward: " amet"[(0,5), (0,1)], "ipsum dolor sit"[(0,12), (0,6)], "Lorem "[(0,6), (0,0)]


  validating ltrRight and ltrLeft
  validating ltrRight and ltrForward
  validating ltrForward and rtlForward
  validating ltrLeft and ltrBackward
  validating ltrBackward and rtlBackward
  validating ltrRight and rtlLeft
  validating ltrLeft and rtlRight


Test 8, LTR:
  Extending right:    "Lorem "[(0,0), (0,5)], "ipsum dolor sit"[(0,5), (0,11), (0,15)], " amet"[(0,5)]
  Extending left:     " amet"[(0,5), (0,1)], "ipsum dolor sit"[(0,12), (0,6)], "Lorem "[(0,6), (0,0)]
  Extending forward:  "Lorem "[(0,0), (0,5)], "ipsum dolor sit"[(0,5), (0,11), (0,15)], " amet"[(0,5)]
  Extending backward: " amet"[(0,5), (0,1)], "ipsum dolor sit"[(0,12), (0,6)], "Lorem "[(0,6), (0,0)]
Test 8, RTL:
  Extending left:     "Lorem "[(0,0), (0,5)], "ipsum dolor sit"[(0,5), (0,11), (0,15)], " amet"[(0,5)]
  Extending right:    " amet"[(0,5), (0,1)], "ipsum dolor sit"[(0,12), (0,6)], "Lorem "[(0,6), (0,0)]
  Extending forward:  "Lorem "[(0,0), (0,5)], "ipsum dolor sit"[(0,5), (0,11), (0,15)], " amet"[(0,5)]
  Extending backward: " amet"[(0,5), (0,1)], "ipsum dolor sit"[(0,12), (0,6)], "Lorem "[(0,6), (0,0)]


  validating ltrRight and ltrLeft
  validating ltrRight and ltrForward
  validating ltrForward and rtlForward
  validating ltrLeft and ltrBackward
  validating ltrBackward and rtlBackward
  validating ltrRight and rtlLeft
  validating ltrLeft and rtlRight



