diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/test-dictionary.js | 33 | 
1 files changed, 31 insertions, 2 deletions
| diff --git a/test/test-dictionary.js b/test/test-dictionary.js index b9885edc..b157dd5d 100644 --- a/test/test-dictionary.js +++ b/test/test-dictionary.js @@ -3,9 +3,38 @@ const dictionaryValidate = require('./dictionary-validate');  async function main() { -    const archive = yomichanTest.createTestDictionaryArchive('valid-dictionary1'); +    const dictionaries = [ +        {name: 'valid-dictionary1', valid: true}, +        {name: 'invalid-dictionary1', valid: false}, +        {name: 'invalid-dictionary2', valid: false}, +        {name: 'invalid-dictionary3', valid: false}, +        {name: 'invalid-dictionary4', valid: false}, +        {name: 'invalid-dictionary5', valid: false}, +        {name: 'invalid-dictionary6', valid: false} +    ]; +      const schemas = dictionaryValidate.getSchemas(); -    await dictionaryValidate.validateDictionary(archive, schemas); + +    for (const {name, valid} of dictionaries) { +        const archive = yomichanTest.createTestDictionaryArchive(name); + +        let error = null; +        try { +            await dictionaryValidate.validateDictionary(archive, schemas); +        } catch (e) { +            error = e; +        } + +        if (valid) { +            if (error !== null) { +                throw error; +            } +        } else { +            if (error === null) { +                throw new Error(`Expected dictionary ${name} to be invalid`); +            } +        } +    }  } |