|
From: David C. <dc...@us...> - 2005-09-24 20:19:54
|
Update of /cvsroot/rubyeclipse/org.rubypeople.rdt.launching.tests/src/org/rubypeople/rdt/internal/launching/tests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28314/src/org/rubypeople/rdt/internal/launching/tests Modified Files: TS_Launching.java Added Files: TC_ArgumentSplitter.java Log Message: Fixed splitting of arguments to allow quotes. Index: TS_Launching.java =================================================================== RCS file: /cvsroot/rubyeclipse/org.rubypeople.rdt.launching.tests/src/org/rubypeople/rdt/internal/launching/tests/TS_Launching.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** TS_Launching.java 14 Nov 2002 23:02:14 -0000 1.3 --- TS_Launching.java 24 Sep 2005 20:19:44 -0000 1.4 *************** *** 12,15 **** --- 12,16 ---- suite.addTestSuite(TC_RubyRuntime.class); suite.addTestSuite(TC_RunnerLaunching.class) ; + suite.addTestSuite(TC_ArgumentSplitter.class) ; return suite; } --- NEW FILE: TC_ArgumentSplitter.java --- package org.rubypeople.rdt.internal.launching.tests; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import junit.framework.TestCase; import org.rubypeople.rdt.internal.launching.ArgumentSplitter; public class TC_ArgumentSplitter extends TestCase { public void testNoArgs() { verifySplit(new String[]{}, ""); verifySplit(new String[]{}, " "); verifySplit(new String[]{}, " "); } public void testSimpleSplit() { verifySplit(new String[]{"foo"}, "foo"); verifySplit(new String[]{"foo"}, " foo "); verifySplit(new String[]{"foo", "bar"}, "foo bar"); verifySplit(new String[]{"foo", "bar"}, " foo bar "); } public void testSimpleQuotes() { verifySplit(new String[]{"foo"}, "'foo'"); verifySplit(new String[]{"foo bar"}, "'foo bar'"); verifySplit(new String[]{"foo bar","red blue"}, "'foo bar' 'red blue'"); verifySplit(new String[]{"foo"}, "\"foo\""); } public void testEmptyQuotes() { verifySplit(new String[]{""}, "''"); verifySplit(new String[]{"F", "", "B", "X"}, "F '' B \"X"); verifySplit(new String[]{"F", "", "B"}, "F '' B \""); } public void testMixedQuotes() { verifySplit(new String[]{"f\"oo"}, "'f\"oo'"); verifySplit(new String[]{"f'oo"}, "\"f'oo\""); } private void verifySplit(String[] expected, String input) { List args = ArgumentSplitter.split(input); assertEquals("For input: "+input, new ArrayList(Arrays.asList(expected)), args); } } |