diff options
author | StefanVukovic99 <stefanvukovic44@gmail.com> | 2024-02-27 13:16:21 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-27 12:16:21 +0000 |
commit | 0792954e345925b3e3b2ebb733367e138375978e (patch) | |
tree | a9f169cf7dc2de396d6e46c9d8c418f9870d9301 /test/language-transformer-cycles.test.js | |
parent | c4fea2251606fb0b3d0d761a544dac578f3d9048 (diff) |
make deinflections language-specific (#720)
* abstract deinflections
* undo redundant changes
* remove cast
* MultiLanguageTransformer
* comments
* comments
Diffstat (limited to 'test/language-transformer-cycles.test.js')
-rw-r--r-- | test/language-transformer-cycles.test.js | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/test/language-transformer-cycles.test.js b/test/language-transformer-cycles.test.js index b778c188..751f65a6 100644 --- a/test/language-transformer-cycles.test.js +++ b/test/language-transformer-cycles.test.js @@ -21,6 +21,7 @@ import {fileURLToPath} from 'url'; import {describe, test} from 'vitest'; import {parseJson} from '../dev/json.js'; import {LanguageTransformer} from '../ext/js/language/language-transformer.js'; +import {getLanguageSummaries} from '../ext/js/language/languages.js'; class DeinflectionNode { /** @@ -103,12 +104,18 @@ function arraysAreEqual(rules1, rules2) { return true; } -describe('Deinflection data', () => { - test('Check for cycles', ({expect}) => { - const dirname = pathDirname(fileURLToPath(import.meta.url)); +const dirname = pathDirname(fileURLToPath(import.meta.url)); +const descriptors = []; +const languageSummaries = getLanguageSummaries(); +for (const {languageTransformsFile} of languageSummaries) { + if (!languageTransformsFile) { continue; } + /** @type {import('language-transformer').LanguageTransformDescriptor} */ + const descriptor = parseJson(readFileSync(join(dirname, `../ext/${languageTransformsFile}`), {encoding: 'utf8'})); + descriptors.push(descriptor); +} - /** @type {import('language-transformer').LanguageTransformDescriptor} */ - const descriptor = parseJson(readFileSync(join(dirname, '../ext/data/language/japanese-transforms.json'), {encoding: 'utf8'})); +describe.each(descriptors)('Cycles Test $language', (descriptor) => { + test('Check for cycles', ({expect}) => { const languageTransformer = new LanguageTransformer(); languageTransformer.addDescriptor(descriptor); |