This is the Bulgarian (BDS) layout. I took the liberty to remove "э" from the layout, as it is not part of the Bulgarian alphabet and it was left there for historical reasons, also not to mess with the layouts for physical keyboards. Removing it gives more space for the shift_l and backspace keys. I've also added the letter "small i with grave" to the special symbols, as it is occasionally used in Bulgarian.
126 lines
2.7 KiB
Meson
126 lines
2.7 KiB
Meson
if get_option('tests')
|
|
|
|
test_env = [
|
|
'G_TEST_SRCDIR=@0@'.format(meson.current_source_dir()),
|
|
'G_TEST_BUILDDIR=@0@'.format(meson.current_build_dir()),
|
|
'G_DEBUG=gc-friendly,fatal-warnings',
|
|
'GSETTINGS_BACKEND=memory',
|
|
'MALLOC_CHECK_=2'
|
|
]
|
|
|
|
test_cflags = [
|
|
'-I@0@/../src'.format(meson.current_source_dir()),
|
|
'-I@0@/../src'.format(meson.current_build_dir()),
|
|
'-DEEK_COMPILATION',
|
|
'-DEEKBOARD_COMPILATION'
|
|
]
|
|
|
|
test_link_args = [
|
|
'-fPIC',
|
|
]
|
|
|
|
c_tests = [
|
|
]
|
|
|
|
foreach name : c_tests
|
|
|
|
test_sources = [name + '.c']
|
|
|
|
t = executable(
|
|
name,
|
|
test_sources,
|
|
squeekboard_resources,
|
|
link_with: libsqueekboard,
|
|
c_args : test_cflags,
|
|
link_args: test_link_args,
|
|
dependencies: deps, # from src/meson.build
|
|
include_directories: [
|
|
include_directories('..'),
|
|
include_directories('../eek')
|
|
]
|
|
)
|
|
|
|
test(name, t, env: test_env)
|
|
|
|
endforeach
|
|
|
|
# The layout test is in the examples directory
|
|
# due to the way Cargo builds executables
|
|
# and the need to call it manually.
|
|
|
|
# This is the list of tested builtin layouts.
|
|
# Please keep each block alphabetical!
|
|
# Please keep shapes (with _) on the same line,
|
|
# variants (with +) on separate lines.
|
|
foreach layout : [
|
|
# This is the fallback layout,
|
|
# so stays first to make sure it never goes missing.
|
|
'us', 'us_wide',
|
|
|
|
# Block: Languages
|
|
'ara', 'ara_wide',
|
|
'be', 'be_wide',
|
|
'bg',
|
|
'bg+phonetic',
|
|
'br',
|
|
'ch+fr',
|
|
'cz', 'cz_wide',
|
|
'cz+qwerty', 'cz+qwerty_wide',
|
|
'de', 'de_wide',
|
|
'dk',
|
|
'epo',
|
|
'es',
|
|
'es+cat',
|
|
'fi',
|
|
'fr', 'fr_wide',
|
|
'gr',
|
|
'il',
|
|
'ir',
|
|
'it',
|
|
'it+fur',
|
|
'jp+kana','jp+kana_wide',
|
|
'no',
|
|
'pl', 'pl_wide',
|
|
'ru',
|
|
'se',
|
|
'th', 'th_wide',
|
|
'ua',
|
|
'us+colemak', 'us+colemak_wide',
|
|
'us+dvorak', 'us+dvorak_wide',
|
|
|
|
# Terminal keyboards
|
|
'terminal/fr',
|
|
'terminal/us',
|
|
'terminal/us_wide',
|
|
|
|
# Block: Not languages.
|
|
'emoji/us',
|
|
'number/us',
|
|
]
|
|
extra = []
|
|
if layout.startswith('emoji/')
|
|
extra += ['allow_missing_return']
|
|
endif
|
|
|
|
# Older Cargo seens to be sensitive to something
|
|
# about the RUST_FLAGS env var, and rebuilds all tests when it's set,
|
|
# increasing test time by 2 orders of magnitude.
|
|
# Let it have its way.
|
|
if get_option('legacy') == true
|
|
timeout = 300
|
|
else
|
|
timeout = 30
|
|
endif
|
|
test(
|
|
'test_layout_' + layout,
|
|
cargo_script,
|
|
args: ['run'] + cargo_build_flags
|
|
+ ['--example', 'test_layout', '--', layout]
|
|
+ extra,
|
|
timeout: timeout,
|
|
workdir: meson.build_root(),
|
|
)
|
|
endforeach
|
|
|
|
endif
|