| table: | |
| include tables/unicode.dis |
| flags: {testmode: backward} |
| tests: |
| # verify no dots |
| - - "⠀" |
| - "\\\\0/" |
| |
| table: | |
| include tables/unicode.dis |
| include tables/spaces.uti |
| flags: {testmode: backward} |
| tests: |
| # verify that each undefined dot is rendered as its correct number |
| - - "⠁ ⠂ ⠄ ⠈ ⠐ ⠠ ⡀ ⢀" |
| - "\\\\1/ \\\\2/ \\\\3/ \\\\4/ \\\\5/ \\\\6/ \\\\7/ \\\\8/" |
| |
| # verify that the dot numbers are rendered in ascending order |
| - - "⠃ ⠆ ⠌ ⠘ ⠰ ⡠ ⣀" |
| - "\\\\12/ \\\\23/ \\\\34/ \\\\45/ \\\\56/ \\\\67/ \\\\78/" |
| |
| table: | |
| include tables/unicode.dis |
| flags: {testmode: backward} |
| tests: |
| - - ⠸ |
| - \\456/ |
| - - ⠸ |
| - "" |
| - mode: [noUndefined] |
| |
| table: | |
| include tables/unicode.dis |
| include tables/spaces.uti |
| include tables/latinLetterDef6Dots.uti |
| display + 346 |
| display % 146 |
| display ( 12356 |
| display ) 23456 |
| flags: {testmode: backward} |
| tests: |
| |
| # by default undefined dot patterns are printed as follows |
| - - ⠌ |
| - \\34/ |
| - outputPos: [0] |
| inputPos: [0, 0, 0, 0] |
| |
| # in backward translation, the noUndefined mode omits undefined dot patterns |
| - - ⠌ |
| - "" |
| - outputPos: [-1] |
| inputPos: [] |
| mode: [noUndefined] |
| |
| - - "( +% )" |
| - "\\\\12356/ \\\\346/\\\\146/ \\\\23456/" |
| - outputPos: [0, 7, 8, 13, 18, 19] |
| inputPos: [0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 5, 5, 5, 5, 5, 5, 5] |
| |
| - - "( +% )" |
| - " " |
| - outputPos: [0, 0, 1, 1, 1, 1] |
| inputPos: [0, 2] |
| mode: [noUndefined] |
| |
| table: | |
| include tables/unicode-without-blank.dis |
| include tables/spaces.uti |
| include tables/latinLetterDef6Dots.uti |
| include tables/loweredDigits6Dots.uti |
| sign \\ 16 |
| sign ' 3 |
| flags: {testmode: forward} |
| tests: |
| |
| # by default undefined characters are converted to an escape sequence and then to braille |
| - - "\u2026" |
| - ⠄⠡⠭⠆⠴⠆⠖⠄ |
| - outputPos: [0] |
| inputPos: [0, 0, 0, 0, 0, 0, 0, 0] |
| |
| # in forward translation, the noUndefined mode omits undefined characters |
| - - "\u2026" |
| - "" |
| - outputPos: [-1] |
| inputPos: [] |
| mode: [noUndefined] |
| |
| - - "\u2018xyz\u2026\u22EEjkl\u2019" |
| - ⠄⠡⠭⠆⠴⠂⠦⠄⠭⠽⠵⠄⠡⠭⠆⠴⠆⠖⠄⠄⠡⠭⠆⠆⠑⠑⠄⠚⠅⠇⠄⠡⠭⠆⠴⠂⠔⠄ |
| - outputPos: [0, 8, 9, 10, 11, 19, 27, 28, 29, 30] |
| inputPos: [0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 6, 7, 8, 9, 9, 9, 9, 9, 9, 9, 9] |
| |
| - - "\u2018xyz\u2026\u22EEjkl\u2019" |
| - "⠭⠽⠵⠚⠅⠇" |
| - outputPos: [0, 0, 1, 2, 2, 2, 3, 4, 5, 5] |
| inputPos: [1, 2, 3, 6, 7, 8] |
| mode: [noUndefined] |
| |
| # the undefined opcode has precedence over the noUndefined mode |
| table: | |
| include tables/unicode-without-blank.dis |
| include tables/spaces.uti |
| include tables/latinLetterDef6Dots.uti |
| include tables/loweredDigits6Dots.uti |
| sign \\ 16 |
| sign ' 3 |
| undefined 1368 |
| flags: {testmode: forward} |
| tests: |
| |
| - - \x2026 |
| - ⢥ |
| |
| - - \x2026 |
| - ⢥ |
| - mode: [noUndefined] |
| |
| # verify that all the fallback dot patterns needed to render undefined characters in hexadecimal work |
| # for example if \ and ' are not defined in the table, the escape sequence is translated using 12567 for \ and 3 for ' |
| table: | |
| include tables/unicode.dis |
| # don't define any characters so that the fallback dot patterns will be used |
| flags: {testmode: forward} |
| tests: |
| |
| - - "\\x98ab\\x76cd \\x54ef\\x3210" |
| - "⠄⡳⠭⠔⠦⠁⠃⠄⠄⡳⠭⠶⠖⠉⠙⠄⠄⡳⠭⠴⠴⠆⠴⠄⠄⡳⠭⠢⠲⠑⠋⠄⠄⡳⠭⠒⠆⠂⠴⠄" |
| |
| # noUndefined has no effect on characters and dots that are matched by a translation rule |
| table: | |
| include tables/unicode.dis |
| always xx 34 |
| flags: {testmode: bothDirections} |
| tests: |
| - - xx |
| - ⠌ |
| - outputPos: [0, 0] |
| inputPos: [0] |
| mode: [noUndefined] |