Package com.google.jstestdriver.output

Source Code of com.google.jstestdriver.output.XmlPrinterTest

package com.google.jstestdriver.output;

import static com.google.jstestdriver.TestResult.Result.error;
import static com.google.jstestdriver.TestResult.Result.passed;
import static java.io.File.createTempFile;
import static java.util.Arrays.asList;

import java.io.File;
import java.util.Arrays;

import junit.framework.TestCase;

import com.google.jstestdriver.BrowserInfo;
import com.google.jstestdriver.TestResult;

/**
* @author alexeagle@google.com (Alex Eagle)
*/
public class XmlPrinterTest extends TestCase {
  TestResultHolder data = new TestResultHolder();
  File tempFile;
  BrowserInfo firefox = makeBrowser("Firefox", "Linux", "2.5", 1);
  BrowserInfo firefox2 = makeBrowser("Firefox", "Linux", "2.5", 2);
  BrowserInfo safari = makeBrowser("Safari", "MacIntel", "3", 3);

  String stdout = "Some standard out\n logging";
  TestResult firefoxPassed1 =
      new TestResult(firefox, passed.toString(), "", stdout, "testCase1", "test1", 1.0f);
  TestResult firefoxPassed2 =
      new TestResult(firefox2, passed.toString(), "", "", "testCase1", "test1", 2.0f);
  TestResult firefoxPassed3 =
      new TestResult(firefox, passed.toString(), "", stdout, "testCase1", "test2", 1.0f);
  TestResult safariError1 =
      new TestResult(safari, error.toString(), "", "", "testCase1", "test4", 4.0f);
  TestResult safariPassed1 =
      new TestResult(safari, passed.toString(), "", "", "testCase2", "test4", 4.0f);

  @Override
  protected void setUp() throws Exception {
    super.setUp();
    tempFile = createTempFile(getName(), "tmp");
    tempFile.delete();
    tempFile.mkdirs();
  }

  @Override
  protected void tearDown() throws Exception {
    super.tearDown();
    for (File file : tempFile.listFiles()) {
      file.delete();
    }
    tempFile.delete();
  }

  public void testTestSuiteFileNameIsNice() throws Exception {
    data.onTestComplete(firefoxPassed1);
    XmlPrinter printer = new XmlPrinterImpl(data, tempFile.getAbsolutePath(), new FileNameFormatter());
    printer.writeXmlReportFiles();
    File[] files = tempFile.listFiles();

    assertEquals(1, files.length);
    assertEquals("TEST-Firefox_25_Linux.testCase1.xml", files[0].getName());
  }

  public void testSeveralTestCasesInSeveralBrowsers() throws Exception {
    for (TestResult testResult : asList(firefoxPassed1, firefoxPassed2, firefoxPassed3,
        safariError1, safariPassed1)) {
      data.onTestComplete(testResult);
    }
    XmlPrinter printer = new XmlPrinterImpl(data, tempFile.getAbsolutePath(), new FileNameFormatter());
    printer.writeXmlReportFiles();
    String[] files = tempFile.list();

    assertEquals(4, files.length);
    Arrays.sort(files);
    assertEquals("TEST-Firefox_25_Linux.testCase1.xml", files[0]);
    assertEquals("TEST-Firefox_25_Linux_2.testCase1.xml", files[1]);
    assertEquals("TEST-Safari_3_MacIntel.testCase1.xml", files[2]);
    assertEquals("TEST-Safari_3_MacIntel.testCase2.xml", files[3]);
  }

  private BrowserInfo makeBrowser(String name, String os, String version, long id) {
    BrowserInfo info = new BrowserInfo();
    info.setName(name);
    info.setOs(os);
    info.setVersion(version);
    info.setId(id);
    return info;
  }
}
TOP

Related Classes of com.google.jstestdriver.output.XmlPrinterTest

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.