EN · DE · RU · FR · ES

#346: SortAndCheckI18nPropertiesTest.kt

projectforge-application/src/test/kotlin/org/projectforge/development/SortAndCheckI18nPropertiesTest.kt Typ: Kotlin · Rolle: Test · Quelle: projectforge-application/src/test/kotlin/org/projectforge/development/SortAndCheckI18nPropertiesTest.kt 69 Zeilen · 39 Code · 23 Kommentare · 7 leer
Komponenten-/Integrationstest für SortAndCheckI18nProperties. Validiert die Korrektheit des entsprechenden Produktionsklassenverhaltens.

Codestruktur

Annotationen: Test

Klassen: SortAndCheckI18nPropertiesTest

Funktionen (3): fixApostrophCharsAndReplaceUTFCharTest, multilineHandlingTest, check

Eigenschaften (3): germanText, multiline, reducedMultiline

Importe: 2 Pakete

Paket: org.projectforge.development

Quelltext (gekürzt)

package org.projectforge.development

import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Test

class SortAndCheckI18nPropertiesTest {
  @Test
  fun fixApostrophCharsAndReplaceUTFCharTest() {
    check("", "")
    check("'", "'")
    check("'text", "'text")
    check("text'", "text'")
    check("Don't believe the hype.", "Don't believe the hype.")
    check("Don''t believe the hype.", "Don''t believe the hype.")
    check("Don''t escape '{0}'.", "Don't escape '{0}'.")
    check("Field ''\${label}'' is", "Field ''\${label}'' is")
    val germanText = "Dies ist ein gültiger Deutscher Text mit allen Umlauten: äöüÄÖÜß"
    check(
      "Dies ist ein gültiger Deutscher Text mit allen Umlauten: äöüÄÖÜß",
      germanText
    )
  }

  @Test
  fun multilineHandlingTest() {
    assertEquals("", SortAndCheckI18nPropertiesMain.reduceMultiLine(""))
    assertEquals("test", SortAndCheckI18nPropertiesMain.reduceMultiLine("test"))
    assertEquals("test... (multiline)", SortAndCheckI18nPropertiesMain.reduceMultiLine("test\\\nline 2"))
    // println(multiline)
    assertEquals(reducedMultiline, SortAndCheckI18nPropertiesMain.reduceMultiLine(multiline))

    assertEquals("", SortAndCheckI18nPropertiesMain.commentMultiLine(""))
    assertEquals("test", SortAndCheckI18nPropertiesMain.commentMultiLine("test"))
    assertEquals("test\\\n#line 2", SortAndCheckI18nPropertiesMain.commentMultiLine("test\\\nline 2"))
  }

  private fun check(expected: String, src: String) {
    assertEquals(expected, SortAndCheckI18nPropertiesMain.fixApostrophCharsAndReplaceUTFChars(src))
  }

  private val multiline =
    """### Zwei-Faktor-Authentifizierung\n\n1. Scannen Sie einfach diesen Barcode mit Ihrem Smartphone.\n\
2. Ihre Authentifikator-App sollte geöffnet werden.\n3. Erledigt.\n\nJedes Mal, wenn ProjectForge einen Code anfordert, geben Sie den angezeigten Code in Ihrer Authentifikator-App ein.\n\nSie können andere Authentifikator-Apps auf verschiedenen Geräten als Backup einrichten, wenn Sie möchten.\n\n> 2FA sind bis zu 30 Tage gültig (abhängig von der Sicherheitsstufe der verwendeten Funktion). Bitte nutzen Sie die „Angemeldet bleiben“-Funktion beim Login, um lästige 2FA-Anfragen zu vermeiden.\n"""
  private val reducedMultiline =
    """### Zwei-Faktor-Authentifizierung\n\n1. Scannen Sie einfach diesen Barcode mit Ihrem Smartphone.\n... (mehrzeilig)"""
}

Git-Verlauf

868d6abb7 2025 -> 2026
63081666f Quelltext-Dateiköpfe: 2024 -> 2025.
6995a945c Migration in Arbeit...
b6092df09 Copyright 2023 -> 2024
ab45d51fa Copyright 2001-2022 -> 2001-2023.