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() {


Reply via email to