X-Git-Url: http://git.nikiroo.be/?p=nikiroo-utils.git;a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Futils%2Ftest%2FSerialTest.java;h=0221e6523ee63219afda9529daddf19b9588a739;hp=26571dfcb9755653d0208558548a720c60d84b4f;hb=edeff2abd7f57e62c478a07c7dc2d138c96f408e;hpb=72648e757f648cd152bc00dfb83f895260f037a0 diff --git a/src/be/nikiroo/utils/test/SerialTest.java b/src/be/nikiroo/utils/test/SerialTest.java index 26571df..0221e65 100644 --- a/src/be/nikiroo/utils/test/SerialTest.java +++ b/src/be/nikiroo/utils/test/SerialTest.java @@ -31,6 +31,7 @@ class SerialTest extends TestLauncher { }); addTest(new TestCase() { + @SuppressWarnings("unused") private TestCase me = setName("Anonymous inner class"); @Override @@ -48,6 +49,36 @@ class SerialTest extends TestLauncher { } }); + addTest(new TestCase() { + @SuppressWarnings("unused") + private TestCase me = setName("Array of anonymous inner classes"); + + @Override + public void test() throws Exception { + Data[] data = new Data[] { new Data() { + } }; + + String encoded = new Exporter().append(data).toString(false); + Object redata = new Importer().read(encoded).getValue(); + String reencoded = new Exporter().append(redata) + .toString(false); + + // Comparing the 2 strings won't be useful, because the @REFs + // will be ZIP-encoded; so we parse and re-encode the object + encoded = new Exporter().append(data[0]).toString(false); + try { + reencoded = new Exporter().append(((Data[]) redata)[0]) + .toString(false); + } catch (Exception e) { + fail("Cannot cast the returned data into its original object", + e); + } + + assertEquals(encoded.replaceAll("@[0-9]*", "@REF"), + reencoded.replaceAll("@[0-9]*", "@REF")); + } + }); + addTest(new TestCase("URL Import/Export") { @Override public void test() throws Exception {