a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync/*
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync * CDDL HEADER START
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync *
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync * The contents of this file are subject to the terms of the
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync * Common Development and Distribution License (the "License").
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync * You may not use this file except in compliance with the License.
c58f1213e628a545081c70e26c6b67a841cff880vboxsync *
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync * See LICENSE.txt included in this distribution for the specific
6ec4e1827eab6a424d672ef0e5a17b065e52db20vboxsync * language governing permissions and limitations under the License.
6ec4e1827eab6a424d672ef0e5a17b065e52db20vboxsync *
6ec4e1827eab6a424d672ef0e5a17b065e52db20vboxsync * When distributing Covered Code, include this CDDL HEADER in each
6ec4e1827eab6a424d672ef0e5a17b065e52db20vboxsync * file and include the License file at LICENSE.txt.
6ec4e1827eab6a424d672ef0e5a17b065e52db20vboxsync * If applicable, add the following below this CDDL HEADER, with the
6ec4e1827eab6a424d672ef0e5a17b065e52db20vboxsync * fields enclosed by brackets "[]" replaced with your own identifying
6ec4e1827eab6a424d672ef0e5a17b065e52db20vboxsync * information: Portions Copyright [yyyy] [name of copyright owner]
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync *
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync * CDDL HEADER END
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync */
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync/*
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync * Use is subject to license terms.
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync */
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsyncpackage org.opensolaris.opengrok.history;
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsyncimport java.io.Reader;
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsyncimport java.io.StringReader;
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsyncimport org.junit.After;
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsyncimport org.junit.AfterClass;
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsyncimport org.junit.Before;
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsyncimport org.junit.BeforeClass;
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsyncimport org.junit.Test;
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsyncimport static org.junit.Assert.*;
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync/**
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync *
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync * @author austvik
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync */
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsyncpublic class GitRepositoryTest {
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync GitRepository instance;
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync public GitRepositoryTest() {
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync }
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync @BeforeClass
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync public static void setUpClass() throws Exception {
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync }
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync @AfterClass
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync public static void tearDownClass() throws Exception {
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync }
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync @Before
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync public void setUp() {
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync instance = new GitRepository();
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync }
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync @After
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync public void tearDown() {
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync instance = null;
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync }
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync /**
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync * Test of parseAnnotation method, of class GitRepository.
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync */
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync @Test
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync public void parseAnnotation() throws Exception {
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync String revId1 = "cd283405560689372626a69d5331c467bce71656";
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync String revId2 = "30ae764b12039348766291100308556675ca11ab";
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync String revId3 = "2394823984cde2390345435a9237bd7c25932342";
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync String author1 = "Author Name";
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync String author2 = "Author With Long Name";
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync String author3 = "Author Named Jr.";
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync String output = revId1 + " file1.ext (" + author1 + " 2005-06-06 16:38:26 -0400 272) \n" +
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync revId2 + " file2.h (" + author2 + " 2007-09-10 23:02:45 -0400 273) if (some code)\n" +
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync revId3 + " file2.c (" + author3 + " 2006-09-20 21:47:42 -0700 274) call_function(i);\n";
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync Reader input = new StringReader(output);
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync String fileName = "something.ext";
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync Annotation result = instance.parseAnnotation(input, fileName);
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync assertNotNull(result);
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync assertEquals(3, result.size());
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync for (int i = 1; i <= 3; i++) {
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync assertEquals(true, result.isEnabled(i));
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync }
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync assertEquals(revId1, result.getRevision(1));
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync assertEquals(revId2, result.getRevision(2));
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync assertEquals(revId3, result.getRevision(3));
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync assertEquals(author1, result.getAuthor(1));
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync assertEquals(author2, result.getAuthor(2));
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync assertEquals(author3, result.getAuthor(3));
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync assertEquals(author2.length(), result.getWidestAuthor());
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync assertEquals(revId1.length(), result.getWidestRevision());
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync assertEquals(fileName, result.getFilename());
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync }
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync /**
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync * Test of fileHasAnnotation method, of class GitRepository.
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync */
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync @Test
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync public void fileHasAnnotation() {
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync boolean result = instance.fileHasAnnotation(null);
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync assertTrue(result);
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync }
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync /**
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync * Test of fileHasHistory method, of class GitRepository.
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync */
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync @Test
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync public void fileHasHistory() {
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync boolean result = instance.fileHasHistory(null);
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync assertTrue(result);
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync }
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync}
a33af978add1a03aab11b2895f441af5cb2a11a6vboxsync