Package hudson.plugins.im.tools

Source Code of hudson.plugins.im.tools.MessageHelperTest

package hudson.plugins.im.tools;

import static org.junit.Assert.assertEquals;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import hudson.model.AbstractBuild;
import hudson.plugins.im.tools.MessageHelper;
import hudson.tasks.test.AbstractTestResultAction;
import hudson.tasks.test.TestResult;

import org.junit.Assert;
import org.junit.Test;
import org.jvnet.hudson.test.Bug;

public class MessageHelperTest {

  @Test
  public void testExtractCommandLine() {
    assertEquals(1, MessageHelper.extractCommandLine("test").length);
    assertEquals(1, MessageHelper.extractCommandLine("test  ").length);
    assertEquals(3,
        MessageHelper.extractCommandLine("test param1 param2").length);

    assertEquals(3, MessageHelper.extractCommandLine("param1 \"same param\" param3").length);
    assertEquals("same param", MessageHelper.extractCommandLine("param1 \"same param\" param3")[1]);
    assertEquals(2,
        MessageHelper.extractCommandLine("test \"same param\"").length);
    // ' is not a separator
    assertEquals(2, MessageHelper
        .extractCommandLine("param1 \"test 'same param'\"").length);

    // several quoted arguments
    assertEquals(3, MessageHelper
        .extractCommandLine("param1 \"second param\" \"third param\"").length);

    assertEquals(3, MessageHelper
        .extractCommandLine("param1 param's param3").length);

    assertEquals(1, MessageHelper.extractCommandLine("\"param1 param2\"").length);
  }
 
  @Test
  @Bug(3215)
  public void testSingleQuote() {
      String cmdLine = "\"";
      assertEquals(1, MessageHelper.extractCommandLine(cmdLine).length);
      assertEquals("\"", MessageHelper.extractCommandLine(cmdLine)[0]);
     
      cmdLine = "\"a b";
      assertEquals(2, MessageHelper.extractCommandLine(cmdLine).length);
      assertEquals("\"a", MessageHelper.extractCommandLine(cmdLine)[0]);
     
      cmdLine = "a b\"";
        assertEquals(2, MessageHelper.extractCommandLine(cmdLine).length);
        assertEquals("b\"", MessageHelper.extractCommandLine(cmdLine)[1]);
  }
 
  @Test
  public void testConcat() {
    String[] a = {"a"};
    String[] b = {"b"};
    String[] c = {"c"};
   
    String[] concat = MessageHelper.concat(a, b, c);
    Assert.assertArrayEquals(new String[] {"a", "b", "c"}, concat);
   
    concat = MessageHelper.concat(a);
    Assert.assertArrayEquals(a, concat);
  }
 
  @SuppressWarnings({ "rawtypes", "unchecked" })
    @Test
  public void testUrlShouldBeUrlEncoded() {
      TestResult result = mock(TestResult.class);
      AbstractBuild build = mock(AbstractBuild.class);
      when(build.getUrl()).thenReturn("/a build");
     
      AbstractTestResultAction action = mock(AbstractTestResultAction.class);
      when(action.getUrlName()).thenReturn("/action");
     
      when(result.getOwner()).thenReturn(build);
      when(result.getTestResultAction()).thenReturn(action);
      when(result.getUrl()).thenReturn("/some id with spaces");
     
      String testUrl = MessageHelper.getTestUrl(result);
      assertEquals("null/a%20build/action/some%20id%20with%20spaces", testUrl);
  }
}
TOP

Related Classes of hudson.plugins.im.tools.MessageHelperTest

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.