/* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * See LICENSE.txt included in this distribution for the specific * language governing permissions and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at LICENSE.txt. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ package org.opensolaris.opengrok.history; import org.junit.After; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; import static org.junit.Assert.*; /** * * @author austvik */ public class ClearCaseHistoryParserTest { private ClearCaseHistoryParser instance; public ClearCaseHistoryParserTest() { } @BeforeClass public static void setUpClass() throws Exception { } @AfterClass public static void tearDownClass() throws Exception { } @Before public void setUp() { instance = new ClearCaseHistoryParser(); } @After public void tearDown() { instance = null; } /** * Test of parse method, of class ClearCaseHistoryParser. */ @Test public void parseFileHistory() throws Exception { String author1 = "First Last (username)"; String author2 = "First2 Last2 (username2)"; String output = "create version\n" + "20020618.212343\n" + author1 + "\n" + "/main/3\n" + "Merge from eeeee for ffffff\n" + ".\n" + "create version\n" + "20020222.164239\n" + author2 + "\n" + "/main/2\n" + "Merge from projper branch.\n" + "Adding aaaaaaa to the yyyyy.\n" + ".\n" + "create version\n" + "20020208.150825\n" + author2 + "\n" + "/main/1\n" + "Target for javac set to 1.3.\n" + "Fixed handling of " + " res directory.\n" + ".\n" + "create version\n" + "20010924.095104\n" + author2 + "\n" + "/main/0\n" + "\n" + ".\n" + "create branch\n" + "20010924.095104\n" + author2 + "\n" + "/main\n" + "\n" + ".\n" + "create file element\n" + "20010924.095104\n" + author1 + "\n" + "\n" + "\n" + "."; History result = instance.parse(output); assertNotNull(result); assertEquals(4, result.getHistoryEntries().size()); HistoryEntry e1 = result.getHistoryEntries().get(0); assertEquals("/main/3", e1.getRevision()); assertEquals(author1, e1.getAuthor()); assertEquals(0, e1.getFiles().size()); assertTrue(e1.getMessage().contains("eeeee")); HistoryEntry e4 = result.getHistoryEntries().get(3); assertEquals("/main/0", e4.getRevision()); assertEquals(author2, e4.getAuthor()); assertEquals(0, e4.getFiles().size()); } /** * Test of parse method, of class ClearCaseHistoryParser. */ @Test public void parseDirHistory() throws Exception { String author1 = "First Last (username)"; String author2 = "First2 Last2 (username2)"; String output = "create directory version\n" + "20050401.162902\n" + author1 + "\n" + "/main/3\n" + "Removed directory element \"prototype\".\n" + ".\n" + "create directory version\n" + "20020618.215917\n" + author2 + "\n" + "/main/2\n" + "Merge from wwwww for dddddd\n" + ".\n" + "create directory version\n" + "20010228.174617\n" + author1 + "\n" + "/main/1\n" + "New structure.\n" + "\n" + "Added directory element \"generic\".\n" + "Added directory element \"prototype\".\n" + "Added directory element \"install\".\n" + "Added directory element \"service\".\n" + ".\n" + "create directory version\n" + "20001215.092522\n" + author2 + "\n" + "/main/0\n" + "\n" + ".\n" + "create branch\n" + "20001215.092522\n" + author1 + "\n" + "/main\n" + "\n" + ".\n" + "create directory element\n" + "20001215.092522\n" + author1 + "\n" + "\n" + "\n" + "."; History result = instance.parse(output); assertNotNull(result); assertEquals(4, result.getHistoryEntries().size()); HistoryEntry e1 = result.getHistoryEntries().get(0); assertEquals("/main/3", e1.getRevision()); assertEquals(author1, e1.getAuthor()); assertEquals(0, e1.getFiles().size()); assertTrue(e1.getMessage().contains("prototype")); HistoryEntry e4 = result.getHistoryEntries().get(3); assertEquals("/main/0", e4.getRevision()); assertEquals(author2, e4.getAuthor()); assertEquals(0, e4.getFiles().size()); } }