Package com.canoo.webtest.plugins.pdftest

Source Code of com.canoo.webtest.plugins.pdftest.PdfVerifyTextStep

// Copyright � 2004-2007 Canoo Engineering AG, Switzerland.
package com.canoo.webtest.plugins.pdftest;

import com.canoo.webtest.engine.StepFailedException;
import com.canoo.webtest.plugins.pdftest.htmlunit.PDFPage;

/**
* @author Etienne Studer
* @author Marc Guillemot
* @webtest.step
*   category="PDF"
*   name="pdfVerifyText"
*   alias="verifyPdfText"
*   description="This step verifies the existence of the specified text in the <key>pdf</key> document."
*/
public class PdfVerifyTextStep extends AbstractVerifyPdfStep {
    public static final int FIRST_PAGE = 1;
    public static final int LAST_PAGE = -1;

    private int fStartPage = FIRST_PAGE;
  private int fEndPage = LAST_PAGE;
  private boolean fRegex;
  private String fText;

  /**
   * @param startPage
   * @webtest.parameter
   *   required="no"
   *   description="The numeric value of the start page to restrict the verification to."
   */
  public void setStartPage(int startPage) {
    fStartPage = startPage;
  }

  public int getStartPage() {
    return fStartPage;
  }

  /**
   * @param endPage
   * @webtest.parameter
   *   required="no"
   *   description="The numeric value of the end page to restrict the verification to."
   */
  public void setEndPage(final int endPage) {
    fEndPage = endPage;
  }

  public int getEndPage() {
    return fEndPage;
  }

  /**
   * @param regex
   * @webtest.parameter
   *   required="no"
   *   description="Specifies whether the text represents a <key>regex</key>."
   */
  public void setRegex(final boolean regex) {
    fRegex = regex;
  }

  public boolean getRegex() {
    return fRegex;
  }

  /**
   * @param text
   * @webtest.parameter required="yes"
   * description="The text expected in the PDF document."
   */
  public void setText(final String text) {
    fText = text;
  }

  public String getText() {
    return fText;
  }

  protected void verifyParameters() {
    super.verifyParameters();
    nullParamCheck(getText(), "text");
  }

  protected void verifyPdf(final PDFPage pdfPage) {
        final int lastPage = (getEndPage() == LAST_PAGE) ? pdfPage.getNumberOfPages() : getEndPage();
        final String text = pdfPage.getText(getStartPage(), lastPage);
        final boolean ok;
        if (getRegex())
          ok = getVerifier(true).verifyStrings(getText(), text);
        else
          ok = (text.indexOf(getText()) > -1);
       
        if (!ok)
          throw new StepFailedException("Text not found in pdf text \"" + text + "\"");
  }
}
TOP

Related Classes of com.canoo.webtest.plugins.pdftest.PdfVerifyTextStep

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.