eoj: fix jcreatejar test 22/13122/3
Calixte DENIZET [Fri, 8 Nov 2013 15:21:13 +0000 (16:21 +0100)]
Change-Id: I1477eea05b7903fee4858842b2206cb4684049d2

scilab/modules/external_objects_java/tests/unit_tests/jcreatejar.dia.ref
scilab/modules/external_objects_java/tests/unit_tests/jcreatejar.tst
scilab/modules/external_objects_java/tests/unit_tests/jcreatejar.unix.dia.ref [deleted file]

index 1d9bd46..d3abaf3 100644 (file)
@@ -19,17 +19,17 @@ endfunction
 function [filePath, fileContent] = addFileToPackage(fileName, package, packageDir, fileContent)
     destDir = packageDir;
     if ~isempty(package) then
-        fileDirs = strsplit(package, '.'),
-        for i = 1:size(fileDirs, '*')
+        fileDirs = strsplit(package, "."),
+        for i = 1:size(fileDirs, "*")
             destDir = createSubDir(destDir, fileDirs(i), %F);
         end
     end
     filePath = fullfile(destDir, fileName);
-    fd = mopen(filePath, 'wt');
+    fd = mopen(filePath, "wt");
     if ~isempty(fileContent)
-      mputl(fileContent, fd);
+        mputl(fileContent, fd);
     else
-      mputl(fileName, fd);
+        mputl(fileName, fd);
     end
     mclose(fd);
 endfunction
@@ -77,107 +77,103 @@ function checkJar(jarFilePath, expectedJarFilePaths, expectedJarFileContents)
 endfunction
 // TEST JAR STRUCTURE
 // Test create jar with one file, by Arg the dir path
-packageName = 'packageOneClassArgDirPath';
+packageName = "packageOneClassArgDirPath";
 jarSrcPath = createSubDir(testRootDir, packageName, %T);
-jarDestPath = fullfile(testRootDir, packageName + '.jar');
-addFileToPackage('FooDir', '', jarSrcPath, '');
+jarDestPath = fullfile(testRootDir, packageName + ".jar");
+addFileToPackage("FooDir", "", jarSrcPath, "");
 jcreatejar(jarDestPath, jarSrcPath);
-checkJar(jarDestPath, ['META-INF/MANIFEST.MF'; 'FooDir'], []);
+checkJar(jarDestPath, ["META-INF/MANIFEST.MF"; "FooDir"], []);
 // Test create jar with one file, by Arg the file path
-packageName = 'packageOneClassArgFilePath';
+packageName = "packageOneClassArgFilePath";
 jarSrcPath = createSubDir(testRootDir, packageName, %T);
-jarDestPath = fullfile(testRootDir, packageName + '.jar');
-filePath = addFileToPackage('FooFile', '', jarSrcPath, '');
+jarDestPath = fullfile(testRootDir, packageName + ".jar");
+filePath = addFileToPackage("FooFile", "", jarSrcPath, "");
 jcreatejar(jarDestPath, filePath);
-checkJar(jarDestPath, ['META-INF/MANIFEST.MF'; 'FooFile'], []);
+checkJar(jarDestPath, ["META-INF/MANIFEST.MF"; "FooFile"], []);
 // Test create jar with two files, by Arg the dir path
-packageName = 'packageTwoClassesArgDirPath';
+packageName = "packageTwoClassesArgDirPath";
 jarSrcPath = createSubDir(testRootDir, packageName, %T);
-jarDestPath = fullfile(testRootDir, packageName + '.jar');
-addFileToPackage('FooDir1', '', jarSrcPath, '');
-addFileToPackage('FooDir2', '', jarSrcPath, '');
+jarDestPath = fullfile(testRootDir, packageName + ".jar");
+addFileToPackage("FooDir1", "", jarSrcPath, "");
+addFileToPackage("FooDir2", "", jarSrcPath, "");
 jcreatejar(jarDestPath, jarSrcPath);
-checkJar(jarDestPath, ['META-INF/MANIFEST.MF'; 'FooDir1'; 'FooDir2'], []);
+checkJar(jarDestPath, ["META-INF/MANIFEST.MF"; "FooDir1"; "FooDir2"], []);
 // Test create jar with two files, by Arg the file paths
-packageName = 'packageTwoClassesArgFilePaths';
+packageName = "packageTwoClassesArgFilePaths";
 jarSrcPath = createSubDir(testRootDir, packageName, %T);
-jarDestPath = fullfile(testRootDir, packageName + '.jar');
-filePath1 = addFileToPackage('FooFile1', '', jarSrcPath, '');
-filePath2 = addFileToPackage('FooFile2', '', jarSrcPath, '');
+jarDestPath = fullfile(testRootDir, packageName + ".jar");
+filePath1 = addFileToPackage("FooFile1", "", jarSrcPath, "");
+filePath2 = addFileToPackage("FooFile2", "", jarSrcPath, "");
 jcreatejar(jarDestPath, [filePath1, filePath2]);
-checkJar(jarDestPath, ['META-INF/MANIFEST.MF'; 'FooFile1'; 'FooFile2'], []);
+checkJar(jarDestPath, ["META-INF/MANIFEST.MF"; "FooFile1"; "FooFile2"], []);
 // Test create jar with two files and one folder, by Arg the dir path
-packageName = 'packageOneFolderArgDirPath';
+packageName = "packageOneFolderArgDirPath";
 jarSrcPath = createSubDir(testRootDir, packageName, %T);
-jarDestPath = fullfile(testRootDir, packageName + '.jar');
-addFileToPackage('FooRoot', '', jarSrcPath, '');
-addFileToPackage('FooFolder', 'folder', jarSrcPath, '');
+jarDestPath = fullfile(testRootDir, packageName + ".jar");
+addFileToPackage("FooRoot", "", jarSrcPath, "");
+addFileToPackage("FooFolder", "folder", jarSrcPath, "");
 jcreatejar(jarDestPath, jarSrcPath);
-checkJar(jarDestPath, ['META-INF/MANIFEST.MF'; 'folder/FooFolder'; 'FooRoot'], []);
+checkJar(jarDestPath, ["META-INF/MANIFEST.MF"; "folder/FooFolder"; "FooRoot"], []);
 // Test create a standard package 'org.scilab.test.package'
-packageName = 'org.scilab.test.mypackage';
+packageName = "org.scilab.test.mypackage";
 jarSrcPath = createSubDir(testRootDir, packageName, %T);
-jarDestPath = fullfile(testRootDir, packageName + '.jar');
-addFileToPackage('FooPackage1', packageName, jarSrcPath, '');
-addFileToPackage('FooPackage2', packageName, jarSrcPath, '');
+jarDestPath = fullfile(testRootDir, packageName + ".jar");
+addFileToPackage("FooPackage1", packageName, jarSrcPath, "");
+addFileToPackage("FooPackage2", packageName, jarSrcPath, "");
 jcreatejar(jarDestPath, jarSrcPath);
 checkJar(jarDestPath, ..
-    ['META-INF/MANIFEST.MF'; ..
-     'org/scilab/test/mypackage/FooPackage1'; ..
-     'org/scilab/test/mypackage/FooPackage2'], ..
-     []);
+["META-INF/MANIFEST.MF"; ..
+"org/scilab/test/mypackage/FooPackage1"; ..
+"org/scilab/test/mypackage/FooPackage2"], ..
+[]);
 // Test argument files root path
-packageName = 'packageFilesRootPath';
+packageName = "packageFilesRootPath";
 jarSrcPath = createSubDir(testRootDir, packageName, %T);
-jarDestPath = fullfile(testRootDir, packageName + '.jar');
-addFileToPackage('image1', 'images', jarSrcPath, '');
-addFileToPackage('image2', 'images', jarSrcPath, '');
-addFileToPackage('icon1', 'images/icon', jarSrcPath, '');
+jarDestPath = fullfile(testRootDir, packageName + ".jar");
+addFileToPackage("image1", "images", jarSrcPath, "");
+addFileToPackage("image2", "images", jarSrcPath, "");
+addFileToPackage("icon1", "images/icon", jarSrcPath, "");
 jcreatejar(jarDestPath, jarSrcPath, jarSrcPath);
 checkJar(jarDestPath, ..
-    ['META-INF/MANIFEST.MF'; ..
-     'images/icon/icon1'; ..
-     'images/image1'; ..
-     'images/image2'] ..
-     , []);
+["META-INF/MANIFEST.MF"; ..
+"images/icon/icon1"; ..
+"images/image1"; ..
+"images/image2"] ..
+, []);
 // TESTS JAR MANIFEST
 // Manifest data
 // Manifest need version, otherwise the created manifest may be empty
-manifestData = msprintf('Manifest-Version: 1.0\nName: testManifest');
+manifestData = msprintf("Manifest-Version: 1.0\nName: testManifest");
 CRLF = ascii([13 10]);
-expectedManifestData = 'Manifest-Version: 1.0' + CRLF + ..
-    'Name: testManifest' + CRLF + CRLF;
+expectedManifestData = "Manifest-Version: 1.0" + CRLF + ..
+"Name: testManifest" + CRLF + CRLF;
 // Test META-INF\MANIFEST.MF manifest file is loaded
-packageName = 'packageManifest';
+packageName = "packageManifest";
 jarSrcPath = createSubDir(testRootDir, packageName, %T);
-jarDestPath = fullfile(testRootDir, packageName + '.jar');
-addFileToPackage('MANIFEST.MF', 'META-INF', jarSrcPath, manifestData);
+jarDestPath = fullfile(testRootDir, packageName + ".jar");
+addFileToPackage("MANIFEST.MF", "META-INF", jarSrcPath, manifestData);
 jcreatejar(jarDestPath, jarSrcPath);
-checkJar(jarDestPath, ['META-INF/MANIFEST.MF'], [expectedManifestData]);
+checkJar(jarDestPath, ["META-INF/MANIFEST.MF"], [expectedManifestData]);
 // Test argument manifest file path
-packageName = 'packageManifest';
+packageName = "packageManifest";
 jarSrcPath = createSubDir(testRootDir, packageName, %T);
-jarDestPath = fullfile(testRootDir, packageName + '.jar');
+jarDestPath = fullfile(testRootDir, packageName + ".jar");
 // Create a manifest file somewhere
-manifestFilePath = fullfile(testRootDir, 'MANIFEST_TEST.MF')
- manifestFilePath  =
- TMPDIR\jcreatejar\MANIFEST 
-      _TEST.MF                                                          
-fd = mopen(manifestFilePath, 'wt');
+manifestFilePath = fullfile(testRootDir, "MANIFEST_TEST.MF");
+fd = mopen(manifestFilePath, "wt");
 mputl(manifestData, fd);
 mclose(fd);
-jcreatejar(jarDestPath, jarSrcPath, '', manifestFilePath);
-checkJar(jarDestPath, ['META-INF/MANIFEST.MF'], [expectedManifestData]);
+jcreatejar(jarDestPath, jarSrcPath, "", manifestFilePath);
+checkJar(jarDestPath, ["META-INF/MANIFEST.MF"], [expectedManifestData]);
 // OTHER TESTS
 // Test JAR overwirting
-packageName = 'packageOverwriting';
+packageName = "packageOverwriting";
 jarSrcPath = createSubDir(testRootDir, packageName, %T);
-jarDestPath = fullfile(testRootDir, packageName + '.jar');
-addFileToPackage('Foo', '', jarSrcPath, '');
+jarDestPath = fullfile(testRootDir, packageName + ".jar");
+addFileToPackage("Foo", "", jarSrcPath, "");
 jcreatejar(jarDestPath, jarSrcPath);
-checkJar(jarDestPath, ['META-INF/MANIFEST.MF'; 'Foo'], []);
+checkJar(jarDestPath, ["META-INF/MANIFEST.MF"; "Foo"], []);
 // overwrite package
-addFileToPackage('Foo2', '', jarSrcPath, '');
+addFileToPackage("Foo2", "", jarSrcPath, "");
 jcreatejar(jarDestPath, jarSrcPath);
-checkJar(jarDestPath, ['META-INF/MANIFEST.MF'; 'Foo'; 'Foo2'], []);
+checkJar(jarDestPath, ["META-INF/MANIFEST.MF"; "Foo"; "Foo2"], []);
index dfad932..403edd7 100644 (file)
@@ -23,18 +23,18 @@ endfunction
 function [filePath, fileContent] = addFileToPackage(fileName, package, packageDir, fileContent)
     destDir = packageDir;
     if ~isempty(package) then
-        fileDirs = strsplit(package, '.'),
-        for i = 1:size(fileDirs, '*')
+        fileDirs = strsplit(package, "."),
+        for i = 1:size(fileDirs, "*")
             destDir = createSubDir(destDir, fileDirs(i), %F);
         end
     end
     filePath = fullfile(destDir, fileName);
 
-    fd = mopen(filePath, 'wt');
+    fd = mopen(filePath, "wt");
     if ~isempty(fileContent)
-      mputl(fileContent, fd);
+        mputl(fileContent, fd);
     else
-      mputl(fileName, fd);
+        mputl(fileName, fd);
     end
     mclose(fd);
 endfunction
@@ -90,116 +90,116 @@ endfunction
 // TEST JAR STRUCTURE
 
 // Test create jar with one file, by Arg the dir path
-packageName = 'packageOneClassArgDirPath';
+packageName = "packageOneClassArgDirPath";
 jarSrcPath = createSubDir(testRootDir, packageName, %T);
-jarDestPath = fullfile(testRootDir, packageName + '.jar');
-addFileToPackage('FooDir', '', jarSrcPath, '');
+jarDestPath = fullfile(testRootDir, packageName + ".jar");
+addFileToPackage("FooDir", "", jarSrcPath, "");
 jcreatejar(jarDestPath, jarSrcPath);
-checkJar(jarDestPath, ['META-INF/MANIFEST.MF'; 'FooDir'], []);
+checkJar(jarDestPath, ["META-INF/MANIFEST.MF"; "FooDir"], []);
 
 // Test create jar with one file, by Arg the file path
-packageName = 'packageOneClassArgFilePath';
+packageName = "packageOneClassArgFilePath";
 jarSrcPath = createSubDir(testRootDir, packageName, %T);
-jarDestPath = fullfile(testRootDir, packageName + '.jar');
-filePath = addFileToPackage('FooFile', '', jarSrcPath, '');
+jarDestPath = fullfile(testRootDir, packageName + ".jar");
+filePath = addFileToPackage("FooFile", "", jarSrcPath, "");
 jcreatejar(jarDestPath, filePath);
-checkJar(jarDestPath, ['META-INF/MANIFEST.MF'; 'FooFile'], []);
+checkJar(jarDestPath, ["META-INF/MANIFEST.MF"; "FooFile"], []);
 
 // Test create jar with two files, by Arg the dir path
-packageName = 'packageTwoClassesArgDirPath';
+packageName = "packageTwoClassesArgDirPath";
 jarSrcPath = createSubDir(testRootDir, packageName, %T);
-jarDestPath = fullfile(testRootDir, packageName + '.jar');
-addFileToPackage('FooDir1', '', jarSrcPath, '');
-addFileToPackage('FooDir2', '', jarSrcPath, '');
+jarDestPath = fullfile(testRootDir, packageName + ".jar");
+addFileToPackage("FooDir1", "", jarSrcPath, "");
+addFileToPackage("FooDir2", "", jarSrcPath, "");
 jcreatejar(jarDestPath, jarSrcPath);
-checkJar(jarDestPath, ['META-INF/MANIFEST.MF'; 'FooDir1'; 'FooDir2'], []);
+checkJar(jarDestPath, ["META-INF/MANIFEST.MF"; "FooDir1"; "FooDir2"], []);
 
 // Test create jar with two files, by Arg the file paths
-packageName = 'packageTwoClassesArgFilePaths';
+packageName = "packageTwoClassesArgFilePaths";
 jarSrcPath = createSubDir(testRootDir, packageName, %T);
-jarDestPath = fullfile(testRootDir, packageName + '.jar');
-filePath1 = addFileToPackage('FooFile1', '', jarSrcPath, '');
-filePath2 = addFileToPackage('FooFile2', '', jarSrcPath, '');
+jarDestPath = fullfile(testRootDir, packageName + ".jar");
+filePath1 = addFileToPackage("FooFile1", "", jarSrcPath, "");
+filePath2 = addFileToPackage("FooFile2", "", jarSrcPath, "");
 jcreatejar(jarDestPath, [filePath1, filePath2]);
-checkJar(jarDestPath, ['META-INF/MANIFEST.MF'; 'FooFile1'; 'FooFile2'], []);
+checkJar(jarDestPath, ["META-INF/MANIFEST.MF"; "FooFile1"; "FooFile2"], []);
 
 // Test create jar with two files and one folder, by Arg the dir path
-packageName = 'packageOneFolderArgDirPath';
+packageName = "packageOneFolderArgDirPath";
 jarSrcPath = createSubDir(testRootDir, packageName, %T);
-jarDestPath = fullfile(testRootDir, packageName + '.jar');
-addFileToPackage('FooRoot', '', jarSrcPath, '');
-addFileToPackage('FooFolder', 'folder', jarSrcPath, '');
+jarDestPath = fullfile(testRootDir, packageName + ".jar");
+addFileToPackage("FooRoot", "", jarSrcPath, "");
+addFileToPackage("FooFolder", "folder", jarSrcPath, "");
 jcreatejar(jarDestPath, jarSrcPath);
-checkJar(jarDestPath, ['META-INF/MANIFEST.MF'; 'folder/FooFolder'; 'FooRoot'], []);
+checkJar(jarDestPath, ["META-INF/MANIFEST.MF"; "folder/FooFolder"; "FooRoot"], []);
 
 // Test create a standard package 'org.scilab.test.package'
-packageName = 'org.scilab.test.mypackage';
+packageName = "org.scilab.test.mypackage";
 jarSrcPath = createSubDir(testRootDir, packageName, %T);
-jarDestPath = fullfile(testRootDir, packageName + '.jar');
-addFileToPackage('FooPackage1', packageName, jarSrcPath, '');
-addFileToPackage('FooPackage2', packageName, jarSrcPath, '');
+jarDestPath = fullfile(testRootDir, packageName + ".jar");
+addFileToPackage("FooPackage1", packageName, jarSrcPath, "");
+addFileToPackage("FooPackage2", packageName, jarSrcPath, "");
 jcreatejar(jarDestPath, jarSrcPath);
 checkJar(jarDestPath, ..
-    ['META-INF/MANIFEST.MF'; ..
-     'org/scilab/test/mypackage/FooPackage1'; ..
-     'org/scilab/test/mypackage/FooPackage2'], ..
-     []);
+["META-INF/MANIFEST.MF"; ..
+"org/scilab/test/mypackage/FooPackage1"; ..
+"org/scilab/test/mypackage/FooPackage2"], ..
+[]);
 
 // Test argument files root path
-packageName = 'packageFilesRootPath';
+packageName = "packageFilesRootPath";
 jarSrcPath = createSubDir(testRootDir, packageName, %T);
-jarDestPath = fullfile(testRootDir, packageName + '.jar');
-addFileToPackage('image1', 'images', jarSrcPath, '');
-addFileToPackage('image2', 'images', jarSrcPath, '');
-addFileToPackage('icon1', 'images/icon', jarSrcPath, '');
+jarDestPath = fullfile(testRootDir, packageName + ".jar");
+addFileToPackage("image1", "images", jarSrcPath, "");
+addFileToPackage("image2", "images", jarSrcPath, "");
+addFileToPackage("icon1", "images/icon", jarSrcPath, "");
 jcreatejar(jarDestPath, jarSrcPath, jarSrcPath);
 checkJar(jarDestPath, ..
-    ['META-INF/MANIFEST.MF'; ..
-     'images/icon/icon1'; ..
-     'images/image1'; ..
-     'images/image2'] ..
-     , []);
+["META-INF/MANIFEST.MF"; ..
+"images/icon/icon1"; ..
+"images/image1"; ..
+"images/image2"] ..
+, []);
 
 // TESTS JAR MANIFEST
 
 // Manifest data
 // Manifest need version, otherwise the created manifest may be empty
-manifestData = msprintf('Manifest-Version: 1.0\nName: testManifest');
+manifestData = msprintf("Manifest-Version: 1.0\nName: testManifest");
 CRLF = ascii([13 10]);
-expectedManifestData = 'Manifest-Version: 1.0' + CRLF + ..
-    'Name: testManifest' + CRLF + CRLF;
+expectedManifestData = "Manifest-Version: 1.0" + CRLF + ..
+"Name: testManifest" + CRLF + CRLF;
 
 // Test META-INF\MANIFEST.MF manifest file is loaded
-packageName = 'packageManifest';
+packageName = "packageManifest";
 jarSrcPath = createSubDir(testRootDir, packageName, %T);
-jarDestPath = fullfile(testRootDir, packageName + '.jar');
-addFileToPackage('MANIFEST.MF', 'META-INF', jarSrcPath, manifestData);
+jarDestPath = fullfile(testRootDir, packageName + ".jar");
+addFileToPackage("MANIFEST.MF", "META-INF", jarSrcPath, manifestData);
 jcreatejar(jarDestPath, jarSrcPath);
-checkJar(jarDestPath, ['META-INF/MANIFEST.MF'], [expectedManifestData]);
+checkJar(jarDestPath, ["META-INF/MANIFEST.MF"], [expectedManifestData]);
 
 // Test argument manifest file path
-packageName = 'packageManifest';
+packageName = "packageManifest";
 jarSrcPath = createSubDir(testRootDir, packageName, %T);
-jarDestPath = fullfile(testRootDir, packageName + '.jar');
+jarDestPath = fullfile(testRootDir, packageName + ".jar");
 // Create a manifest file somewhere
-manifestFilePath = fullfile(testRootDir, 'MANIFEST_TEST.MF')
-fd = mopen(manifestFilePath, 'wt');
+manifestFilePath = fullfile(testRootDir, "MANIFEST_TEST.MF");
+fd = mopen(manifestFilePath, "wt");
 mputl(manifestData, fd);
 mclose(fd);
-jcreatejar(jarDestPath, jarSrcPath, '', manifestFilePath);
-checkJar(jarDestPath, ['META-INF/MANIFEST.MF'], [expectedManifestData]);
+jcreatejar(jarDestPath, jarSrcPath, "", manifestFilePath);
+checkJar(jarDestPath, ["META-INF/MANIFEST.MF"], [expectedManifestData]);
 
 // OTHER TESTS
 
 // Test JAR overwirting
-packageName = 'packageOverwriting';
+packageName = "packageOverwriting";
 jarSrcPath = createSubDir(testRootDir, packageName, %T);
-jarDestPath = fullfile(testRootDir, packageName + '.jar');
-addFileToPackage('Foo', '', jarSrcPath, '');
+jarDestPath = fullfile(testRootDir, packageName + ".jar");
+addFileToPackage("Foo", "", jarSrcPath, "");
 jcreatejar(jarDestPath, jarSrcPath);
-checkJar(jarDestPath, ['META-INF/MANIFEST.MF'; 'Foo'], []);
+checkJar(jarDestPath, ["META-INF/MANIFEST.MF"; "Foo"], []);
 // overwrite package
-addFileToPackage('Foo2', '', jarSrcPath, '');
+addFileToPackage("Foo2", "", jarSrcPath, "");
 jcreatejar(jarDestPath, jarSrcPath);
-checkJar(jarDestPath, ['META-INF/MANIFEST.MF'; 'Foo'; 'Foo2'], []);
+checkJar(jarDestPath, ["META-INF/MANIFEST.MF"; "Foo"; "Foo2"], []);
 
diff --git a/scilab/modules/external_objects_java/tests/unit_tests/jcreatejar.unix.dia.ref b/scilab/modules/external_objects_java/tests/unit_tests/jcreatejar.unix.dia.ref
deleted file mode 100644 (file)
index e57212c..0000000
+++ /dev/null
@@ -1,182 +0,0 @@
-// =============================================================================
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-// Copyright (C) 2013 - Scilab Enterprises - Simon MARCHETTO
-//
-//  This file is distributed under the same license as the Scilab package.
-// =============================================================================
-jimport java.io.FileInputStream;
-jimport java.util.zip.ZipInputStream;
-jimport java.util.zip.ZipEntry;
-testRootDir = fullfile(TMPDIR, "jcreatejar");
-mkdir(testRootDir);
-function path = createSubDir(parentDir, subDir, removeExistingDir)
-    path = fullfile(parentDir, subDir);
-    if isdir(path) & removeExistingDir then
-        removedir(path);
-    end
-    mkdir(path);
-endfunction
-function [filePath, fileContent] = addFileToPackage(fileName, package, packageDir, fileContent)
-    destDir = packageDir;
-    if ~isempty(package) then
-        fileDirs = strsplit(package, '.'),
-        for i = 1:size(fileDirs, '*')
-            destDir = createSubDir(destDir, fileDirs(i), %F);
-        end
-    end
-    filePath = fullfile(destDir, fileName);
-    fd = mopen(filePath, 'wt');
-    if ~isempty(fileContent)
-      mputl(fileContent, fd);
-    else
-      mputl(fileName, fd);
-    end
-    mclose(fd);
-endfunction
-function fileContent = extractFileContent(zipInputStream)
-    BUFFER_SIZE = 1000;
-    buffer = jarray("byte", BUFFER_SIZE);
-    n = zipInputStream.read(buffer, 0, BUFFER_SIZE);
-    if n > 0 then
-        fileContent = junwrap(buffer);
-        fileContent = fileContent(find(fileContent <> 0));
-        fileContent = char(fileContent);
-    else
-        fileContent = [];
-    end
-    jremove(buffer);
-endfunction
-function [filePaths, fileContents] = extractJarContent(zipFilePath)
-    filePaths = [];
-    fileContents = [];
-    fileInputStream = FileInputStream.new(zipFilePath);
-    zipInputStream = ZipInputStream.new(fileInputStream);
-    zipEntry = jinvoke(zipInputStream, "getNextEntry");
-    while ~isempty(zipEntry)
-        isDirectory = jinvoke(zipEntry, "isDirectory");
-        if ~isDirectory then
-            zipEntryName = jinvoke(zipEntry, "getName");
-            filePaths = [filePaths; zipEntryName];
-            fileContent = extractFileContent(zipInputStream);
-            fileContents = [fileContents; fileContent];
-        end
-        jinvoke(zipInputStream, "closeEntry");
-        zipEntry = jinvoke(zipInputStream, "getNextEntry");
-    end
-    zipEntry = jinvoke(zipInputStream, "close");
-endfunction
-function checkJar(jarFilePath, expectedJarFilePaths, expectedJarFileContents)
-    assert_checktrue(isfile(jarFilePath));
-    [jarFilePaths, jarFileContents] = extractJarContent(jarFilePath);
-    jarFilePaths = gsort(jarFilePaths);
-    expectedJarFilePaths = gsort(expectedJarFilePaths);
-    assert_checkequal(jarFilePaths, expectedJarFilePaths);
-    if ~isempty(expectedJarFileContents) then
-        assert_checkequal(jarFileContents, expectedJarFileContents);
-    end
-endfunction
-// TEST JAR STRUCTURE
-// Test create jar with one file, by Arg the dir path
-packageName = 'packageOneClassArgDirPath';
-jarSrcPath = createSubDir(testRootDir, packageName, %T);
-jarDestPath = fullfile(testRootDir, packageName + '.jar');
-addFileToPackage('FooDir', '', jarSrcPath, '');
-jcreatejar(jarDestPath, jarSrcPath);
-checkJar(jarDestPath, ['META-INF/MANIFEST.MF'; 'FooDir'], []);
-// Test create jar with one file, by Arg the file path
-packageName = 'packageOneClassArgFilePath';
-jarSrcPath = createSubDir(testRootDir, packageName, %T);
-jarDestPath = fullfile(testRootDir, packageName + '.jar');
-filePath = addFileToPackage('FooFile', '', jarSrcPath, '');
-jcreatejar(jarDestPath, filePath);
-checkJar(jarDestPath, ['META-INF/MANIFEST.MF'; 'FooFile'], []);
-// Test create jar with two files, by Arg the dir path
-packageName = 'packageTwoClassesArgDirPath';
-jarSrcPath = createSubDir(testRootDir, packageName, %T);
-jarDestPath = fullfile(testRootDir, packageName + '.jar');
-addFileToPackage('FooDir1', '', jarSrcPath, '');
-addFileToPackage('FooDir2', '', jarSrcPath, '');
-jcreatejar(jarDestPath, jarSrcPath);
-checkJar(jarDestPath, ['META-INF/MANIFEST.MF'; 'FooDir1'; 'FooDir2'], []);
-// Test create jar with two files, by Arg the file paths
-packageName = 'packageTwoClassesArgFilePaths';
-jarSrcPath = createSubDir(testRootDir, packageName, %T);
-jarDestPath = fullfile(testRootDir, packageName + '.jar');
-filePath1 = addFileToPackage('FooFile1', '', jarSrcPath, '');
-filePath2 = addFileToPackage('FooFile2', '', jarSrcPath, '');
-jcreatejar(jarDestPath, [filePath1, filePath2]);
-checkJar(jarDestPath, ['META-INF/MANIFEST.MF'; 'FooFile1'; 'FooFile2'], []);
-// Test create jar with two files and one folder, by Arg the dir path
-packageName = 'packageOneFolderArgDirPath';
-jarSrcPath = createSubDir(testRootDir, packageName, %T);
-jarDestPath = fullfile(testRootDir, packageName + '.jar');
-addFileToPackage('FooRoot', '', jarSrcPath, '');
-addFileToPackage('FooFolder', 'folder', jarSrcPath, '');
-jcreatejar(jarDestPath, jarSrcPath);
-checkJar(jarDestPath, ['META-INF/MANIFEST.MF'; 'folder/FooFolder'; 'FooRoot'], []);
-// Test create a standard package 'org.scilab.test.package'
-packageName = 'org.scilab.test.mypackage';
-jarSrcPath = createSubDir(testRootDir, packageName, %T);
-jarDestPath = fullfile(testRootDir, packageName + '.jar');
-addFileToPackage('FooPackage1', packageName, jarSrcPath, '');
-addFileToPackage('FooPackage2', packageName, jarSrcPath, '');
-jcreatejar(jarDestPath, jarSrcPath);
-checkJar(jarDestPath, ..
-    ['META-INF/MANIFEST.MF'; ..
-     'org/scilab/test/mypackage/FooPackage1'; ..
-     'org/scilab/test/mypackage/FooPackage2'], ..
-     []);
-// Test argument files root path
-packageName = 'packageFilesRootPath';
-jarSrcPath = createSubDir(testRootDir, packageName, %T);
-jarDestPath = fullfile(testRootDir, packageName + '.jar');
-addFileToPackage('image1', 'images', jarSrcPath, '');
-addFileToPackage('image2', 'images', jarSrcPath, '');
-addFileToPackage('icon1', 'images/icon', jarSrcPath, '');
-jcreatejar(jarDestPath, jarSrcPath, jarSrcPath);
-checkJar(jarDestPath, ..
-    ['META-INF/MANIFEST.MF'; ..
-     'images/icon/icon1'; ..
-     'images/image1'; ..
-     'images/image2'] ..
-     , []);
-// TESTS JAR MANIFEST
-// Manifest data
-// Manifest need version, otherwise the created manifest may be empty
-manifestData = msprintf('Manifest-Version: 1.0\nName: testManifest');
-CRLF = ascii([13 10]);
-expectedManifestData = 'Manifest-Version: 1.0' + CRLF + ..
-    'Name: testManifest' + CRLF + CRLF;
-// Test META-INF\MANIFEST.MF manifest file is loaded
-packageName = 'packageManifest';
-jarSrcPath = createSubDir(testRootDir, packageName, %T);
-jarDestPath = fullfile(testRootDir, packageName + '.jar');
-addFileToPackage('MANIFEST.MF', 'META-INF', jarSrcPath, manifestData);
-jcreatejar(jarDestPath, jarSrcPath);
-checkJar(jarDestPath, ['META-INF/MANIFEST.MF'], [expectedManifestData]);
-// Test argument manifest file path
-packageName = 'packageManifest';
-jarSrcPath = createSubDir(testRootDir, packageName, %T);
-jarDestPath = fullfile(testRootDir, packageName + '.jar');
-// Create a manifest file somewhere
-manifestFilePath = fullfile(testRootDir, 'MANIFEST_TEST.MF')
- manifestFilePath  =
- TMPDIR/jcreatejar/MANIFEST_TEST.MF   
-fd = mopen(manifestFilePath, 'wt');
-mputl(manifestData, fd);
-mclose(fd);
-jcreatejar(jarDestPath, jarSrcPath, '', manifestFilePath);
-checkJar(jarDestPath, ['META-INF/MANIFEST.MF'], [expectedManifestData]);
-// OTHER TESTS
-// Test JAR overwirting
-packageName = 'packageOverwriting';
-jarSrcPath = createSubDir(testRootDir, packageName, %T);
-jarDestPath = fullfile(testRootDir, packageName + '.jar');
-addFileToPackage('Foo', '', jarSrcPath, '');
-jcreatejar(jarDestPath, jarSrcPath);
-checkJar(jarDestPath, ['META-INF/MANIFEST.MF'; 'Foo'], []);
-// overwrite package
-addFileToPackage('Foo2', '', jarSrcPath, '');
-jcreatejar(jarDestPath, jarSrcPath);
-checkJar(jarDestPath, ['META-INF/MANIFEST.MF'; 'Foo'; 'Foo2'], []);