Test compiling with an explicit word breaker property.

This commit is contained in:
Eddie Antonio Santos 2019-08-29 12:36:23 -06:00
parent 1514af710a
commit 0d3fc7bbf6
No known key found for this signature in database
GPG key ID: DD411EA4D9509D87
3 changed files with 6 additions and 3 deletions

View file

@ -1,5 +1,6 @@
const source: LexicalModelSource = {
format: 'trie-1.0',
sources: ['wordlist.tsv'],
wordBreaker: 'default',
};
export default source;

View file

@ -43,7 +43,7 @@ export function compileModelSourceCode(code: string) {
let module: ModuleType | null = null;
try {
module = new Function('LMLayerWorker', 'models', code) as ModuleType;
module = new Function('LMLayerWorker', 'models', 'wordBreakers', code) as ModuleType;
} catch (err) {
if (err instanceof SyntaxError) {
hasSyntaxError = true;
@ -88,7 +88,7 @@ export function compileModelSourceCode(code: string) {
});
try {
module(fakeLMLayerWorker, modelsNamespace);
module(fakeLMLayerWorker, modelsNamespace, {});
} catch (err) {
error = err;
}
@ -98,8 +98,9 @@ export function compileModelSourceCode(code: string) {
};
}
type ModuleType = (a: LMLayerWorker, b: ModelsNamespace) => any;
type ModuleType = (a: LMLayerWorker, b: ModelsNamespace, c: WordBreakersNamespace) => any;
interface LMLayerWorker {
loadModel(model: object): void;
}
type ModelsNamespace = object;
type WordBreakersNamespace = object;

View file

@ -24,6 +24,7 @@ describe('compileModel', function () {
let compilation = r as CompilationResult;
assert.isFalse(compilation.hasSyntaxError);
assert.isNull(compilation.error);
assert.equal(compilation.modelConstructorName, 'TrieModel');
});
}