package org.eclipse.jetty.start;
import static org.hamcrest.Matchers.*;
import org.junit.Assert;
import org.junit.Test;
public class CommandLineBuilderTest
{
@Test
public void testSimpleCommandline()
{
CommandLineBuilder cmd = new CommandLineBuilder("java");
cmd.addEqualsArg("-Djava.io.tmpdir","/home/java/temp dir/");
cmd.addArg("--version");
Assert.assertThat(cmd.toString(), is("java -Djava.io.tmpdir=/home/java/temp\\ dir/ --version"));
}
@Test
public void testQuotingSimple()
{
assertQuoting("/opt/jetty","/opt/jetty");
}
@Test
public void testQuotingSpaceInPath()
{
assertQuoting("/opt/jetty 7/home","/opt/jetty\\ 7/home");
}
@Test
public void testQuotingSpaceAndQuotesInPath()
{
assertQuoting("/opt/jetty 7 \"special\"/home","/opt/jetty\\ 7\\ \\\"special\\\"/home");
}
private void assertQuoting(String raw, String expected)
{
String actual = CommandLineBuilder.quote(raw);
Assert.assertThat("Quoted version of [" + raw + "]",actual,is(expected));
}
}