You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@corinthia.apache.org by ja...@apache.org on 2015/08/04 17:01:14 UTC

incubator-corinthia git commit: test cases ready, hunting last errors

Repository: incubator-corinthia
Updated Branches:
  refs/heads/newZipExperiment2 6451ac0fe -> 7dea936f3


test cases ready, hunting last errors


Project: http://git-wip-us.apache.org/repos/asf/incubator-corinthia/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-corinthia/commit/7dea936f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-corinthia/tree/7dea936f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-corinthia/diff/7dea936f

Branch: refs/heads/newZipExperiment2
Commit: 7dea936f311b6a93a6752e62e3252a1465eb3a56
Parents: 6451ac0
Author: jani <ja...@apache.org>
Authored: Tue Aug 4 17:00:58 2015 +0200
Committer: jani <ja...@apache.org>
Committed: Tue Aug 4 17:00:58 2015 +0200

----------------------------------------------------------------------
 DocFormats/headers/DFPlatform.h          |   2 +-
 DocFormats/platform/src/Wrapper_zip.c    |  26 ++-
 DocFormats/platform/tests/WrapperTests.c | 260 ++++----------------------
 DocFormats/platform/tests/test.docx      | Bin 0 -> 12833 bytes
 DocFormats/platform/tests/test.odt       | Bin 0 -> 15446 bytes
 5 files changed, 57 insertions(+), 231 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/7dea936f/DocFormats/headers/DFPlatform.h
----------------------------------------------------------------------
diff --git a/DocFormats/headers/DFPlatform.h b/DocFormats/headers/DFPlatform.h
index fb5f55f..0a29712 100644
--- a/DocFormats/headers/DFPlatform.h
+++ b/DocFormats/headers/DFPlatform.h
@@ -92,7 +92,7 @@ DFextZipHandleP DFextZipCreate(const char *zipFilename);
 unsigned char     *DFextZipReadFile(DFextZipHandleP zipHandle, DFextZipDirEntryP zipEntry);
 DFextZipDirEntryP  DFextZipWriteFile(DFextZipHandleP zipHandle, const char *fileName, const void *buf, const int len);
 
-int DFextZipClose(DFextZipHandleP zipHandle);
+void DFextZipClose(DFextZipHandleP zipHandle);
 
 
 

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/7dea936f/DocFormats/platform/src/Wrapper_zip.c
----------------------------------------------------------------------
diff --git a/DocFormats/platform/src/Wrapper_zip.c b/DocFormats/platform/src/Wrapper_zip.c
index adc9b47..18b6e64 100644
--- a/DocFormats/platform/src/Wrapper_zip.c
+++ b/DocFormats/platform/src/Wrapper_zip.c
@@ -180,8 +180,8 @@ static void releaseMemory(DFextZipHandleP zipHandle) {
 		int count = zipHandle->zipCreateMode ? zipHandle->zipCreateMode : zipHandle->zipFileCount;
 		if (count) {
 			for (int i = 0; i < count; i++) {
-				DFextZipDirEntry *zipDirEntry = zipHandle->zipFileEntries + (i * sizeof(zipDirEntry));
-				if (zipDirEntry->fileName)
+				DFextZipDirEntry *zipDirEntry = &zipHandle->zipFileEntries[i];
+				if (zipDirEntry->fileName != NULL)
 					free(zipDirEntry->fileName);
 			}
 			free(zipHandle->zipFileEntries);
@@ -236,7 +236,7 @@ DFextZipHandleP DFextZipOpen(const char *zipFilename) {
     DFextZipHandleP zipHandle = xmalloc(sizeof(DFextZipHandle));
 
 	// open zip file for reading
-	zipHandle->zipCreateMode = 0;
+	zipHandle->zipCreateMode = zipHandle->zipFileCount = 0;
 	zipHandle->zipFile       = fopen(zipFilename, "rb");
 	if (zipHandle->zipFile
 		&& !readDirectory(zipHandle->zipFile, zipHandle))
@@ -318,7 +318,7 @@ unsigned char *DFextZipReadFile(DFextZipHandleP zipHandle, DFextZipDirEntryP zip
 
 DFextZipHandleP DFextZipCreate(const char *zipFilename) {
 	DFextZipHandleP zipHandle = xmalloc(sizeof(DFextZipHandle));
-
+	int             memSize;
 	// Open file for write
 	if ((zipHandle->zipFile = fopen(zipFilename, "wb")) == NULL) {
 		free(zipHandle);
@@ -326,7 +326,12 @@ DFextZipHandleP DFextZipCreate(const char *zipFilename) {
 	}
 
 	// prepare to add files
-	zipHandle->zipFileCount = 0;
+	zipHandle->zipFileCount   = 0;
+	zipHandle->zipCreateMode  = FILECOUNT_ALLOC_SIZE;
+	memSize                   = zipHandle->zipCreateMode * sizeof(DFextZipDirEntry);
+
+	zipHandle->zipFileEntries = xmalloc(memSize);
+	bzero(zipHandle->zipFileEntries, memSize);
 	return zipHandle;
 }
 
@@ -341,7 +346,8 @@ DFextZipDirEntryP DFextZipWriteFile(DFextZipHandleP zipHandle, const char *fileN
 	// do we have space for one more entry ?
 	if (zipHandle->zipFileCount >= zipHandle->zipCreateMode) {
 		zipHandle->zipCreateMode += FILECOUNT_ALLOC_SIZE;
-		zipHandle->zipFileEntries = xrealloc(zipHandle->zipFileEntries, zipHandle->zipCreateMode * sizeof(DFextZipDirEntryP));
+		zipHandle->zipFileEntries = xrealloc(zipHandle->zipFileEntries, zipHandle->zipCreateMode * sizeof(DFextZipDirEntry));
+		bzero(&zipHandle->zipFileEntries[zipHandle->zipFileCount], FILECOUNT_ALLOC_SIZE * sizeof(DFextZipDirEntry));
 	}
 
 	// prepare local and global file entry
@@ -376,8 +382,9 @@ DFextZipDirEntryP DFextZipWriteFile(DFextZipHandleP zipHandle, const char *fileN
 	header.fileNameLength         = fileNameLength;
 
 	// put data to file
-	fwrite(&header, 1, sizeof(header), zipHandle->zipFile);
-	fwrite(entryPtr->fileName, 1, fileNameLength, zipHandle->zipFile);
+	fwrite(&header,            1, sizeof(header),        zipHandle->zipFile);
+	fwrite(entryPtr->fileName, 1, fileNameLength,        zipHandle->zipFile);
+	fwrite(outbuf,             1, header.compressedSize, zipHandle->zipFile);
 
 	// cleanup
 	free(outbuf);
@@ -387,12 +394,11 @@ DFextZipDirEntryP DFextZipWriteFile(DFextZipHandleP zipHandle, const char *fileN
 
 
 
-int DFextZipClose(DFextZipHandleP zipHandle)
+void DFextZipClose(DFextZipHandleP zipHandle)
 {
 	if (zipHandle->zipFileCount)
 		writeGlobalDirAndEndRecord(zipHandle);
 
 	fclose(zipHandle->zipFile);
 	releaseMemory(zipHandle);
-	return 0;
 }

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/7dea936f/DocFormats/platform/tests/WrapperTests.c
----------------------------------------------------------------------
diff --git a/DocFormats/platform/tests/WrapperTests.c b/DocFormats/platform/tests/WrapperTests.c
index cacfa1b..5a46786 100644
--- a/DocFormats/platform/tests/WrapperTests.c
+++ b/DocFormats/platform/tests/WrapperTests.c
@@ -1,4 +1,4 @@
-// Licensed to the Apache Software Foundation (ASF) under one
+// Licensed to the Apache Software Foundation (ASF) under one
 // or more contributor license agreements.  See the NOTICE file
 // distributed with this work for additional information
 // regarding copyright ownership.  The ASF licenses this file
@@ -15,250 +15,70 @@
 // specific language governing permissions and limitations
 // under the License.
 
+#include <string.h>
+#include <stdlib.h>
 #include <stddef.h>
 #include <stdio.h>
 #include "DFUnitTest.h"
 #include "DFPlatform.h"
 
 
-static const char * const zipNames1[] = {
-	"[Content_Types].xml",
-	"_rels / .rels",
-	"word / _rels / document.xml.rels",
-	"word / document.xml",
-	"word / theme / theme1.xml",
-	"word / settings.xml",
-	"word / fontTable.xml",
-	"word / webSettings.xml",
-	"docProps / app.xml",
-	"docProps / core.xml",
-	"word / styles.xml",
-	""
-};
-static const char * const zipNames2[] = {
-	"mimetype",
-	"Configurations2 / statusbar / ",
-	"Configurations2 / accelerator / current.xml",
-	"Configurations2 / floater / ",
-	"Configurations2 / popupmenu / ",
-	"Configurations2 / progressbar / ",
-	"Configurations2 / menubar / ",
-	"Configurations2 / toolbar / ",
-	"Configurations2 / images / Bitmaps / ",
-	"content.xml",
-	"styles.xml",
-	"meta.xml",
-	"Thumbnails / thumbnail.png",
-	"settings.xml",
-	"META - INF / manifest.xml"
-	""
-};
-
-static const char * const zipFiles1[] = {
-	/* file 1 "[Content_Types].xml" */
-	"< ? xml version = \"1.0\" encoding = \"UTF-8\" standalone = \"yes\" ? >\n"
-	"<Types xmlns = \"http://schemas.openxmlformats.org/package/2006/content-types\"><Default Extension = \"rels\" ContentType = \"application"
-	"/vnd.openxmlformats-package.relationships+xml\" / ><Default Extension = \"xml\" ContentType = \"application/xml\" / ><Override PartName ="
-	" \"/word/document.xml\" ContentType = \"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml\" / ><Override P"
-	"artName = \"/word/styles.xml\" ContentType = \"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml\" / ><Override P"
-	"artName = \"/word/settings.xml\" ContentType = \"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml\" / ><Overri"
-	"de PartName = \"/word/webSettings.xml\" ContentType = \"application/vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml\" "
-	"/ ><Override PartName = \"/word/fontTable.xml\" ContentType = \"application/vnd.openxmlformats-officedocument.wordprocessingml.fontTable+"
-	"xml\" / ><Override PartName = \"/word/theme/theme1.xml\" ContentType = \"application/vnd.openxmlformats-officedocument.theme+xml\" / ><Ov"
-	"erride PartName = \"/docProps/core.xml\" ContentType = \"application/vnd.openxmlformats-package.core-properties+xml\" / ><Override PartNa"
-	"me = \"/docProps/app.xml\" ContentType = \"application/vnd.openxmlformats-officedocument.extended-properties+xml\" / >< / Types>",
-
-	/* file 2 "_rels / .rels" */
-	"< ? xml version = \"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n"
-	"<Relationships xmlns = \"http://schemas.openxmlformats.org/package/2006/relationships\"><Relationship Id=\"rId3\" Type=\"http://schemas.o"
-	"penxmlformats.org/officeDocument/2006/relationships/extended-properties\" Target=\"docProps/app.xml\"/><Relationship Id=\"rId2\" Type=\"h"
-	"ttp://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties\" Target=\"docProps/core.xml\"/><Relationship Id=\"r"
-	"Id1\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument\" Target=\"word/document.xml\"/></Relatio"
-	"nships>", 
-
-	/* file 3 "word / _rels / document.xml.rels" */
-	"< ? xml version = \"1.0\" encoding = \"UTF-8\" standalone = \"yes\" ? >\n"
-	"<Relationships xmlns = \"http://schemas.openxmlformats.org/package/2006/relationships\"><Relationship Id = \"rId3\" Type = \"http://schem"
-	"as.openxmlformats.org/officeDocument/2006/relationships/webSettings\" Target = \"webSettings.xml\" / ><Relationship Id = \"rId2\" Type = "
-	"\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings\" Target = \"settings.xml\" / ><Relationship Id = \"rId1\""
-	" Type = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles\" Target = \"styles.xml\" / ><Relationship Id = \"rI"
-	"d5\" Type = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme\" Target = \"theme/theme1.xml\" / ><Relationship "
-	"Id = \"rId4\" Type = \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable\" Target = \"fontTable.xml\" / >< / "
-	"Relationships>",
-	
-	/* file 4 "word / document.xml" */
-	"< ? xml version = \"1.0\" encoding = \"UTF-8\" standalone = \"yes\" ? >\n"
-	"<w:document xmlns : wpc = \"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas\" xmlns : mc = \"http://schemas.openxmlfor"
-	"mats.org/markup-compatibility/2006\" xmlns : o = \"urn:schemas-microsoft-com:office:office\" xmlns : r = \"http://schemas.openxmlformats."
-	"org/officeDocument/2006/relationships\" xmlns : m = \"http://schemas.openxmlformats.org/officeDocument/2006/math\" xmlns : v = \"urn:sche"
-	"mas-microsoft-com:vml\" xmlns : wp14 = \"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing\" xmlns : wp = \"http://sche"
-	"mas.openxmlformats.org/drawingml/2006/wordprocessingDrawing\" xmlns : w10 = \"urn:schemas-microsoft-com:office:word\" xmlns : w = \"http:"
-	"//schemas.openxmlformats.org/wordprocessingml/2006/main\" xmlns : w14 = \"http://schemas.microsoft.com/office/word/2010/wordml\" xmlns : "
-	"w15 = \"http://schemas.microsoft.com/office/word/2012/wordml\" xmlns : wpg = \"http://schemas.microsoft.com/office/word/2010/wordprocessi"
-	"ngGroup\" xmlns : wpi = \"http://schemas.microsoft.com/office/word/2010/wordprocessingInk\" xmlns : wne = \"http://schemas.microsoft.com/"
-	"office/word/2006/wordml\" xmlns : wps = \"http://schemas.microsoft.com/office/word/2010/wordprocessingShape\" mc : Ignorable = \"w14 w15 "
-	"wp14\"><w:body><w:p w : rsidR = \"00932A4D\" w : rsidRDefault = \"00932A4D\"><w:pPr><w:rPr><w:noProof / >< / w:rPr>< / w:pPr><w:r><w:rPr>"
-	"<w:noProof / >< / w:rPr><w:t xml : space = \"preserve\">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. < / w:t>< / w:r><w:r w "
-	": rsidRPr = \"00932A4D\"><w:rPr><w:noProof / ><w:lang w : val = \"es-ES\" / >< / w:rPr><w:t xml : space = \"preserve\">Maecenas porttitor"
-	" congue massa.Fusce posuere, magna sed pulvinar ultricies, purus lectus malesuada libero, sit amet commodo magna eros quis urna.Nunc vive"
-	"rra imperdiet enim.Fusce est.Vivamus a tellus.Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egesta"
-	"s. < / w:t>< / w:r><w:r><w:rPr><w:noProof / >< / w:rPr><w:t>Proin pharetra nonummy pede.Mauris et orci.Aenean nec lorem.< / w:t>< / w:r><"
-	" / w:p><w:p w : rsidR = \"00932A4D\" w : rsidRDefault = \"00932A4D\"><w:pPr><w:rPr><w:noProof / >< / w:rPr>< / w:pPr><w:r><w:rPr><w:noPro"
-	"of / >< / w:rPr><w:t>In porttitor.Donec laoreet nonummy augue.Suspendisse dui purus, scelerisque at, vulputate vitae, pretium mattis, nun"
-	"c.Mauris eget neque at sem venenatis eleifend.Ut nonummy.Fusce aliquet pede non pede.Suspendisse dapibus lorem pellentesque magna.Integer"
-	" nulla.Donec blandit feugiat ligula.Donec hendrerit, felis et imperdiet euismod, purus ipsum pretium metus, in lacinia nulla nisl eget sa"
-	"pien.< / w:t>< / w:r>< / w:p><w:p w : rsidR = \"00932A4D\" w : rsidRDefault = \"00932A4D\"><w:pPr><w:rPr><w:noProof / >< / w:rPr>< / w:pP"
-	"r><w:r><w:rPr><w:noProof / >< / w:rPr><w:t xml : space = \"preserve\">Donec ut est in lectus consequat consequat.Etiam eget dui.Aliquam e"
-	"rat volutpat.Sed at lorem in nunc porta tristique.Proin nec augue. < / w:t>< / w:r><w:r w : rsidRPr = \"00932A4D\"><w:rPr><w:noProof / ><"
-	"w:lang w : val = \"es-ES\" / >< / w:rPr><w:t xml : space = \"preserve\">Quisque aliquam tempor magna.Pellentesque habitant morbi tristiqu"
-	"e senectus et netus et malesuada fames ac turpis egestas.Nunc ac magna.Maecenas odio dolor, vulputate vel, auctor ac, accumsan id, felis."
-	" < / w:t>< / w:r><w:r><w:rPr><w:noProof / >< / w:rPr><w:t>Pellentesque cursus sagittis felis.< / w:t>< / w:r>< / w:p><w:p w : rsidR = \"0"
-	"0932A4D\" w : rsidRDefault = \"00932A4D\"><w:pPr><w:rPr><w:noProof / >< / w:rPr>< / w:pPr><w:r w : rsidRPr = \"00932A4D\"><w:rPr><w:noPro"
-	"of / ><w:lang w : val = \"es-ES\" / >< / w:rPr><w:t xml : space = \"preserve\">Pellentesque porttitor, velit lacinia egestas auctor, diam"
-	" eros tempus arcu, nec vulputate augue magna vel risus.Cras non magna vel ante adipiscing rhoncus.Vivamus a mi.Morbi neque.Aliquam erat v"
-	"olutpat.Integer ultrices lobortis eros.Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.Proin"
-	" semper, ante vitae sollicitudin posuere, metus quam iaculis nibh, vitae scelerisque nunc massa eget pede.Sed velit urna, interdum vel, u"
-	"ltricies vel, faucibus at, quam. < / w:t>< / w:r><w:r><w:rPr><w:noProof / >< / w:rPr><w:t>Donec elit est, consectetuer eget, consequat qu"
-	"is, tempus quis, wisi.< / w:t>< / w:r>< / w:p><w:p w : rsidR = \"00932A4D\" w : rsidRDefault = \"00932A4D\"><w:pPr><w:rPr><w:noProof / ><"
-	"/ w:rPr>< / w:pPr><w:r><w:rPr><w:noProof / >< / w:rPr><w:t>In in nunc.Class aptent taciti sociosqu ad litora torquent per conubia nostra,"
-	" per inceptos hymenaeos.Donec ullamcorper fringilla eros.Fusce in sapien eu purus dapibus commodo.Cum sociis natoque penatibus et magnis "
-	"dis parturient montes, nascetur ridiculus mus.Cras faucibus condimentum odio.Sed ac ligula.Aliquam at eros.Etiam at ligula et tellus ulla"
-	"mcorper ultrices.In fermentum, lorem non cursus porttitor, diam urna accumsan lacus, sed interdum wisi nibh nec nisl.< / w:t>< / w:r>< / "
-	"w:p><w:p w : rsidR = \"00932A4D\" w : rsidRPr = \"00932A4D\" w : rsidRDefault = \"00932A4D\"><w:pPr><w:rPr><w:noProof / ><w:lang w : val "
-	"= \"es-ES\" / >< / w:rPr>< / w:pPr><w:r><w:rPr><w:noProof / >< / w:rPr><w:t xml : space = \"preserve\">Ut tincidunt volutpat urna.Mauris "
-	"eleifend nulla eget mauris.Sed cursus quam id felis. < / w:t>< / w:r><w:r w : rsidRPr = \"00932A4D\"><w:rPr><w:noProof / ><w:lang w : val"
-	" = \"es-ES\" / >< / w:rPr><w:t>Curabitur posuere quam vel nibh.Cras dapibus dapibus nisl.Vestibulum quis dolor a felis congue vehicula.Ma"
-	"ecenas pede purus, tristique ac, tempus eget, egestas quis, mauris.Curabitur non eros.Nullam hendrerit bibendum justo.Fusce iaculis, est "
-	"quis lacinia pretium, pede metus molestie lacus, at gravida wisi ante at libero.< / w:t>< / w:r>< / w:p><w:p w : rsidR = \"00932A4D\" w :"
-	" rsidRPr = \"00932A4D\" w : rsidRDefault = \"00932A4D\"><w:pPr><w:rPr><w:noProof / ><w:lang w : val = \"es-ES\" / >< / w:rPr>< / w:pPr><w"
-	":r w : rsidRPr = \"00932A4D\"><w:rPr><w:noProof / ><w:lang w : val = \"es-ES\" / >< / w:rPr><w:t>Quisque ornare placerat risus.Ut molesti"
-	"e magna at mi.Integer aliquet mauris et nibh.Ut mattis ligula posuere velit.Nunc sagittis.Curabitur varius fringilla nisl.Duis pretium mi"
-	" euismod erat.Maecenas id augue.Nam vulputate.Duis a quam non neque lobortis malesuada.< / w:t>< / w:r>< / w:p><w:p w : rsidR = \"00932A4"
-	"D\" w : rsidRPr = \"00932A4D\" w : rsidRDefault = \"00932A4D\"><w:pPr><w:rPr><w:noProof / ><w:lang w : val = \"es-ES\" / >< / w:rPr>< / w"
-	":pPr><w:r w : rsidRPr = \"00932A4D\"><w:rPr><w:noProof / ><w:lang w : val = \"es-ES\" / >< / w:rPr><w:t>Praesent euismod.Donec nulla augu"
-	"e, venenatis scelerisque, dapibus a, consequat at, leo.Pellentesque libero lectus, tristique ac, consectetuer sit amet, imperdiet ut, jus"
-	"to.Sed aliquam odio vitae tortor.Proin hendrerit tempus arcu.In hac habitasse platea dictumst.Suspendisse potenti.Vivamus vitae massa adi"
-	"piscing est lacinia sodales.Donec metus massa, mollis vel, tempus placerat, vestibulum condimentum, ligula.Nunc lacus metus, posuere eget"
-	", lacinia eu, varius quis, libero.< / w:t>< / w:r><w:bookmarkStart w : id = \"0\" w : name = \"_GoBack\" / ><w:bookmarkEnd w : id = \"0\""
-	"/ >< / w:p><w:sectPr w : rsidR = \"00932A4D\" w : rsidRPr = \"00932A4D\"><w:pgSz w : w = \"12240\" w : h = \"15840\" / ><w:pgMar w : top "
-	"= \"1440\" w : right = \"1440\" w : bottom = \"1440\" w : left = \"1440\" w : header = \"720\" w : footer = \"720\" w : gutter = \"0\" / "
-	"><w:cols w : space = \"720\" / ><w:docGrid w : linePitch = \"360\" / >< / w:sectPr>< / w:body>< / w:document>",
-
-	/* file 5 "word / theme / theme1.xml" */
-
-	
-	/* file 6 "word / settings.xml" */
-
-
-	/* file 7 "word / fontTable.xml" */
-
-
-	/* file 8 "word / webSettings.xml" */
-
-
-	/* file 9 "docProps / app.xml" */
-
-
-	/* file 10 "docProps / core.xml" */
-
-
-	/* file 11 "word / styles.xml" */
-
-
-	/* TERMINATION */
-	""
-};
-static const char * const zipFiles2[] = {
-	/* file 1 "mimetype" */
-
-
-	/* file 2 "Configurations2 / statusbar / " */
-
-
-	/* file 3 "Configurations2 / accelerator / current.xml" */
 
+static void doZip(char *name) {
+	DFextZipHandleP   zip;
+	DFextZipDirEntryP zipDir;
+	int               inp, out;
+	unsigned char    *fileBuf[20];
+	char              fileName[20][200];
+	int               fileLen[20];
+	char              tmpName[100];
 
-	/* file 4 "Configurations2 / floater / " */
 
+	zip = DFextZipOpen(name);
+	utassert((zip != NULL), "cannot open/read zip");
 
-	/* file 5 "Configurations2 / popupmenu / " */
-
-
-	/* file 6 "Configurations2 / progressbar / " */
-
-
-	/* file 7 "Configurations2 / menubar / " */
-
-
-	/* file 8 "Configurations2 / toolbar / " */
-
-
-	/* file 9 "Configurations2 / images / Bitmaps / " */
-
-
-	/* file 10 "content.xml" */
-
-
-	/* file 11 "styles.xml" */
-
-
-	/* file 12 "meta.xml" */
+	for (inp = 0; inp < zip->zipFileCount; inp++) {
+		strcpy(fileName[inp], zip->zipFileEntries[inp].fileName);
+		fileLen[inp] = zip->zipFileEntries[inp].uncompressedSize;
+		fileBuf[inp] = DFextZipReadFile(zip, &zip->zipFileEntries[inp]);
+		utassert((fileBuf[inp] != NULL), "cannot read file in zip");
+	}
+	DFextZipClose(zip);
+	zip = NULL;
 
 
-	/* file 13 "Thumbnails / thumbnail.png" */
+	sprintf(tmpName, "new_%s", name);
+	zip = DFextZipCreate(tmpName);
+	utassert((zip != NULL), "cannot create zip");
 
+	for (out = 0; out < inp; out++) {
+		zipDir = DFextZipWriteFile(zip, fileName[out], fileBuf[out], fileLen[out]);
+		utassert((zipDir != NULL), "cannot write file in zip");
+		free(fileBuf[out]);
+	}
+	DFextZipClose(zip);
+}
 
-	/* file 14 "settings.xml" */
 
 
-	/* file 15 "META - INF / manifest.xml" */
+static void test_DFextZipOOXML(void)
+{
+	doZip("test.docx");
+}
 
-	/* TERMINATION */
-	""
-};
 
 
-static void test_DFextZip(void)
+static void test_DFextZipODF(void)
 {
-	DFextZipHandleP zip;
-	int             i;
-	unsigned char  *fileBuf;
-	char            tmpName[20];
-	FILE           *log, *dmp;
-
-	zip = DFextZipOpen("test.docx");
-	log = fopen("docx_log.txt", "w");
-	for (i = 0; i < zip->zipFileCount; i++) {
-		fileBuf = DFextZipReadFile(zip, &zip->zipFileEntries[i]);
-		fprintf(log, "id(%d) method(%d) name(%s)\n", i, zip->zipFileEntries[i].compressionMethod, zip->zipFileEntries[i].fileName);
-		if (fileBuf) {
-			sprintf(tmpName, "odt_%d.xxx", i);
-			dmp = fopen(tmpName, "wb");
-			fwrite(fileBuf, 1, zip->zipFileEntries[i].uncompressedSize, dmp);
-			fclose(dmp);
-		}
-	}
-	fclose(log);
-	zip = DFextZipOpen("test.odt");
-	log = fopen("odt_log.txt", "w");
-	for (i = 0; i < zip->zipFileCount; i++) {
-		fileBuf = DFextZipReadFile(zip, &zip->zipFileEntries[i]);
-		fprintf(log, "id(%d) name(%s)\n", i, zip->zipFileEntries[i].fileName);
-		if (fileBuf) {
-			sprintf(tmpName, "odt_%d.xxx", i);
-			dmp = fopen(tmpName, "wb");
-			fwrite(fileBuf, 1, zip->zipFileEntries[i].uncompressedSize, dmp);
-			fclose(dmp);
-		}
-	}
-	fclose(log);
+	doZip("test.odt");
 }
 
 
 
 TestGroup PlatformWrapperTests = {
     "platform.wrapper", {
-		    { "DFextZip", PlainTest, test_DFextZip },
-            { NULL,       PlainTest, NULL          }
+		    { "DFextZipOOXML", PlainTest, test_DFextZipOOXML },
+			{ "DFextZipODF",   PlainTest, test_DFextZipODF },
+			{ NULL,            PlainTest, NULL }
     }
 };

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/7dea936f/DocFormats/platform/tests/test.docx
----------------------------------------------------------------------
diff --git a/DocFormats/platform/tests/test.docx b/DocFormats/platform/tests/test.docx
new file mode 100644
index 0000000..9de8bc3
Binary files /dev/null and b/DocFormats/platform/tests/test.docx differ

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/7dea936f/DocFormats/platform/tests/test.odt
----------------------------------------------------------------------
diff --git a/DocFormats/platform/tests/test.odt b/DocFormats/platform/tests/test.odt
new file mode 100644
index 0000000..53421ff
Binary files /dev/null and b/DocFormats/platform/tests/test.odt differ