View Javadoc

1   package com.aragost.javahg.commands;
2   
3   import java.io.IOException;
4   
5   import junit.framework.Assert;
6   
7   import org.junit.Test;
8   
9   import com.aragost.javahg.HgVersion;
10  import com.aragost.javahg.Repository;
11  import com.aragost.javahg.UnknownCommandException;
12  import com.aragost.javahg.internals.AbstractCommand;
13  import com.aragost.javahg.test.AbstractTestCase;
14  
15  public class AbstractCommandTest extends AbstractTestCase {
16  
17      @Test
18      public void testGetErrorStringTwice() throws IOException {
19          Repository repo = getTestRepository();
20          LogCommand cmd = LogCommand.on(repo).branch("no such branch");
21          try {
22              cmd.execute();
23              assertFailedExecution(cmd);
24          } catch (ExecutionException e) {
25              String errorString1 = cmd.getErrorString();
26              String errorString2 = cmd.getErrorString();
27              Assert.assertEquals(errorString1, errorString2);
28          }
29      }
30  
31      @Test
32      public void testUnknownCommand() {
33          Repository repo = getTestRepository();
34          HgVersion hgVersion = repo.getHgVersion();
35          DummyTestCommand cmd = new DummyTestCommand(repo);
36  
37          try {
38              cmd.execute();
39              assertFailedExecution(cmd);
40          } catch (UnknownCommandException e) {
41              Assert.assertSame(cmd, e.getCommand());
42              Assert.assertTrue(e.getMessage().indexOf(hgVersion.getVersionString()) >= 0);
43          }
44  
45      }
46  
47  }
48  
49  class DummyTestCommand extends AbstractCommand {
50  
51      protected DummyTestCommand(Repository repository) {
52          super(repository);
53      }
54  
55      public void execute() {
56          launchString();
57      }
58  
59      @Override
60      public String getCommandName() {
61          return "unsupportedCommand";
62      }
63  
64  }