diff options
author | Norbert Preining <norbert@preining.info> | 2020-04-04 03:02:28 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2020-04-04 03:02:28 +0000 |
commit | 4f71d4ff0d1e7ff4607b58eb7d030bd860e44f3a (patch) | |
tree | d4e56c2a7dc233a34c572829037ac8fb346f14bc /support/arara/source/src/test/kotlin/org/islandoftex/arara/localization/LanguageCoverageTest.kt | |
parent | 6cacb7b2abf477262c442913f467f219649afb26 (diff) |
CTAN sync 202004040302
Diffstat (limited to 'support/arara/source/src/test/kotlin/org/islandoftex/arara/localization/LanguageCoverageTest.kt')
-rw-r--r-- | support/arara/source/src/test/kotlin/org/islandoftex/arara/localization/LanguageCoverageTest.kt | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/support/arara/source/src/test/kotlin/org/islandoftex/arara/localization/LanguageCoverageTest.kt b/support/arara/source/src/test/kotlin/org/islandoftex/arara/localization/LanguageCoverageTest.kt deleted file mode 100644 index 704d3e319d..0000000000 --- a/support/arara/source/src/test/kotlin/org/islandoftex/arara/localization/LanguageCoverageTest.kt +++ /dev/null @@ -1,102 +0,0 @@ -// SPDX-License-Identifier: BSD-3-Clause -package org.islandoftex.arara.localization - -import ch.qos.cal10n.verifier.MessageKeyVerifier -import io.kotlintest.inspectors.forAll -import io.kotlintest.matchers.collections.shouldNotBeEmpty -import io.kotlintest.shouldBe -import io.kotlintest.shouldThrow -import io.kotlintest.specs.ShouldSpec -import java.io.File -import java.io.IOException -import java.nio.file.Files -import java.nio.file.Path -import java.nio.file.Paths -import java.util.Locale -import java.util.stream.Collectors -import org.islandoftex.arara.model.AraraException - -class LanguageCoverageTest : ShouldSpec({ - "locale definitions" { - /** - * Helper method, checks the provided locale (all keys set?). - * - * @param locale The locale. - * @return The size of the error list. - */ - fun check(locale: Locale): Int { - val errors = MessageKeyVerifier(Messages::class.java).verify(locale) - errors.forEach(System.err::println) - return errors.size - } - - should("succeed instantiating known locale") { - Language("en").locale.language shouldBe "en" - } - should("throw on unknown locale instantiation") { - shouldThrow<AraraException> { - Language("quack") - } - } - - should("not error on known localizations") { - listOf("en", "de", "nl", "it").forAll { - check(Locale(it)) shouldBe 0 - } - check(Locale("en", "QN")) shouldBe 0 - check(Locale("pt", "BR")) shouldBe 0 - } - } - "language coverage" { - /* - * Tests the localized messages, checking if all messages are properly - * quoted (but not necessarily whether they are loadable). - */ - should("get all strings from every language") { - // get all files - val files = Files.list( - Paths.get("src/main/resources/org/islandoftex/arara/localization")) - .map { p: Path -> - val f = p.toFile() - if (f.name.endsWith("properties") && !f.isDirectory) f - else null - } - .collect(Collectors.toList()) - .toList() - .filterNotNull() - files.shouldNotBeEmpty() - - // for each report, print - // the corresponding entry - files.map { file: File -> - try { - LanguageReport.analyze(file) - } catch (exception: IOException) { - throw AssertionError( - "Fatal exception: an error was raised while " + - "trying to read one of the languages. Please " + - "make sure all languages in the provided " + - "directory have read permission.") - } - }.forEach { report -> - // debug output - println(report.reference.name + - "\t" + String.format(" %2.2f%%", report.coverage)) - - // if there are problematic lines, - // add the current language report - if (report.lines.isNotEmpty()) { - // legend: S = Simple message, single quotes should not be doubled - // P = Parametrized message, single quotes must be doubled - - // build the beginning of the line - println(report.reference.name) - // print error lines - println(report.lines) - } - - report.coverage shouldBe 100.0f - } - } - } -}) |