package org.rhq.plugins.script; import static org.testng.Assert.assertEquals; import java.util.Arrays; import java.util.HashMap; import java.util.Map; import org.testng.annotations.Test; /** * @author Lukas Krejci * @since 4.10 */ @Test public class ScriptArgumentParserTest { public void test() { HashMap<String, String[]> testCases = new HashMap<String, String[]>(); testCases.put("1 2\t3", new String[]{"1", "2", "3"}); testCases.put("1 '2 ' \"3'\" '4'abs '5\"'", new String[]{"1", "2 ", "3'", "4abs", "5\""}); testCases.put("\\ \\2 '3\\'\\'a'", new String[]{" ", "2", "3\\'a"}); testCases.put("\"C:\\Program Files\\Lukas' \\\"Tests\\\"\\1\"", new String[]{"C:\\Program Files\\Lukas' \"Tests\"\\1"}); for(Map.Entry<String, String[]> testCase : testCases.entrySet()) { String[] result = ScriptArgumentParser.parse(testCase.getKey(), '\\'); assertEquals(result, testCase.getValue(), "Failed to parse [" + testCase.getKey() + "]. Expected: " + Arrays .asList(testCase.getValue()) + ", but got: " + Arrays.asList(result)); } } }