@Test public void shouldAllowSettingOfConfigAttributes() throws Exception { ExecTask exec = new ExecTask(); exec.setConfigAttributes(m(ExecTask.COMMAND, "ls", ExecTask.ARGS, "-la", ExecTask.WORKING_DIR, "my_dir")); assertThat(exec.command(), is("ls")); assertThat(exec.getArgs(), is("-la")); assertThat(exec.getArgListString(), is("")); assertThat(exec.workingDirectory(), is("my_dir")); exec.setConfigAttributes(m(ExecTask.COMMAND, null, ExecTask.ARGS, null, ExecTask.WORKING_DIR, null)); assertThat(exec.command(), is(nullValue())); assertThat(exec.getArgs(), is("")); assertThat(exec.workingDirectory(), is(nullValue())); exec.setConfigAttributes(m(ExecTask.COMMAND, null, ExecTask.ARG_LIST_STRING, "-l\n-a\npavan's\\n working dir?", ExecTask.WORKING_DIR, null)); assertThat(exec.command(), is(nullValue())); assertThat(exec.getArgListString(), is("-l\n-a\npavan's\\n working dir?")); assertThat(exec.getArgList().size(), is(3)); assertThat(exec.getArgList().get(0), is(new Argument("-l"))); assertThat(exec.getArgList().get(1), is(new Argument("-a"))); assertThat(exec.getArgList().get(2), is(new Argument("pavan's\\n working dir?"))); assertThat(exec.workingDirectory(), is(nullValue())); }