# LibLouis: North American Braille Computer Code
#
# Copyright (C) 2019 Dave Mielke: <dave@mielke.cc>, [http://mielke.cc/]
#
#  This file is part of liblouis.
#
#  liblouis is free software: you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as
#  published by the Free Software Foundation, either version 2.1 of the
#  License, or (at your option) any later version.
#
#  liblouis is distributed in the hope that it will be useful, but
#  WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
#  Lesser General Public License for more details.
#
#  You should have received a copy of the GNU Lesser General Public
#  License along with liblouis. If not, see
#  <http://www.gnu.org/licenses/>.

display: unicode.dis
table: |
  include en-nabcc.utb
flags: {testmode: forward}
tests:

  # - - \x0000
  #   - ⣈
  - - \x0001\x0002\x0003\x0004\x0005\x0006\x0007\x0008\x0009\x000A\x000B\x000C\x000D\x000E\x000F
    - ⣁⣃⣉⣙⣑⣋⣛⣓⣊⣚⣅⣇⣍⣝⣕
  - - \x0010\x0011\x0012\x0013\x0014\x0015\x0016\x0017\x0018\x0019\x001A\x001B\x001C\x001D\x001E\x001F
    - ⣏⣟⣗⣎⣞⣥⣧⣺⣭⣽⣵⣪⣳⣻⣘⣸
  - - \x0020\x0021\x0022\x0023\x0024\x0025\x0026\x0027\x0028\x0029\x002A\x002B\x002C\x002D\x002E\x002F
    - ⠀⠮⠐⠼⠫⠩⠯⠄⠷⠾⠡⠬⠠⠤⠨⠌
  - - \x0030\x0031\x0032\x0033\x0034\x0035\x0036\x0037\x0038\x0039\x003A\x003B\x003C\x003D\x003E\x003F
    - ⠴⠂⠆⠒⠲⠢⠖⠶⠦⠔⠱⠰⠣⠿⠜⠹
  - - \x0040\x0041\x0042\x0043\x0044\x0045\x0046\x0047\x0048\x0049\x004A\x004B\x004C\x004D\x004E\x004F
    - ⡈⡁⡃⡉⡙⡑⡋⡛⡓⡊⡚⡅⡇⡍⡝⡕
  - - \x0050\x0051\x0052\x0053\x0054\x0055\x0056\x0057\x0058\x0059\x005A\x005B\x005C\x005D\x005E\x005F
    - ⡏⡟⡗⡎⡞⡥⡧⡺⡭⡽⡵⡪⡳⡻⡘⠸
  - - \x0060\x0061\x0062\x0063\x0064\x0065\x0066\x0067\x0068\x0069\x006A\x006B\x006C\x006D\x006E\x006F
    - ⠈⠁⠃⠉⠙⠑⠋⠛⠓⠊⠚⠅⠇⠍⠝⠕
  - - \x0070\x0071\x0072\x0073\x0074\x0075\x0076\x0077\x0078\x0079\x007A\x007B\x007C\x007D\x007E\x007F
    - ⠏⠟⠗⠎⠞⠥⠧⠺⠭⠽⠵⠪⠳⠻⠘⡸

