Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 117317 Details for
Bug 253862
[fwkAdmin] Remove program argument need to specify a number of arguments
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read
this important communication.
[patch]
patch
253862.txt (text/plain), 6.21 KB, created by
DJ Houghton
on 2008-11-07 10:01:06 EST
(
hide
)
Description:
patch
Filename:
MIME Type:
Creator:
DJ Houghton
Created:
2008-11-07 10:01:06 EST
Size:
6.21 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.equinox.frameworkadmin.test >Index: src/org/eclipse/equinox/frameworkadmin/tests/AllTests.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.frameworkadmin.test/src/org/eclipse/equinox/frameworkadmin/tests/AllTests.java,v >retrieving revision 1.3 >diff -u -r1.3 AllTests.java >--- src/org/eclipse/equinox/frameworkadmin/tests/AllTests.java 18 Sep 2008 15:10:38 -0000 1.3 >+++ src/org/eclipse/equinox/frameworkadmin/tests/AllTests.java 7 Nov 2008 14:51:49 -0000 >@@ -36,6 +36,7 @@ > suite.addTestSuite(TestRunningInstance.class); > suite.addTestSuite(ManipulatorTests.class); > suite.addTestSuite(UtilsTest.class); >+ suite.addTestSuite(LauncherDataTest.class); > return suite; > } > >Index: src/org/eclipse/equinox/frameworkadmin/tests/LauncherDataTest.java >=================================================================== >RCS file: src/org/eclipse/equinox/frameworkadmin/tests/LauncherDataTest.java >diff -N src/org/eclipse/equinox/frameworkadmin/tests/LauncherDataTest.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ src/org/eclipse/equinox/frameworkadmin/tests/LauncherDataTest.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,93 @@ >+/******************************************************************************* >+ * Copyright (c) 2008 IBM Corporation and others. >+ * All rights reserved. This program and the accompanying materials >+ * are made available under the terms of the Eclipse Public License v1.0 >+ * which accompanies this distribution, and is available at >+ * http://www.eclipse.org/legal/epl-v10.html >+ * >+ * Contributors: >+ * IBM Corporation - initial API and implementation >+ *******************************************************************************/ >+package org.eclipse.equinox.frameworkadmin.tests; >+ >+import org.eclipse.equinox.internal.provisional.frameworkadmin.LauncherData; >+ >+import junit.framework.TestCase; >+ >+/** >+ * @since 1.0 >+ */ >+public class LauncherDataTest extends TestCase { >+ >+ /* >+ * Constructor for the class. >+ */ >+ public LauncherDataTest(String name) { >+ super(name); >+ } >+ >+ public void testRemoveProgramArg() { >+ LauncherData data = new LauncherData("equinox", "1.0", "eclipse", "1.0"); >+ data.setProgramArgs(new String[] {"-console", "-startup", "foo"}); >+ data.removeProgramArg("-startup"); >+ assertEquals("1.0", new String[] {"-console"}, data.getProgramArgs()); >+ >+ data.setProgramArgs(null); >+ data.setProgramArgs(new String[] {"-console", "-startup", "foo", "-bar"}); >+ data.removeProgramArg("-startup"); >+ assertEquals("2.0", new String[] {"-console", "-bar"}, data.getProgramArgs()); >+ >+ data.setProgramArgs(null); >+ data.setProgramArgs(new String[] {"-startup", "foo"}); >+ data.removeProgramArg("-startup"); >+ assertEquals("3.0", new String[0], data.getProgramArgs()); >+ >+ data.setProgramArgs(null); >+ data.setProgramArgs(new String[] {"-console", "-startup", "foo", "bar"}); >+ data.removeProgramArg("-startup"); >+ assertEquals("4.0", new String[] {"-console"}, data.getProgramArgs()); >+ >+ data.setProgramArgs(null); >+ data.setProgramArgs(new String[] {"-console", "-startup", "foo", "bar", "-xxx"}); >+ data.removeProgramArg("-startup"); >+ assertEquals("5.0", new String[] {"-console", "-xxx"}, data.getProgramArgs()); >+ >+ // arg which doesn't start with a dash - dont' consume anything but that specific arg >+ data.setProgramArgs(null); >+ data.setProgramArgs(new String[] {"-console", "-startup", "foo", "bar", "-xxx"}); >+ data.removeProgramArg("foo"); >+ assertEquals("6.0", new String[] {"-console", "-startup", "bar", "-xxx"}, data.getProgramArgs()); >+ >+ // non-matching arg >+ data.setProgramArgs(null); >+ data.setProgramArgs(new String[] {"-console", "-startup", "foo", "bar", "-xxx"}); >+ data.removeProgramArg("zzz"); >+ assertEquals("7.0", new String[] {"-console", "-startup", "foo", "bar", "-xxx"}, data.getProgramArgs()); >+ >+ // empty string >+ data.setProgramArgs(null); >+ data.setProgramArgs(new String[] {"-console", "-startup", "foo", "bar", "-xxx"}); >+ data.removeProgramArg(""); >+ assertEquals("8.0", new String[] {"-console", "-startup", "foo", "bar", "-xxx"}, data.getProgramArgs()); >+ >+ // just whitespace >+ data.setProgramArgs(null); >+ data.setProgramArgs(new String[] {"-console", "-startup", "foo", "bar", "-xxx"}); >+ data.removeProgramArg(" "); >+ assertEquals("9.0", new String[] {"-console", "-startup", "foo", "bar", "-xxx"}, data.getProgramArgs()); >+ >+ } >+ >+ /* >+ * Compare the give 2 arrays and assert whether or not they should be considered equal. >+ */ >+ public static void assertEquals(String message, String[] one, String[] two) { >+ if (one == null) >+ assertNull(message, two); >+ if (two == null) >+ fail(message); >+ assertEquals(message, one.length, two.length); >+ for (int i = 0; i < one.length; i++) >+ assertEquals(message, one[i], two[i]); >+ } >+} >#P org.eclipse.equinox.frameworkadmin >Index: src/org/eclipse/equinox/internal/provisional/frameworkadmin/LauncherData.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.frameworkadmin/src/org/eclipse/equinox/internal/provisional/frameworkadmin/LauncherData.java,v >retrieving revision 1.2 >diff -u -r1.2 LauncherData.java >--- src/org/eclipse/equinox/internal/provisional/frameworkadmin/LauncherData.java 11 Feb 2008 06:16:07 -0000 1.2 >+++ src/org/eclipse/equinox/internal/provisional/frameworkadmin/LauncherData.java 7 Nov 2008 14:51:52 -0000 >@@ -138,7 +138,21 @@ > } > > public void removeProgramArg(String arg) { >- programArgs.remove(arg); >+ int index = programArgs.indexOf(arg); >+ if (index == -1) >+ return; >+ programArgs.remove(index); >+ // if the user wants us to remove an arg that starts with >+ // a dash, then consume all args up to the next dash-prefixed >+ // arg (see bug 253862) >+ if (arg.charAt(0) != '-') >+ return; >+ while (index < programArgs.size()) { >+ String next = (String) programArgs.get(index); >+ if (next.charAt(0) == '-') >+ return; >+ programArgs.remove(index); >+ } > } > > public void setFwConfigLocation(File fwConfigLocation) {
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 253862
: 117317