PDF-Dokumente können für Sehbehinderte durch Screenreader-Programme vorgelesen werden. Dazu ist es hilfreich, wenn das Dokument Auskunft über seine Sprache geben kann.
Diese Methoden stehen für Tests der Sprache zur Verfügung:
// Tests for PDF language:
.hasLanguageInfo(..)
.hasNoLanguageInfo()
Das folgende Beispiel testet, ob das Dokument die Kennung für die englische Sprache in Großbritannien enthält:
@Test public void hasLocale_CaseInsensitive() throws Exception { String filename = "documentUnderTest.pdf"; AssertThat.document(filename) .hasLanguageInfo("en-gb"); AssertThat.document(filename) .hasLanguageInfo("en_GB")
; }
Die Zeichenkette für die Sprachbezeichnung kann in beliebiger Groß-/Kleinschreibung angegeben werden. Unterstrich und Bindestrich werden ebenfalls gleichbehandelt.
Es kann auch java.util.Locale
direkt verwendet werden:
@Test public void hasLocale_LocaleInstance_GERMANY() throws Exception { String filename = "documentUnderTest.pdf"; AssertThat.document(filename) .hasLanguageInfo(Locale.GERMANY) ; }
@Test public void hasLocale_LocaleInstance_GERMAN() throws Exception { String filename = "documentUnderTest.pdf"; AssertThat.document(filename) .hasLanguageInfo(Locale.GERMAN) ; }
Ein PDF-Dokument mit der internen Länderkennung "en_GB"
liefert
einen grünen Test, wenn es auf Locale.en
getestet wird.
Dagegen gilt ein Test als fehlerhaft, wenn ein Dokument mit der internen Länderkennung
"en"
auf Locale.UK
getestet wird.
Ein PDF-Dokument, das keine Länderkennung haben soll, kann ebenfalls daraufhin getestet werden:
@Test public void hasNoLanguageInfo() throws Exception { String filename = "documentUnderTest.pdf"; AssertThat.document(filename) .hasNoLanguageInfo() ; }