/*******************************************************************************
* Copyright (c) 2008, 2009 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.p2.tests.simpleconfigurator.manipulator;
import java.net.URI;
import java.net.URISyntaxException;
import org.eclipse.equinox.internal.simpleconfigurator.manipulator.SimpleConfiguratorManipulatorUtils;
import org.eclipse.equinox.internal.simpleconfigurator.utils.BundleInfo;
import org.eclipse.equinox.internal.simpleconfigurator.utils.SimpleConfiguratorUtils;
import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
public class SimpleConfiguratorManipulatorUtilsTest extends AbstractProvisioningTest {
public void testWriteBundleInfoLine() throws URISyntaxException {
String expectedLine = "javax.servlet,2.4.0.v200806031604,plugins/javax.servlet_2.4.0.v200806031604.jar,4,false";
BundleInfo bundleInfo = new BundleInfo("javax.servlet", "2.4.0.v200806031604", new URI("plugins/javax.servlet_2.4.0.v200806031604.jar"), 4, false);
String line = SimpleConfiguratorManipulatorUtils.createBundleInfoLine(bundleInfo, false);
assertEquals(expectedLine, line);
assertEquals(bundleInfo, SimpleConfiguratorUtils.parseBundleInfoLine(line, null));
}
public void testWriteBundleInfoLineWithComma() throws URISyntaxException {
String expectedLine = "javax.servlet,2.4.0.v200806031604,plugin%2Cs/javax.servlet_2.4.0.v200806031604.jar,4,false";
BundleInfo bundleInfo = new BundleInfo("javax.servlet", "2.4.0.v200806031604", new URI("plugin,s/javax.servlet_2.4.0.v200806031604.jar"), 4, false);
String line = SimpleConfiguratorManipulatorUtils.createBundleInfoLine(bundleInfo, false);
assertEquals(expectedLine, line);
assertEquals(bundleInfo, SimpleConfiguratorUtils.parseBundleInfoLine(line, null));
}
public void testWriteBundleInfoLineWithSpace() throws URISyntaxException {
String expectedLine = "javax.servlet,2.4.0.v200806031604,plugin%20s/javax.servlet_2.4.0.v200806031604.jar,4,false";
BundleInfo bundleInfo = new BundleInfo("javax.servlet", "2.4.0.v200806031604", new URI("plugin%20s/javax.servlet_2.4.0.v200806031604.jar"), 4, false);
String line = SimpleConfiguratorManipulatorUtils.createBundleInfoLine(bundleInfo, false);
assertEquals(expectedLine, line);
assertEquals(bundleInfo, SimpleConfiguratorUtils.parseBundleInfoLine(line, null));
}
public void testWriteBundleInfoLineWithAtSymbol() throws URISyntaxException {
String expectedLine = "javax.servlet,2.4.0.v200806031604,plugin@s/javax.servlet_2.4.0.v200806031604.jar,4,false";
BundleInfo bundleInfo = new BundleInfo("javax.servlet", "2.4.0.v200806031604", new URI("plugin@s/javax.servlet_2.4.0.v200806031604.jar"), 4, false);
String line = SimpleConfiguratorManipulatorUtils.createBundleInfoLine(bundleInfo, false);
assertEquals(expectedLine, line);
assertEquals(bundleInfo, SimpleConfiguratorUtils.parseBundleInfoLine(line, null));
}
public void testWriteVersionLine() {
String expectedVersionPrefix = "#version=";
String versionLine = SimpleConfiguratorManipulatorUtils.createVersionLine();
assertTrue(versionLine.startsWith(expectedVersionPrefix));
SimpleConfiguratorUtils.parseCommentLine(versionLine);
try {
SimpleConfiguratorUtils.parseCommentLine(expectedVersionPrefix + "999");
} catch (IllegalArgumentException e) {
return;
}
fail("improper version error not caught");
}
}