blob: 4ab9ba8ae2d7c7f9338efe7d5a11978b263c23a0 [file] [log] [blame]
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]