13.3. Textvergleich

Ein erwarteter Text und der tatsächliche Text einer PDF-Seite können auf folgende Art miteinander verglichen werden:

<!-- Comparing text: -->

<startingWith />
<containing />                           1
<matchingComplete />                     2
<matchingRegex />
<endingWith />

<notStartingWith />
<notContaining />                        3
<notMatchingRegex />
<notEndingWith />

<containing       whitespaces=".." />    4
<matchingComplete whitespaces=".." />    5
<notContaining    whitespaces=".." />    6 

1 2 3

Bei diesen Tests werden die Whitespaces normalisiert. Das heißt, Leerzeichen am Anfang und Ende werden entfernt und alle Whitespaces innerhalb eines Textes werden auf ein Leerzeichen reduziert.

4 5 6

Die Behandlung von Whitespaces wird über das optionale Attribut whitespaces=".." gesteuert, für das die Konstanten KEEP, NORMALIZE und IGNORE existieren. Diese Konstanten sind in Kapitel 13.4: „Behandlung von Whitespaces“ separat beschrieben.

Vergleiche mit Regulären Ausdrücken folgen den Regeln und Möglichkeiten der Java-Klasse java.util.regex.Pattern :

<!-- Using regular expression to compare page content: -->
<testcase name="hasText_MatchingRegex">
  <assertThat testDocument="content/diverseContentOnMultiplePages.pdf">
    <hasText on="FIRST_PAGE">
      <matchingRegex>.*[Cc]ontent.*</matchingRegex>
    </hasText>
  </assertThat>
</testcase>