13.7. Maßeinheiten - Points, Millimeter, ...

Manche Tests benötigen Werte für Länge und Breite. Damit der Benutzer seine gewohnten Einheiten benutzen kann, stehen in dem Attribut unit=".." verschiedene Konstanten zur Verfügung:

<!-- Predefined constants for units: -->

<xxx unit="CENTIMETER"  />
<xxx unit="DPI72"       />
<xxx unit="INCH"        />
<xxx unit="MILLIMETER"  />
<xxx unit="POINTS"      />

Wenn das Attribut unit=".." weggelassen wird, gilt die Einheit MILLIMETER als Default.

Beispiel - Größe von Formularfeldern

<testcase name="hasField_WidthAndHeight">
  <assertThat testDocument="acrofields/notExportableAcrofield.pdf">
    <hasField withName="Title of 'someField'" 
              width="450" height="30" 
              unit="POINTS" 
    />
  </assertThat>
</testcase>

Beispiel - Seitenausschnitt

<testcase name="hasTextOnFirstPage_RectangleInInch">
  <assertThat testDocument="content/documentForTextClipping.pdf">
    <hasText on="FIRST_PAGE" >
      <inClippingArea upperLeftX="0.7" upperLeftY="1.8"
                      width="2.4" height="0.4" 
                      unit="INCH" 
      >
        <containing>Content on first page.</containing>
      </inClippingArea>
    </hasText>
  </assertThat>
</testcase>

Beispiel - Größe des Seitenformats

<testcase name="hasFormat_HugeFormat">
  <assertThat testDocument="format/physical-map-of-the-world-1999_1117x863mm.pdf">
    <hasFormat width="2448" height="3168" unit="POINTS" />
  </assertThat>
</testcase>

Beispiel - Fehlermeldungen

In Fehlermeldungen werden sowohl Millimeter, als auch die ursprünglich verwendete Einheit ausgegeben. Wenn beispielsweise die Breite im letzten Beispiel mit 111 POINTS erwartet wird, erscheint folgende Fehlermeldung:

Wrong page format in 'physical-map-of-the-world-1999_1117x863mm.pdf' on page 1. 
Expected: 'height=1117.60, width=39.16 (as 'mm', converted from unit 'points')', 
but was:  'height=1117.60, width=863.60 (as 'mm')'.