Package net.sourceforge.pebble.decorator

Source Code of net.sourceforge.pebble.decorator.EntryToPdfDecoratorTest

/*
* Copyright (c) 2003-2011, Simon Brown
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
*   - Redistributions of source code must retain the above copyright
*     notice, this list of conditions and the following disclaimer.
*
*   - Redistributions in binary form must reproduce the above copyright
*     notice, this list of conditions and the following disclaimer in
*     the documentation and/or other materials provided with the
*     distribution.
*
*   - Neither the name of Pebble nor the names of its contributors may
*     be used to endorse or promote products derived from this software
*     without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
package net.sourceforge.pebble.decorator;

import java.util.Date;
import net.sourceforge.pebble.domain.Blog;
import net.sourceforge.pebble.domain.BlogService;
import net.sourceforge.pebble.domain.BlogEntry;
import net.sourceforge.pebble.domain.Category;
import net.sourceforge.pebble.domain.SingleBlogTestCase;
import net.sourceforge.pebble.api.decorator.ContentDecorator;
import net.sourceforge.pebble.api.decorator.ContentDecoratorContext;

/**
* Tests for the EntryToPdfDecorator class.
*
* @author    Alexander Zagniotov
*/
public class EntryToPdfDecoratorTest extends SingleBlogTestCase {
 
  private BlogEntry blogEntryOne;
  private ContentDecorator decorator;
  private ContentDecoratorContext context;

  private static final String PDF_IMG = "<img src=\"common/images/pdf_logo.gif\" alt=\"Export this post as PDF document\" align=\"bottom\" border=\"0\" />";

  protected void setUp() throws Exception {
    super.setUp();
    blogEntryOne = new BlogEntry(blog);
    decorator = new EntryToPdfDecorator();
    context = new ContentDecoratorContext();
  }

  /**
   * Tests that a blog entry gets a link offers to export it as PDF
   */
  public void testBlogEntryNoRelatedPostsAndMediaIsHtml() throws Exception {
 
  context.setMedia(ContentDecoratorContext.HTML_PAGE);

  blogEntryOne.setTitle("Some title");
  blogEntryOne.setSubtitle("Some subtitle");
  //blogEntryOne.setExcerpt("This is a excerpt");
    blogEntryOne.setBody("This is a body");
 
    decorator.decorate(context, blogEntryOne);

    StringBuffer pdf = new StringBuffer();
    pdf.append("<p>");
  pdf.append("<a href=\"" + blogEntryOne.getBlog().getUrl() + "entryToPDF.action?entry=" + blogEntryOne.getId() + "\" title=\"Export Some title - Some subtitle as PDF document\">");
  pdf.append(PDF_IMG);
  pdf.append("</a>&nbsp;&nbsp;Export this post to PDF document</p>");
 
    assertEquals("This is a body" + pdf, blogEntryOne.getBody());
  //assertEquals("This is a excerpt" + pdf, blogEntryOne.getExcerpt());
  }
}
TOP

Related Classes of net.sourceforge.pebble.decorator.EntryToPdfDecoratorTest

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.