Package fitnesse.html.template

Source Code of fitnesse.html.template.HtmlPageTest

// Copyright (C) 2003-2009 by Object Mentor, Inc. All rights reserved.
// Released under the terms of the CPL Common Public License version 1.0.
package fitnesse.html.template;

import static org.junit.Assert.assertTrue;
import static util.RegexTestCase.assertHasRegexp;
import static util.RegexTestCase.assertSubString;

import fitnesse.FitNesseContext;
import fitnesse.testutil.FitNesseUtil;
import fitnesse.wiki.PathParser;
import org.junit.Before;
import org.junit.Test;

public class HtmlPageTest {

  private HtmlPage page;
  private String html;

  @Before
  public void setUp() throws Exception {
    FitNesseContext context = FitNesseUtil.makeTestContext(null);
    page = new HtmlPage(context.pageFactory.getVelocityEngine(), "skeleton.vm", "fitnesse_theme", "/");
    html = page.html();
  }

  @Test
  public void testStandardTags() throws Exception {
    assertTrue("bad doctype for page: " + html, html.startsWith("<!DOCTYPE html>"));
    assertSubString("<html>", html);
    assertHasRegexp("</html>", html);
  }

  @Test
  public void testHead() throws Exception {
    assertSubString("<head>", html);
    assertSubString("</head>", html);
    assertSubString("<title>FitNesse</title>", html);
    assertSubString("<link", html);
    assertSubString("rel=\"stylesheet\"", html);
    assertSubString("type=\"text/css\"", html);
    assertSubString("href=\"/files/fitnesse/css/fitnesse_theme.css\"", html);
    assertSubString("src=\"/files/fitnesse/javascript/fitnesse.js\"", html);
    assertSubString("src=\"/files/fitnesse/javascript/fitnesse_theme.js\"", html);
  }

  @Test
  public void testIncludesBody() throws Exception {
    assertSubString("<body>", html);
    assertSubString("</body>", html);
  }

  @Test
  public void testIncludesHeading() throws Exception {
    assertSubString("<header>", html);
  }

  @Test
  public void testMainBar() throws Exception {
    assertSubString("<article>", html);
    String mainHtml = page.html();
    assertSubString("<header>", mainHtml);
    assertSubString("<article>", mainHtml);
  }

  @Test
  public void testSidebar() throws Exception {
    assertSubString("<nav>", html);
  }

  @Test
  public void testBreadCrumbsWithCurrentPageLinked() throws Exception {
    String trail = "TstPg1.TstPg2.TstPg3.TstPg4";
    page.setPageTitle(new PageTitle(PathParser.parse(trail)));
    String breadcrumbs = page.html();
    assertSubString("<a href=\"/TstPg1\">TstPg1</a>", breadcrumbs);
    assertSubString("<a href=\"/TstPg1.TstPg2\">TstPg2</a>", breadcrumbs);
    assertSubString("<a href=\"/TstPg1.TstPg2.TstPg3\">TstPg3</a>", breadcrumbs);
    assertSubString("<a href=\"/TstPg1.TstPg2.TstPg3.TstPg4\">TstPg4</a>", breadcrumbs);
  }

  @Test
  public void testBreadCrumbsWithCurrentPageNotLinked() throws Exception {
    String trail = "TstPg1.TstPg2.TstPg3.TstPg4";
    page.setPageTitle(new PageTitle(PathParser.parse(trail)).notLinked());
    String breadcrumbs = page.html();
    assertSubString("<a href=\"/TstPg1\">TstPg1</a>", breadcrumbs);
    assertSubString("<a href=\"/TstPg1.TstPg2\">TstPg2</a>", breadcrumbs);
    assertSubString("<a href=\"/TstPg1.TstPg2.TstPg3\">TstPg3</a>", breadcrumbs);
    assertHasRegexp("<h1>\\s*TstPg4\\s*</h1>", breadcrumbs);
  }

  @Test
  public void testBreadCrumbsWithPageType() throws Exception {
    String trail = "TstPg1.TstPg2.TstPg3.TstPg4";
    page.setPageTitle(new PageTitle("Some Type", PathParser.parse(trail)));
    String breadcrumbs = page.html();
    assertSubString("<a href=\"/TstPg1.TstPg2.TstPg3.TstPg4\">TstPg4</a>", breadcrumbs);
  }

}
TOP

Related Classes of fitnesse.html.template.HtmlPageTest

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.