Author: nextgens
Date: 2007-07-04 23:21:08 +0000 (Wed, 04 Jul 2007)
New Revision: 13938
Modified:
trunk/freenet/src/freenet/support/SimpleFieldSet.java
trunk/freenet/test/freenet/support/SimpleFieldSetTest.java
Log:
Some work on SimpleFieldSet: enable a few disabled tests, handle border-cases
Modified: trunk/freenet/src/freenet/support/SimpleFieldSet.java
===================================================================
--- trunk/freenet/src/freenet/support/SimpleFieldSet.java 2007-07-04
23:09:33 UTC (rev 13937)
+++ trunk/freenet/src/freenet/support/SimpleFieldSet.java 2007-07-04
23:21:08 UTC (rev 13938)
@@ -640,11 +640,11 @@
}
public Iterator directSubsetNameIterator() {
- return subsets.keySet().iterator();
+ return (subsets == null) ? null : subsets.keySet().iterator();
}
public String[] namesOfDirectSubsets() {
- return (String[]) subsets.keySet().toArray(new
String[subsets.size()]);
+ return (subsets == null) ? null : (String[])
subsets.keySet().toArray(new String[subsets.size()]);
}
public static SimpleFieldSet readFrom(InputStream is, boolean
allowMultiple, boolean shortLived) throws IOException {
Modified: trunk/freenet/test/freenet/support/SimpleFieldSetTest.java
===================================================================
--- trunk/freenet/test/freenet/support/SimpleFieldSetTest.java 2007-07-04
23:09:33 UTC (rev 13937)
+++ trunk/freenet/test/freenet/support/SimpleFieldSetTest.java 2007-07-04
23:21:08 UTC (rev 13938)
@@ -487,12 +487,10 @@
Iterator methodIter = methodSFS.directSubsetNameIterator();
while (methodIter.hasNext())
((String)methodIter.next()).equals(SAMPLE_STRING_PAIRS[0][0]);
+
methodSFS = new SimpleFieldSet(true);
- /*TODO: the code below should work,
- instead atm it raises a not-so-good null exception
methodIter = methodSFS.directSubsetNameIterator();
- while (methodIter.hasNext())
- fail("An empty SFS cannot have direct subset!"); */
+ assertNull(methodIter);
}
/**
@@ -502,12 +500,9 @@
String[] expectedResult = {SAMPLE_STRING_PAIRS[0][0]};
SimpleFieldSet methodSFS = sfsFromSampleStringPairs();
assertTrue(Arrays.equals(methodSFS.namesOfDirectSubsets(),expectedResult));
- /*TODO: the code below should work,
- instead atm it raises a not-so-good null exception
- expectedResult = new String[0];
+
methodSFS = new SimpleFieldSet(true);
-
assertTrue(Arrays.equals(methodSFS.namesOfDirectSubsets(),expectedResult)); */
-
+ assertNull(methodSFS.namesOfDirectSubsets());
}
public void testOrderedString() {