# Converted from present_progressive.c with additional tests by buevest # Note that this test used to fail worse than it does now. The # current situation isn't hugely critical, though probably still # incorrect. # There are two key portions of the string: the "ing" (which gets # contracted to one character) and the double space at the end. When # translated, you get: "greetings " -> "greet+s " Notice that the # translation also contracts the double space into a single space. # With regard to cursor position, compbrlAtCursor is set, which means # that the word encompassed by the cursor will be uncontracted # (computer braille). This means that if the cursor is anywhere # within "greetings", the translated output will also be "greetings", # so the cursor positions are identical up to the end of the s # (position 8). # It gets more interesting at position 9 (the first space). Now, # greetings gets contracted, so the output cursor position becomes 7. # Still correct so far. # Position 10 (the second space) is the problem. Because # compbrlAtCursor is set, the current word should probably be # expanded. In this case, it is just a space. However, the two spaces # are still compressed into one, even though the second should have # been expanded. The translation has still contracted the second # space, even though it should have stopped contracting at the # cursor. # See also the description in # http://code.google.com/p/liblouis/issues/detail?id=4 # buevest: # To me, it looks as follows: # if compbrlAtCursor is selected, all compressed spaces in the string # are expanded. # The only exception is if the cursor is placed on the last of a # series of otherwise compressed spaces. Then that exact space is # removed, making 2 spaces into 1, 3 into 2 etc. table: | include tables/unicode-without-blank.dis include tables/spaces.uti include tables/latinLetterDef6Dots.uti math + 346 include tables/compress.cti midendword ing 346 tests: - - 'greetings ' - '⠛⠗⠑⠑⠞⠬⠎ ' - - 'greetings ' - '⠛⠗⠑⠑⠞⠊⠝⠛⠎ ' - mode: [compbrlAtCursor] cursorPos: [1,1] xfail: true # actual output: '⠛⠗⠑⠑⠞⠊⠝⠛⠎ ' - - 'greetings greetings ' - '⠛⠗⠑⠑⠞⠊⠝⠛⠎ ⠛⠗⠑⠑⠞⠬⠎ ' - mode: [compbrlAtCursor] cursorPos: [1,1] xfail: true # actual output: '⠛⠗⠑⠑⠞⠊⠝⠛⠎ ⠛⠗⠑⠑⠞⠬⠎ ' - - 'greetings ' - '⠛⠗⠑⠑⠞⠬⠎ ' - mode: [compbrlAtCursor] cursorPos: [9,7] - - 'greetings ' - '⠛⠗⠑⠑⠞⠬⠎ ' - mode: [compbrlAtCursor] cursorPos: [10,8] xfail: true # actual output: '⠛⠗⠑⠑⠞⠬⠎ ' - - 'greetings ' - '⠛⠗⠑⠑⠞⠬⠎ ' - mode: [compbrlAtCursor] cursorPos: [9,7] - - 'greetings ' - '⠛⠗⠑⠑⠞⠬⠎ ' - mode: [compbrlAtCursor] cursorPos: [10,8] - - 'greetings ' - '⠛⠗⠑⠑⠞⠬⠎ ' - mode: [compbrlAtCursor] cursorPos: [11,9] xfail: true # actual output: '⠛⠗⠑⠑⠞⠬⠎ ' - - 'greetings g' - '⠛⠗⠑⠑⠞⠬⠎ ⠛' - mode: [compbrlAtCursor] cursorPos: [11,9] xfail: true # actual output: '⠛⠗⠑⠑⠞⠬⠎ ⠛'