# test data was provided by Kevin Derome in a mail to the mailing list
# (https://www.freelists.org/post/liblouis-liblouisxml/error--backtranslate-frbfucomp6utb)

table: [tables/unicode.dis, tables/fr-bfu-comp6.utb]
flags: {testmode: forward}
tests:
  -
    - château
    - ⠉⠓⠡⠞⠑⠁⠥

table: [tables/unicode.dis, tables/fr-bfu-comp6.utb]
flags: {testmode: backward}
tests:
  -
    - ⠉⠓⠡⠞⠑⠁⠥
    - château
# ------------------------------------------------------------------------------

# Added by André-Abush CLAUSE, november 2017
table: [tables/unicode.dis, tables/fr-bfu-comp6.utb]
flags: {testmode: forward}
tests:
  - - a b c d e f g h i j k l m n o p q r s t u v w x y z
    - ⠁ ⠃ ⠉ ⠙ ⠑ ⠋ ⠛ ⠓ ⠊ ⠚ ⠅ ⠇ ⠍ ⠝ ⠕ ⠏ ⠟ ⠗ ⠎ ⠞ ⠥ ⠧ ⠺ ⠭ ⠽ ⠵
  - - 1 2 3 4 5 6 7 8 9 0 42 1234
    - ⠠⠡ ⠠⠣ ⠠⠩ ⠠⠹ ⠠⠱ ⠠⠫ ⠠⠻ ⠠⠳ ⠠⠪ ⠠⠼ ⠠⠹⠣ ⠠⠡⠣⠩⠹
  - - 3*3 1+1=2 1/4=0,25
    - ⠠⠩⠔⠩ ⠠⠡⠖⠡⠶⠣ ⠠⠡⠌⠹⠶⠼⠂⠣⠱
  - - 4^2=16 4^(1+2-6)
    - ⠠⠹⠈⠣⠶⠡⠫ ⠠⠹⠈⠦⠡⠖⠣⠤⠫⠴
  - - 4-2=2 -2 1-(-4-2)=7
    - ⠠⠹⠤⠣⠶⠣ ⠠⠤⠣ ⠠⠡⠤⠦⠤⠹⠤⠣⠴⠶⠻
  - - +1 & Ah! Eh! Oh!
    - ⠠⠖⠡ ⠐⠿ ⠨⠁⠓⠖ ⠨⠑⠓⠖ ⠨⠕⠓⠖
  - ['+', '⠠⠖']
  - ['=', '⠠⠶']
  - ['=42', '⠠⠶⠹⠣']
  - ['!1 "12', '⠖⠠⠡ ⠶⠠⠡⠣']
  - - "\"Tout grand progrès scientifique est né d'une nouvelle audace de l'imagination.\""
    - ⠶⠨⠞⠕⠥⠞ ⠛⠗⠁⠝⠙ ⠏⠗⠕⠛⠗⠮⠎ ⠎⠉⠊⠑⠝⠞⠊⠋⠊⠟⠥⠑ ⠑⠎⠞ ⠝⠿ ⠙⠄⠥⠝⠑ ⠝⠕⠥⠧⠑⠇⠇⠑ ⠁⠥⠙⠁⠉⠑ ⠙⠑ ⠇⠄⠊⠍⠁⠛⠊⠝⠁⠞⠊⠕⠝⠲⠶
  - - â ê î ô û ë ï ü œ Â Ê Î Ô Û Ë Ï Ü Œ
    - ⠡ ⠣ ⠩ ⠹ ⠱ ⠫ ⠻ ⠳ ⠪ ⠨⠡ ⠨⠣ ⠨⠩ ⠨⠹ ⠨⠱ ⠨⠫ ⠨⠻ ⠨⠳ ⠨⠪
  - - àéóù À É Ó Ù ÀÉÓÙ
    - ⠷⠿⠬⠾ ⠨⠷ ⠨⠿ ⠨⠬ ⠨⠾ ⠨⠨⠷⠿⠬⠾
  - - BONJOUR à Tous!
    - ⠨⠨⠃⠕⠝⠚⠕⠥⠗ ⠷ ⠨⠞⠕⠥⠎⠖
  - - "CA, DG, G7: G20, IA, B2m, B2G, h2 3D"
    - "⠨⠨⠉⠁⠂ ⠨⠨⠙⠛⠂ ⠨⠛⠠⠻⠒ ⠨⠛⠠⠣⠼⠂ ⠨⠨⠊⠁⠂ ⠨⠃⠠⠣⠍⠂ ⠨⠃⠠⠣⠨⠛⠂ ⠓⠠⠣ ⠠⠩⠨⠙"
  - ['À+', '⠨⠷⠠⠖']
  - ['Ça, ÇA et ça', '⠨⠯⠁⠂ ⠨⠨⠯⠁ ⠑⠞ ⠯⠁']
  - - bœuf, chœur, manœuvre, mœurs, œil, œuf, œuvre, sœur
    - ⠃⠪⠥⠋⠂ ⠉⠓⠪⠥⠗⠂ ⠍⠁⠝⠪⠥⠧⠗⠑⠂ ⠍⠪⠥⠗⠎⠂ ⠪⠊⠇⠂ ⠪⠥⠋⠂ ⠪⠥⠧⠗⠑⠂ ⠎⠪⠥⠗
  - - 10£ 20€ 30¥ 42$ 50% 100‰ 0°
    - ⠠⠡⠼⠘⠇ ⠠⠣⠼⠘⠑ ⠠⠩⠼⠘⠽ ⠠⠹⠣⠘⠎ ⠠⠱⠼⠐⠬ ⠠⠡⠼⠼⠐⠬⠬ ⠠⠼⠐⠕
  - - âge; âme; bâtir; pâle; être; forêt; même; rêve; naître; paraître; côte; piqûre
    - ⠡⠛⠑⠆ ⠡⠍⠑⠆ ⠃⠡⠞⠊⠗⠆ ⠏⠡⠇⠑⠆ ⠣⠞⠗⠑⠆ ⠋⠕⠗⠣⠞⠆ ⠍⠣⠍⠑⠆ ⠗⠣⠧⠑⠆ ⠝⠁⠩⠞⠗⠑⠆ ⠏⠁⠗⠁⠩⠞⠗⠑⠆ ⠉⠹⠞⠑⠆ ⠏⠊⠟⠱⠗⠑
  - - aiguë, ambiguë, contiguë, exiguë, canoë; aïe, aïeul, coïncider, archaïque, haïr, ouïe, ouïr, astéroïde, maïs, paranoïa; capharnaüm
    - ⠁⠊⠛⠥⠫⠂ ⠁⠍⠃⠊⠛⠥⠫⠂ ⠉⠕⠝⠞⠊⠛⠥⠫⠂ ⠑⠭⠊⠛⠥⠫⠂ ⠉⠁⠝⠕⠫⠆ ⠁⠻⠑⠂ ⠁⠻⠑⠥⠇⠂ ⠉⠕⠻⠝⠉⠊⠙⠑⠗⠂ ⠁⠗⠉⠓⠁⠻⠟⠥⠑⠂ ⠓⠁⠻⠗⠂ ⠕⠥⠻⠑⠂ ⠕⠥⠻⠗⠂ ⠁⠎⠞⠿⠗⠕⠻⠙⠑⠂ ⠍⠁⠻⠎⠂ ⠏⠁⠗⠁⠝⠕⠻⠁⠆ ⠉⠁⠏⠓⠁⠗⠝⠁⠳⠍

table: [tables/unicode.dis, tables/fr-bfu-comp6.utb]
flags: {testmode: backward}
tests:
  - - ⠠⠡ ⠠⠣ ⠠⠩ ⠠⠹ ⠠⠱ ⠠⠫ ⠠⠻ ⠠⠳ ⠠⠪ ⠠⠼ ⠠⠹⠣ ⠠⠡⠣⠩⠹
    - 1 2 3 4 5 6 7 8 9 0 42 1234
  - - ⠠⠩⠔⠩ ⠠⠡⠖⠡⠶⠣ ⠠⠡⠌⠹⠶⠼⠂⠣⠱
    - 3*3 1+1=2 1/4=0,25
  - - ⠠⠹⠈⠣⠶⠡⠫ ⠠⠹⠈⠦⠡⠖⠣⠤⠫⠴
    - 4^2=16 4^(1+2-6)
  - - ⠠⠹⠤⠣⠶⠣ ⠠⠤⠣ ⠠⠡⠤⠦⠤⠹⠤⠣⠴⠶⠻
    - 4-2=2 -2 1-(-4-2)=7
  - - ⠠⠖ ⠠⠶ ⠠⠖⠡ ⠐⠿ ⠨⠁⠓⠖ ⠨⠑⠓⠖ ⠨⠕⠓⠖
    - + = +1 & Ah! Eh! Oh!
  - ['⠠⠶⠹⠣', '=42']
  - ['⠖⠠⠡⠹', '!14']
  - - ⠶⠨⠞⠕⠥⠞ ⠛⠗⠁⠝⠙ ⠏⠗⠕⠛⠗⠮⠎ ⠎⠉⠊⠑⠝⠞⠊⠋⠊⠟⠥⠑ ⠑⠎⠞ ⠝⠿ ⠙⠄⠥⠝⠑ ⠝⠕⠥⠧⠑⠇⠇⠑ ⠁⠥⠙⠁⠉⠑ ⠙⠑ ⠇⠄⠊⠍⠁⠛⠊⠝⠁⠞⠊⠕⠝⠲⠶
    - "\"Tout grand progrès scientifique est né d'une nouvelle audace de l'imagination.\""
  - - ⠡ ⠣ ⠩ ⠹ ⠱ ⠫ ⠻ ⠳ ⠪ ⠨⠡ ⠨⠣ ⠨⠩ ⠨⠹ ⠨⠱ ⠨⠫ ⠨⠻ ⠨⠳ ⠨⠪
    - â ê î ô û ë ï ü œ Â Ê Î Ô Û Ë Ï Ü Œ
  - - ⠷⠿⠬⠾ ⠨⠷ ⠨⠿ ⠨⠬ ⠨⠾ ⠨⠨⠷⠿⠬⠾
    - àéóù À É Ó Ù ÀÉÓÙ
  - - ⠨⠨⠃⠕⠝⠚⠕⠥⠗ ⠷ ⠨⠞⠕⠥⠎⠖
    - BONJOUR à Tous!
  - - "⠨⠨⠉⠁⠂ ⠨⠨⠙⠛⠂ ⠨⠛⠠⠻⠒ ⠨⠛⠠⠣⠼⠂ ⠨⠨⠊⠁⠂ ⠨⠃⠠⠣⠍⠂ ⠨⠃⠠⠣⠨⠛⠂ ⠨⠓⠠⠖ ⠓⠠⠣ ⠠⠩⠨⠙"
    - "CA, DG, G7: G20, IA, B2m, B2G, H+ h2 3D"
  - - ⠨⠯⠁⠂ ⠨⠨⠯⠁ ⠑⠞ ⠯⠁
    - Ça, ÇA et ça
  - - ⠃⠪⠥⠋⠂ ⠉⠓⠪⠥⠗⠂ ⠍⠁⠝⠪⠥⠧⠗⠑⠂ ⠍⠪⠥⠗⠎⠂ ⠪⠊⠇⠂ ⠪⠥⠋⠂ ⠪⠥⠧⠗⠑⠂ ⠎⠪⠥⠗
    - bœuf, chœur, manœuvre, mœurs, œil, œuf, œuvre, sœur
  - - ⠠⠡⠼⠘⠇ ⠠⠣⠼⠘⠑ ⠠⠩⠼⠘⠽ ⠠⠹⠣⠘⠎ ⠠⠱⠼⠐⠬ ⠠⠡⠼⠼⠐⠬⠬ ⠠⠼⠐⠕
    - 10£ 20€ 30¥ 42$ 50% 100‰ 0°
  - - ⠡⠛⠑⠆ ⠡⠍⠑⠆ ⠃⠡⠞⠊⠗⠆ ⠏⠡⠇⠑⠆ ⠣⠞⠗⠑⠆ ⠋⠕⠗⠣⠞⠆ ⠍⠣⠍⠑⠆ ⠗⠣⠧⠑⠆ ⠝⠁⠩⠞⠗⠑⠆ ⠏⠁⠗⠁⠩⠞⠗⠑⠆ ⠉⠹⠞⠑⠆ ⠏⠊⠟⠱⠗⠑
    - âge; âme; bâtir; pâle; être; forêt; même; rêve; naître; paraître; côte; piqûre
  - - ⠁⠊⠛⠥⠫⠂ ⠁⠍⠃⠊⠛⠥⠫⠂ ⠉⠕⠝⠞⠊⠛⠥⠫⠂ ⠑⠭⠊⠛⠥⠫⠂ ⠉⠁⠝⠕⠫⠆ ⠁⠻⠑⠂ ⠁⠻⠑⠥⠇⠂ ⠉⠕⠻⠝⠉⠊⠙⠑⠗⠂ ⠁⠗⠉⠓⠁⠻⠟⠥⠑⠂ ⠓⠁⠻⠗⠂ ⠕⠥⠻⠑⠂ ⠕⠥⠻⠗⠂ ⠁⠎⠞⠿⠗⠕⠻⠙⠑⠂ ⠍⠁⠻⠎⠂ ⠏⠁⠗⠁⠝⠕⠻⠁⠆ ⠉⠁⠏⠓⠁⠗⠝⠁⠳⠍
    - aiguë, ambiguë, contiguë, exiguë, canoë; aïe, aïeul, coïncider, archaïque, haïr, ouïe, ouïr, astéroïde, maïs, paranoïa; capharnaüm
  - ["⠪⠕ ⠁⠝ ⠊⠞⠑⠍⠲", "• an item."]
