*** empty log message ***
diff --git a/org.eclipse.equinox.p2.cudf/tests/org/eclipse/equinox/p2/cudf/tests/ParserTest.java b/org.eclipse.equinox.p2.cudf/tests/org/eclipse/equinox/p2/cudf/tests/ParserTest.java
index 1043523..a1b30ea 100644
--- a/org.eclipse.equinox.p2.cudf/tests/org/eclipse/equinox/p2/cudf/tests/ParserTest.java
+++ b/org.eclipse.equinox.p2.cudf/tests/org/eclipse/equinox/p2/cudf/tests/ParserTest.java
@@ -44,6 +44,7 @@
 			}
 		}
 		assertRequirement(new RequiredCapability("f", new VersionRange(new Version(5), true, Version.maxVersion, true)), iu.getRequiredCapabilities());
+		assertRequirement(new NotRequirement(new RequiredCapability("g", VersionRange.emptyRange)), iu.getRequiredCapabilities());
 	}
 
 	public void testCheckPackageLibcbin() {
@@ -55,6 +56,42 @@
 		assertRequirement(new NotRequirement(new RequiredCapability("libc6.1", new VersionRange(Version.emptyVersion, true, new Version(1), false))), iu.getRequiredCapabilities());
 	}
 
+	public void testCheckLibx11data() {
+		InstallableUnit iu = getIU("libx11-data");
+		assertEquals(true, iu.isSingleton());
+	}
+
+	public void testlibtextCharwidthPerl() {
+		InstallableUnit iu = getIU("libtext-charwidth-perl");
+		assertEquals(true, iu.isSingleton());
+		assertRequirement(new RequiredCapability("libc6", new VersionRange(new Version(1), true, Version.maxVersion, true)), iu.getRequiredCapabilities());
+		assertRequirement(new RequiredCapability("perl-base", new VersionRange(new Version(12), true, Version.maxVersion, true)), iu.getRequiredCapabilities());
+		IRequiredCapability[] reqs = iu.getRequiredCapabilities();
+		for (int i = 0; i < reqs.length; i++) {
+			if (reqs[i] instanceof ORRequirement) {
+				assertRequirement(new RequiredCapability("perlapi-5.10.0--virtual", VersionRange.emptyRange), ((ORRequirement) reqs[i]).getRequirements());
+				assertRequirement(new RequiredCapability("perlapi-5.10.0", VersionRange.emptyRange), ((ORRequirement) reqs[i]).getRequirements());
+			}
+		}
+		assertNotRequirement(new NotRequirement(new RequiredCapability("libtext-charwidth-perl", VersionRange.emptyRange)), iu.getRequiredCapabilities());
+	}
+
+	public void testFoo() {
+		InstallableUnit iu = getIU("foo");
+		assertEquals(false, iu.isSingleton());
+		assertProvide(new ProvidedCapability("x", VersionRange.emptyRange), iu.getProvidedCapabilities());
+		assertRequirement(new NotRequirement(new RequiredCapability("x", VersionRange.emptyRange)), iu.getRequiredCapabilities());
+	}
+
+	private void assertNotRequirement(IRequiredCapability asserted, IRequiredCapability[] reqs) {
+		for (int i = 0; i < reqs.length; i++) {
+			if (asserted.getName().equals(reqs[i].getName())) {
+				if (asserted.getRange().equals(reqs[i].getRange()) && asserted.getArity() == reqs[i].getArity() && asserted.isNegation() == reqs[i].isNegation())
+					fail("Requirement not expected:" + asserted);
+			}
+		}
+	}
+
 	private void assertRequirement(IRequiredCapability asserted, IRequiredCapability[] reqs) {
 		boolean found = true;
 		for (int i = 0; i < reqs.length; i++) {
@@ -67,6 +104,16 @@
 		assertEquals(true, found);
 	}
 
+	private void assertProvide(IProvidedCapability asserted, IProvidedCapability[] caps) {
+		boolean found = true;
+		for (int i = 0; i < caps.length; i++) {
+			if (asserted.getName().equals(caps[i].getName())) {
+				assertEquals(asserted.getVersion(), caps[i].getVersion());
+			}
+		}
+		assertEquals(true, found);
+	}
+
 	public void testCheckPackageNegatedDepends() {
 		InstallableUnit iu = getIU("negatedDepends");
 		assertRequirement(new NotRequirement(new RequiredCapability("a", new VersionRange(new Version(2)))), iu.getRequiredCapabilities());
diff --git a/org.eclipse.equinox.p2.cudf/tests/testData/parsingTest.cudf b/org.eclipse.equinox.p2.cudf/tests/testData/parsingTest.cudf
index 86aa357..9c71663 100644
--- a/org.eclipse.equinox.p2.cudf/tests/testData/parsingTest.cudf
+++ b/org.eclipse.equinox.p2.cudf/tests/testData/parsingTest.cudf
@@ -47,6 +47,11 @@
 sourceversion: 0.04-6
 installedsize: 36
 
+package: foo
+version: 1
+conflicts: x
+provides: x
+
 request: SAMPLE-DATA
 install: a