Package fitnesse.testrunner

Source Code of fitnesse.testrunner.WikiPageDescriptorTest

// 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.testrunner;

import fitnesse.testsystems.Descriptor;
import fitnesse.wiki.PathParser;
import fitnesse.wiki.WikiPage;
import fitnesse.wiki.WikiPageUtil;
import fitnesse.wiki.fs.InMemoryPage;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;

import static org.junit.Assert.assertEquals;

public class WikiPageDescriptorTest {


  private WikiPage root;

  @Before
  public void setUp() throws Exception {
    root = InMemoryPage.makeRoot("RooT");
  }

  @Test
  public void buildFullySpecifiedTestSystemNameForDebugRun() throws Exception {
    WikiPage testPage = WikiPageUtil.addPage(root, PathParser.parse("TestPage"),
            "!define TEST_SYSTEM {system}\n" +
                    "!define TEST_RUNNER {runner}\n");
    WikiPageDescriptor wikiPageDescriptor = new WikiPageDescriptor(testPage, true, false, "");
    String testSystemType = wikiPageDescriptor.getTestSystemType();
    Assert.assertEquals("system", testSystemType);
  }

  @Test
  public void buildFullySpecifiedTestSystemNameAndIdentifierForDebugRun() throws Exception {
    WikiPage testPage = WikiPageUtil.addPage(root, PathParser.parse("TestPage"),
            "!define TEST_SYSTEM {system:A}\n" +
                    "!define TEST_RUNNER {runner}\n");
    WikiPageDescriptor wikiPageDescriptor = new WikiPageDescriptor(testPage, true, false, "");
    String testSystemType = wikiPageDescriptor.getTestSystemType();
    Assert.assertEquals("system", testSystemType);
  }


  @Test
  public void buildTestSystemTypeIsFit() throws Exception {
    WikiPage testPage = WikiPageUtil.addPage(root, PathParser.parse("TestPage"), "");
    WikiPageDescriptor wikiPageDescriptor = new WikiPageDescriptor(testPage, false, false, "");
    String testSystemType = wikiPageDescriptor.getTestSystemType();
    Assert.assertEquals("fit", testSystemType);
  }

  private WikiPage makeTestPage(String pageText) {
    WikiPage root = InMemoryPage.makeRoot("RooT");
    return WikiPageUtil.addPage(root, PathParser.parse("TestPage"), pageText);
  }

  @Test
  public void testReadSystemPropertyIfPagePropertyDoesNotExist() {
    String pageText = "!define TEST_PROPERTY {foo}\n";
    System.setProperty("test.property", "bar");
    WikiPage page = makeTestPage(pageText);

    Descriptor descriptor = new WikiPageDescriptor(page, false, false, "");
    assertEquals("foo", descriptor.getVariable("TEST_PROPERTY"));
    assertEquals("bar", descriptor.getVariable("test.property"));
  }

  @Test
  public void testPageVariableTakesPrecedenceOverSystemProperty() {
    String pageText = "!define TEST_PROPERTY {foo}\n";
    System.setProperty("TEST_PROPERTY", "bar");
    WikiPage page = makeTestPage(pageText);

    Descriptor descriptor = new WikiPageDescriptor(page, false, false, "");
    assertEquals("foo", descriptor.getVariable("TEST_PROPERTY"));
  }


}
TOP

Related Classes of fitnesse.testrunner.WikiPageDescriptorTest

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.