Commit graph

4544 commits

Author SHA1 Message Date
Eddie Antonio Santos
a72e593f6c
Replace Ava with Mocha/Chai. 2018-11-09 11:05:25 -07:00
glasseyes
60619dc8de add km_kbp_context_items_from_utf8
avoids unnecessary conversions and string duplication

utf8codec private vars needed in cpp for
linker to find them?
2018-11-09 16:50:52 +07:00
Marc Durdin
1aea5cdd9b [Common] Test cases for kmxtest 2018-11-09 16:33:10 +11:00
Marc Durdin
a36c6b312e [Common] Remove <windows.h> references and add typedefs, part 1 2018-11-09 06:21:32 +11:00
Marc Durdin
4a1ec013be [Common] More cleanup 2018-11-09 05:26:07 +11:00
glasseyes
2ae42fdd18 refer to the library in the pkg-config file 2018-11-07 10:27:59 +07:00
Marc Durdin
206caa752e [Common] More cleanup 2018-11-07 11:19:22 +11:00
Marc Durdin
8141d22752 [Common] Remove unused code and cleanup debug logging 2018-11-07 11:01:40 +11:00
Tim Eves
6e09aa4a06 Add comments for namespace closing braces that are far from their opening statements 2018-11-07 05:15:25 +07:00
Tim Eves
fe4beb0197 Make sure to convert path to utf8 for json output of folder name. 2018-11-07 05:04:22 +07:00
Tim Eves
61f90b172e Fix path handling so it's wchar_t const * on windows and char const * on linux 2018-11-07 04:49:56 +07:00
Tim Eves
689e21856b Explicitly declare test json doc strings as utf8 for Windows compiler 2018-11-07 04:30:09 +07:00
Tim Eves
4afe030627 Add number USVs erased to BACK action item
Possible but difficult to get from state object if not provided.  IBus 
will use this.
2018-11-07 04:26:49 +07:00
Tim Eves
d70fe629e8 Fix state API implmentation to use new options, keyboard and context objects. 2018-11-07 04:25:28 +07:00
Tim Eves
b27fc67259 Rework keyboard API and add more robust checking. 2018-11-07 03:04:45 +07:00
Tim Eves
242105216a Rename options_set -> options and option -> option_item 2018-11-07 02:13:40 +07:00
Tim Eves
9cb22221c6 Rework options API per review
Additionally refactored option.hpp into option.hpp & option.cpp.
lookup now returns just the value since scope and key are fully 
specified in the arguments, but updates and SAVE/RESET action items 
still provide scope, key & value.
2018-11-07 01:37:32 +07:00
Marc Durdin
140869d28f [Common] Continuing kmxtest refactor 2018-11-06 21:16:38 +11:00
Marc Durdin
3d4aff5d62 [Common] Continue refactoring, add support for supplying context from command line 2018-11-06 20:24:43 +11:00
Tim Eves
93c76c14df Move headers into include/keyman from include/
Necessary to allow keyboardprocessor.h to refer to auxillary headers as 
<keyboard/header.h>
2018-11-06 16:19:14 +07:00
Marc Durdin
e4deaacd85 [Common] First test framework for kmx processor 2018-11-06 19:30:09 +11:00
Tim Eves
333ef283c8 Make constext API more consistent and robust with use of km_kbp_status.
In addition:
Add asserts and checks to better validate the inputs.
Add documentation describing design patterns behind differet types of 
call.
2018-11-06 14:53:33 +07:00
Eddie Antonio Santos
b8b8e57fd2
Make the build script executable. 2018-11-01 13:30:03 -06:00
Joshua A. Horton
e875ba022b Created an initial build script for use in common/predictive-text 2018-11-01 08:04:06 +07:00
Joshua A. Horton
e83b5392d2 Merge branch 'lmlayer-init' into lmlayer-CI 2018-11-01 07:44:21 +07:00
Eddie Antonio Santos
4d4bd6fed8
Fix minor compilation issues.
* Add (...args: any[]) to a parameter list
 * Remove hack for Node's `global` object.
 * Add --lib WebWorker to TSC's options
2018-10-31 09:45:42 -06:00
Tim Eves
4d4bb125b6 Add the last of the kmnkbd unit tests for state and engine api. 2018-10-31 16:05:17 +07:00
Tim Eves
6f5fd7af45 Fix shift state to index calculation in dummy keyboard processor. 2018-10-31 16:04:37 +07:00
Tim Eves
326b30c05a Stop compiler coercing utf8 pointers into bools when json printing. 2018-10-31 16:03:36 +07:00
Tim Eves
a70ce3c2ba Ensure we include the null when calculating size if state_to_json 2018-10-31 16:02:38 +07:00
Tim Eves
5ac0c3ff9b Ensure that the keyboard object has an empty option_set instead of null
Make sure the default_options attribute points to something, so we don't 
crash the json debug output.
2018-10-31 16:01:48 +07:00
Joshua A. Horton
c5dd0bab9b Started work on a basic TypeScript compilation configuration. 2018-10-31 14:01:32 +07:00
Joshua A. Horton
4fe874a383 Adds a basic WebWorker functionality test and the start of a testing subfolder. 2018-10-31 11:41:34 +07:00
Eddie Antonio Santos
ad3bd51707
Merge remote-tracking branch 'lmlayer/move' into lmlayer-init 2018-10-30 09:22:21 -06:00
Eddie Antonio Santos
5dcffe21d4
Move everything to common/predictive-text/ 2018-10-30 09:20:49 -06:00
Tim Eves
b9009bbc33 Add options-api to test to the kmnkbd test suite. 2018-10-30 17:07:48 +07:00
Tim Eves
0fdb64011f Fix bugs in options_set api
* Initialise cached option value with options_set's scope so correct 
scope is returned.
* Use unordered_map::operator[] as emplace never overwrites.
* Ensure that km_kbp_options_set_to_json() returns the document size 
including the null.
* correct scope_name_lut so scope names are in the right order.
2018-10-30 17:07:00 +07:00
Tim Eves
bbd67c7a9b Minor tidyup stop compiler complaining about unsused variables. 2018-10-30 13:12:30 +07:00
Tim Eves
aa7027fa66 Add keyboard-api test to kmnkmd unit tests 2018-10-30 13:09:31 +07:00
Tim Eves
9af3308ef3 Fix a compiler warnings in context_api under clang and statically link.
While dynamic linking works on linux & Mac OS due to rpath support 
Windows can't find the dll when debugging the test case unless it's 
copied into the tests builddir or it has it's working dir set to the 
DLL's builddir.
2018-10-29 16:05:06 +07:00
Tim Eves
5f45ea450e Minor fixups for build scripts
Also prevent compiler complaining about inconistent dllimport/dllexport 
linkage by ensuring KM_KBP_EXPORTING is defined on Windows too.
2018-10-29 16:02:19 +07:00
Tim Eves
f5d6dd4ce5 Fix windows compiler treating source as latin1 instead of utf-8. 2018-10-29 16:00:27 +07:00
Tim Eves
5ab060974f Fix build bugs on Windows 2018-10-29 13:20:36 +07:00
Tim Eves
ef548606aa Move keyboardprocessor into it's new toplevel under common/engine 2018-10-25 13:43:28 +07:00