Skip to content

Commit

Permalink
Legger til : på slutten av setninger uten punktsetting for bedre UU (#75
Browse files Browse the repository at this point in the history
)
  • Loading branch information
RobinLundSadun authored Jan 22, 2025
1 parent 098f278 commit 8bb9346
Show file tree
Hide file tree
Showing 2 changed files with 54 additions and 1 deletion.
16 changes: 15 additions & 1 deletion src/main/kotlin/no/nav/familie/pdf/pdf/PdfElementUtils.kt
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,13 @@ object PdfElementUtils {
Paragraph().apply {
(element.label)
.takeIf { it.isNotEmpty() }
?.let { add(Text(it).apply { settFont(FontStil.SEMIBOLD) }) }
?.let {
add(
Text(leggTilKolon(it)).apply {
settFont(FontStil.SEMIBOLD)
},
)
}
element.alternativer?.takeIf { it.isNotEmpty() }?.let {
add(Text("\n"))
add(
Expand All @@ -46,6 +52,14 @@ object PdfElementUtils {
accessibilityProperties.role = StandardRoles.P
}

// Kun dersom streng ikke har tegn bakerst
private fun leggTilKolon(tekst: String): String =
if (tekst.last() !in setOf('?', ':', '.', '!', ';')) {
"$tekst:"
} else {
tekst
}

fun lagPunktliste(element: VerdilisteElement): Paragraph =
Paragraph().apply {
add(
Expand Down
39 changes: 39 additions & 0 deletions src/test/kotlin/no/nav/familie/pdf/pdf/PdfElementUtilsTest.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
package no.nav.familie.pdf.pdf

import com.itextpdf.layout.element.Text
import no.nav.familie.pdf.pdf.PdfElementUtils.lagVerdiElement
import no.nav.familie.pdf.pdf.domain.VerdilisteElement
import org.junit.jupiter.api.Assertions.assertTrue
import org.junit.jupiter.api.Test

class PdfElementUtilsTest {
// Region lagVerdiElement
@Test
fun `leggTilKolon legger til kolon dersom label ikke har et tegn på slutten av spørsmål`() {
// Arrange
val testScenarioer =
listOf(
"Bor du på denne adressen" to "Bor du på denne adressen:",
"Bor du på denne adressen:" to "Bor du på denne adressen:",
"Bor du på denne adressen?" to "Bor du på denne adressen?",
"Bor du på denne adressen." to "Bor du på denne adressen.",
"Bor du på denne adressen!" to "Bor du på denne adressen!",
"Bor du på denne adressen;" to "Bor du på denne adressen;",
)

for ((inputVerdi, forventetVerdi) in testScenarioer) {
// Act
val verdilisteElement = VerdilisteElement(label = inputVerdi, verdi = "Ja")
val verdiElement = lagVerdiElement(verdilisteElement)
val tekstInnhold =
verdiElement.children
.filterIsInstance<Text>()
.joinToString("") { it.text }

// Assert
assertTrue(tekstInnhold.contains(forventetVerdi), "For input '$inputVerdi', forventet '$forventetVerdi', men fikk '$tekstInnhold'")
}
}

//endregion
}

0 comments on commit 8bb9346

Please sign in to comment.