package junit.extensions.eclipse.quick.process.internal;
import static org.junit.Assert.assertArrayEquals;
import org.junit.Test;
public class ProcessParserTest {
@Test
public void simple_command() throws Exception {
ProcessParser parsar = new ProcessParser();
String[] parsed = parsar.parse("cd");
assertArrayEquals(new String[]{"cd"}, parsed);
}
@Test
public void null_string() throws Exception {
ProcessParser parsar = new ProcessParser();
String[] parsed = parsar.parse(null);
assertArrayEquals(new String[]{}, parsed);
}
@Test
public void empty_string() throws Exception {
ProcessParser parsar = new ProcessParser();
String[] parsed = parsar.parse("");
assertArrayEquals(new String[]{""}, parsed);
}
@Test
public void single_arg() throws Exception {
ProcessParser parsar = new ProcessParser();
String[] parsed = parsar.parse("cd .");
assertArrayEquals(new String[]{"cd","."}, parsed);
}
@Test
public void multi_args() throws Exception {
ProcessParser parsar = new ProcessParser();
String[] parsed = parsar.parse("rm -R .");
assertArrayEquals(new String[]{"rm","-R","."}, parsed);
}
@Test
public void includes_double_quote_args() throws Exception {
ProcessParser parsar = new ProcessParser();
String[] parsed = parsar.parse("growlnotify -n \"Quick JUnit\"");
assertArrayEquals(new String[]{"growlnotify","-n","Quick JUnit"}, parsed);
}
@Test
public void includes_broken_double_quote_args() throws Exception {
ProcessParser parsar = new ProcessParser();
String[] parsed = parsar.parse("growlnotify -n \"Quick JUnit");
assertArrayEquals(new String[]{"growlnotify","-n","Quick JUnit"}, parsed);
}
@Test
public void includes_escaped_double_quote_args() throws Exception {
ProcessParser parsar = new ProcessParser();
String[] parsed = parsar.parse("growlnotify -n \"Quick JUnit\\\" -a\"");
assertArrayEquals(new String[]{"growlnotify","-n","Quick JUnit\\\" -a"}, parsed);
}
@Test
public void replaced_summary_and_detail() throws Exception {
ProcessParser parsar = new ProcessParser();
String[] parsed = parsar.parse("growlnotify -n \"Quick JUnit\" -m ${detail} ${summary}","test OK","pass 10:");
assertArrayEquals(new String[]{"growlnotify","-n","Quick JUnit","-m","pass 10:","test OK"}, parsed);
}
}