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]