summaryrefslogtreecommitdiff
path: root/modules/helptools/tests
diff options
context:
space:
mode:
Diffstat (limited to 'modules/helptools/tests')
-rwxr-xr-xmodules/helptools/tests/nonreg_tests/bug_10416.tst32
-rwxr-xr-xmodules/helptools/tests/nonreg_tests/bug_10505.dia.ref47
-rwxr-xr-xmodules/helptools/tests/nonreg_tests/bug_10505.tst43
-rwxr-xr-xmodules/helptools/tests/nonreg_tests/bug_10505.win.dia.ref47
-rwxr-xr-xmodules/helptools/tests/nonreg_tests/bug_11714.dia.ref28
-rwxr-xr-xmodules/helptools/tests/nonreg_tests/bug_11714.sci10
-rwxr-xr-xmodules/helptools/tests/nonreg_tests/bug_11714.tst33
-rwxr-xr-xmodules/helptools/tests/nonreg_tests/bug_12548.tst32
-rwxr-xr-xmodules/helptools/tests/nonreg_tests/bug_12548.unix.dia.ref36
-rwxr-xr-xmodules/helptools/tests/nonreg_tests/bug_12548.win.dia.ref36
-rwxr-xr-xmodules/helptools/tests/nonreg_tests/bug_1768.dia.ref37
-rwxr-xr-xmodules/helptools/tests/nonreg_tests/bug_1768.tst38
-rwxr-xr-xmodules/helptools/tests/nonreg_tests/bug_1768.win.dia.ref37
-rwxr-xr-xmodules/helptools/tests/nonreg_tests/bug_3645.tst28
-rwxr-xr-xmodules/helptools/tests/nonreg_tests/bug_4407.tst23
-rwxr-xr-xmodules/helptools/tests/nonreg_tests/bug_4938.tst18
-rwxr-xr-xmodules/helptools/tests/nonreg_tests/bug_5222.dia.ref18
-rwxr-xr-xmodules/helptools/tests/nonreg_tests/bug_5222.tst19
-rwxr-xr-xmodules/helptools/tests/nonreg_tests/bug_5330.dia.ref15
-rwxr-xr-xmodules/helptools/tests/nonreg_tests/bug_5330.tst17
-rwxr-xr-xmodules/helptools/tests/nonreg_tests/bug_5413.dia.ref24
-rwxr-xr-xmodules/helptools/tests/nonreg_tests/bug_5413.sci20
-rwxr-xr-xmodules/helptools/tests/nonreg_tests/bug_5413.tst29
-rwxr-xr-xmodules/helptools/tests/nonreg_tests/bug_5486.dia.ref27
-rwxr-xr-xmodules/helptools/tests/nonreg_tests/bug_5486.tst27
-rwxr-xr-xmodules/helptools/tests/nonreg_tests/bug_5487.dia.ref20
-rwxr-xr-xmodules/helptools/tests/nonreg_tests/bug_5487.sci10
-rwxr-xr-xmodules/helptools/tests/nonreg_tests/bug_5487.tst23
-rwxr-xr-xmodules/helptools/tests/nonreg_tests/bug_5488.dia.ref20
-rwxr-xr-xmodules/helptools/tests/nonreg_tests/bug_5488.sci16
-rwxr-xr-xmodules/helptools/tests/nonreg_tests/bug_5488.tst23
-rwxr-xr-xmodules/helptools/tests/nonreg_tests/bug_5489.dia.ref20
-rwxr-xr-xmodules/helptools/tests/nonreg_tests/bug_5489.sci16
-rwxr-xr-xmodules/helptools/tests/nonreg_tests/bug_5489.tst23
-rwxr-xr-xmodules/helptools/tests/nonreg_tests/bug_5577.dia.ref17
-rwxr-xr-xmodules/helptools/tests/nonreg_tests/bug_5577.tst21
-rwxr-xr-xmodules/helptools/tests/nonreg_tests/bug_6514.tst19
-rwxr-xr-xmodules/helptools/tests/nonreg_tests/bug_7133.dia.ref152
-rwxr-xr-xmodules/helptools/tests/nonreg_tests/bug_7133.tst152
-rwxr-xr-xmodules/helptools/tests/nonreg_tests/bug_7681.dia.ref21
-rwxr-xr-xmodules/helptools/tests/nonreg_tests/bug_7681.tst22
-rwxr-xr-xmodules/helptools/tests/nonreg_tests/bug_7681_with_tabs.sci28
-rwxr-xr-xmodules/helptools/tests/nonreg_tests/bug_8463.tst31
-rwxr-xr-xmodules/helptools/tests/nonreg_tests/bug_8492.tst41
-rwxr-xr-xmodules/helptools/tests/nonreg_tests/bug_8505.tst34
-rwxr-xr-xmodules/helptools/tests/nonreg_tests/bug_8505.unix.dia.ref37
-rwxr-xr-xmodules/helptools/tests/nonreg_tests/bug_8505.win.dia.ref37
-rwxr-xr-xmodules/helptools/tests/nonreg_tests/bug_8756.dia.ref46
-rwxr-xr-xmodules/helptools/tests/nonreg_tests/bug_8756.tst42
-rwxr-xr-xmodules/helptools/tests/nonreg_tests/bug_8756.win.dia.ref46
-rwxr-xr-xmodules/helptools/tests/unit_tests/help_from_sci.dia.ref28
-rwxr-xr-xmodules/helptools/tests/unit_tests/help_from_sci.tst33
-rwxr-xr-xmodules/helptools/tests/unit_tests/javahelp.dia.ref16
-rwxr-xr-xmodules/helptools/tests/unit_tests/javahelp.tst21
-rwxr-xr-xmodules/helptools/tests/unit_tests/macrosExample.sci79
-rwxr-xr-xmodules/helptools/tests/unit_tests/xmltohtml.dia.ref112
-rwxr-xr-xmodules/helptools/tests/unit_tests/xmltohtml.tst101
-rwxr-xr-xmodules/helptools/tests/unit_tests/xmltohtml.win.dia.ref112
-rwxr-xr-xmodules/helptools/tests/unit_tests/xmltojar.dia.ref118
-rwxr-xr-xmodules/helptools/tests/unit_tests/xmltojar.tst112
-rwxr-xr-xmodules/helptools/tests/unit_tests/xmltojar.win.dia.ref118
-rwxr-xr-xmodules/helptools/tests/unit_tests/xmltopdf.dia.ref119
-rwxr-xr-xmodules/helptools/tests/unit_tests/xmltopdf.tst114
-rwxr-xr-xmodules/helptools/tests/unit_tests/xmltopdf.win.dia.ref119
-rwxr-xr-xmodules/helptools/tests/unit_tests/xmltops.dia.ref118
-rwxr-xr-xmodules/helptools/tests/unit_tests/xmltops.tst111
-rwxr-xr-xmodules/helptools/tests/unit_tests/xmltops.win.dia.ref118
67 files changed, 3187 insertions, 0 deletions
diff --git a/modules/helptools/tests/nonreg_tests/bug_10416.tst b/modules/helptools/tests/nonreg_tests/bug_10416.tst
new file mode 100755
index 000000000..f3850e182
--- /dev/null
+++ b/modules/helptools/tests/nonreg_tests/bug_10416.tst
@@ -0,0 +1,32 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- JVM MANDATORY -->
+//
+// <-- INTERACTIVE TEST -->
+//
+// <-- Non-regression test for bug 10416 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/10416
+//
+// <-- Short Description -->
+// xmltoformat did not return at the root directory in case of error.
+
+// to test here, we can check with toolbox_skeleton and add a error in some xml files
+
+cur_ref_dir = pwd();
+
+edit SCI/contrib/toolbox_skeleton/help/en_US/c_multiplybypi.xml
+
+// add a error in c_multiplybypi.xml
+
+exec builder.sce;
+
+cur_dir = pwd();
+
+assert_check(cur_dir, cur_ref_dir);
diff --git a/modules/helptools/tests/nonreg_tests/bug_10505.dia.ref b/modules/helptools/tests/nonreg_tests/bug_10505.dia.ref
new file mode 100755
index 000000000..863a1beec
--- /dev/null
+++ b/modules/helptools/tests/nonreg_tests/bug_10505.dia.ref
@@ -0,0 +1,47 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011 - Calixte DENIZET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- JVM MANDATORY -->
+//
+// <-- ENGLISH IMPOSED -->
+//
+// <-- NO CHECK ERROR OUTPUT -->
+//
+// <-- Non-regression test for bug 10505 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/10505
+//
+// <-- Short Description -->
+// Docbook tag <note> was not handled.
+tmpdir = TMPDIR + "/testxml";
+mkdir(tmpdir);
+tmpdir = tmpdir + "/en_US";
+mkdir(tmpdir);
+tmpfile = tmpdir + "/foo.xml";
+mputl(["<?xml version=""1.0"" encoding=""UTF-8""?>"
+ "<refentry version=""5.0-subset Scilab"""
+ "xmlns=""http://docbook.org/ns/docbook"""
+ "xmlns:html=""http://www.w3.org/1999/xhtml"""
+ "xmlns:db=""http://docbook.org/ns/docbook"">"
+ "<refnamediv xml:id=""foo"">"
+ "<refname>Foo</refname>"
+ "<refpurpose>calculates foo</refpurpose>"
+ "</refnamediv>"
+ "<refsection>"
+ "<para>foo</para>"
+ "<note>A note about foo</note>"
+ "</refsection>"
+ "</refentry>"], tmpfile);
+cd(tmpdir);
+jar = xmltojar('.', 'foo', 'en_US');
+
+Building the master document:
+ TMPDIR/testxml/en_US
+
+Building the manual file [javaHelp] in TMPDIR/testxml/en_US.
+if ~isfile(jar) then bugmes();quit;end
diff --git a/modules/helptools/tests/nonreg_tests/bug_10505.tst b/modules/helptools/tests/nonreg_tests/bug_10505.tst
new file mode 100755
index 000000000..baf173c8e
--- /dev/null
+++ b/modules/helptools/tests/nonreg_tests/bug_10505.tst
@@ -0,0 +1,43 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011 - Calixte DENIZET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- JVM MANDATORY -->
+//
+// <-- ENGLISH IMPOSED -->
+//
+// <-- NO CHECK ERROR OUTPUT -->
+//
+// <-- Non-regression test for bug 10505 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/10505
+//
+// <-- Short Description -->
+// Docbook tag <note> was not handled.
+
+tmpdir = TMPDIR + "/testxml";
+mkdir(tmpdir);
+tmpdir = tmpdir + "/en_US";
+mkdir(tmpdir);
+tmpfile = tmpdir + "/foo.xml";
+mputl(["<?xml version=""1.0"" encoding=""UTF-8""?>"
+ "<refentry version=""5.0-subset Scilab"""
+ "xmlns=""http://docbook.org/ns/docbook"""
+ "xmlns:html=""http://www.w3.org/1999/xhtml"""
+ "xmlns:db=""http://docbook.org/ns/docbook"">"
+ "<refnamediv xml:id=""foo"">"
+ "<refname>Foo</refname>"
+ "<refpurpose>calculates foo</refpurpose>"
+ "</refnamediv>"
+ "<refsection>"
+ "<para>foo</para>"
+ "<note>A note about foo</note>"
+ "</refsection>"
+ "</refentry>"], tmpfile);
+cd(tmpdir);
+jar = xmltojar('.', 'foo', 'en_US');
+if ~isfile(jar) then pause, end
diff --git a/modules/helptools/tests/nonreg_tests/bug_10505.win.dia.ref b/modules/helptools/tests/nonreg_tests/bug_10505.win.dia.ref
new file mode 100755
index 000000000..8dfc89cca
--- /dev/null
+++ b/modules/helptools/tests/nonreg_tests/bug_10505.win.dia.ref
@@ -0,0 +1,47 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011 - Calixte DENIZET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- JVM MANDATORY -->
+//
+// <-- ENGLISH IMPOSED -->
+//
+// <-- NO CHECK ERROR OUTPUT -->
+//
+// <-- Non-regression test for bug 10505 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/10505
+//
+// <-- Short Description -->
+// Docbook tag <note> was not handled.
+tmpdir = TMPDIR + "/testxml";
+mkdir(tmpdir);
+tmpdir = tmpdir + "/en_US";
+mkdir(tmpdir);
+tmpfile = tmpdir + "/foo.xml";
+mputl(["<?xml version=""1.0"" encoding=""UTF-8""?>"
+ "<refentry version=""5.0-subset Scilab"""
+ "xmlns=""http://docbook.org/ns/docbook"""
+ "xmlns:html=""http://www.w3.org/1999/xhtml"""
+ "xmlns:db=""http://docbook.org/ns/docbook"">"
+ "<refnamediv xml:id=""foo"">"
+ "<refname>Foo</refname>"
+ "<refpurpose>calculates foo</refpurpose>"
+ "</refnamediv>"
+ "<refsection>"
+ "<para>foo</para>"
+ "<note>A note about foo</note>"
+ "</refsection>"
+ "</refentry>"], tmpfile);
+cd(tmpdir);
+jar = xmltojar('.', 'foo', 'en_US');
+
+Building the master document:
+ TMPDIR\testxml\en_US
+
+Building the manual file [javaHelp] in TMPDIR\testxml\en_US.
+if ~isfile(jar) then bugmes();quit;end
diff --git a/modules/helptools/tests/nonreg_tests/bug_11714.dia.ref b/modules/helptools/tests/nonreg_tests/bug_11714.dia.ref
new file mode 100755
index 000000000..ddd3424ed
--- /dev/null
+++ b/modules/helptools/tests/nonreg_tests/bug_11714.dia.ref
@@ -0,0 +1,28 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2014 - Scilab Enterprises - Paul Bignier
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 11714 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=11714
+//
+// <-- Short Description -->
+// help_from_sci sometimes failed when function had "<imagedata>" comments.
+path = SCI+"/modules/helptools/tests/nonreg_tests/";
+copyfile(path+"bug_11714.sci", TMPDIR + filesep());
+path = TMPDIR + filesep();
+help_from_sci(path+"bug_11714.sci", path); // Create bug_11714.xml
+assert_checktrue(isfile(path+"bug_11714.xml"));
+fd = mopen(path+"bug_11714.xml");
+mgetl(fd, 28);
+image = mgetl(fd, 1); // Read the 29th line of bug_11714.xml
+refImage = "<imagedata fileref=""myimage.png"" align=""center"" valign=""middle""/>";
+assert_checkequal(image, refImage);
+mclose(fd);
+deletefile(path+"bug_11714.xml");
diff --git a/modules/helptools/tests/nonreg_tests/bug_11714.sci b/modules/helptools/tests/nonreg_tests/bug_11714.sci
new file mode 100755
index 000000000..ba0c7091c
--- /dev/null
+++ b/modules/helptools/tests/nonreg_tests/bug_11714.sci
@@ -0,0 +1,10 @@
+function y = myfunction(x)
+ // Some function used by bug_11714.tst
+ //
+ // Description
+ // <inlinemediaobject>
+ // <imageobject>
+ // <imagedata fileref="myimage.png" align="center" valign="middle"/>
+ // </imageobject>
+ // </inlinemediaobject>
+endfunction
diff --git a/modules/helptools/tests/nonreg_tests/bug_11714.tst b/modules/helptools/tests/nonreg_tests/bug_11714.tst
new file mode 100755
index 000000000..19def0885
--- /dev/null
+++ b/modules/helptools/tests/nonreg_tests/bug_11714.tst
@@ -0,0 +1,33 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2014 - Scilab Enterprises - Paul Bignier
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 11714 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=11714
+//
+// <-- Short Description -->
+// help_from_sci sometimes failed when function had "<imagedata>" comments.
+
+path = SCI+"/modules/helptools/tests/nonreg_tests/";
+copyfile(path+"bug_11714.sci", TMPDIR + filesep());
+path = TMPDIR + filesep();
+
+help_from_sci(path+"bug_11714.sci", path); // Create bug_11714.xml
+
+assert_checktrue(isfile(path+"bug_11714.xml"));
+fd = mopen(path+"bug_11714.xml");
+mgetl(fd, 28);
+image = mgetl(fd, 1); // Read the 29th line of bug_11714.xml
+
+refImage = "<imagedata fileref=""myimage.png"" align=""center"" valign=""middle""/>";
+assert_checkequal(image, refImage);
+
+mclose(fd);
+deletefile(path+"bug_11714.xml");
diff --git a/modules/helptools/tests/nonreg_tests/bug_12548.tst b/modules/helptools/tests/nonreg_tests/bug_12548.tst
new file mode 100755
index 000000000..2db60a178
--- /dev/null
+++ b/modules/helptools/tests/nonreg_tests/bug_12548.tst
@@ -0,0 +1,32 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Charlotte HECQUET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- JVM MANDATORY -->
+//
+// <-- ENGLISH IMPOSED -->
+//
+// <-- NO CHECK ERROR OUTPUT -->
+//
+// <-- Non-regression test for bug 12548 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=12548
+//
+// <-- Short Description -->
+// Duplicated code in xmltoformat
+
+function a = bug_12548(b, c, d)
+ a = 0;
+endfunction
+
+test_bug_12548 = "bug_12548";
+pathDest = TMPDIR + filesep() + test_bug_12548 + filesep();
+mkdir(TMPDIR, test_bug_12548);
+
+mputl(help_skeleton("bug_12548"), pathDest + "bug_12548.xml");
+
+assert_checktrue(execstr("xmltoformat(""javaHelp"",pathDest, ""bug help"")","errcatch")==0);
diff --git a/modules/helptools/tests/nonreg_tests/bug_12548.unix.dia.ref b/modules/helptools/tests/nonreg_tests/bug_12548.unix.dia.ref
new file mode 100755
index 000000000..8d82793af
--- /dev/null
+++ b/modules/helptools/tests/nonreg_tests/bug_12548.unix.dia.ref
@@ -0,0 +1,36 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Charlotte HECQUET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- JVM MANDATORY -->
+//
+// <-- ENGLISH IMPOSED -->
+//
+// <-- NO CHECK ERROR OUTPUT -->
+//
+// <-- Non-regression test for bug 12548 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=12548
+//
+// <-- Short Description -->
+// Duplicated code in xmltoformat
+function a = bug_12548(b, c, d)
+ a = 0;
+endfunction
+test_bug_12548 = "bug_12548";
+pathDest = TMPDIR + filesep() + test_bug_12548 + filesep();
+mkdir(TMPDIR, test_bug_12548);
+mputl(help_skeleton("bug_12548"), pathDest + "bug_12548.xml");
+assert_checktrue(execstr("xmltoformat(""javaHelp"",pathDest, ""bug help"")","errcatch")==0);
+
+Building the master document:
+ TMPDIR/bug_12548/
+
+Building the manual file [javaHelp] in TMPDIR/bug_12548/.
+
+ Generate image ./bug_12548_1.png from Scilab code from file bug_12548.
+ xml
diff --git a/modules/helptools/tests/nonreg_tests/bug_12548.win.dia.ref b/modules/helptools/tests/nonreg_tests/bug_12548.win.dia.ref
new file mode 100755
index 000000000..991ccca51
--- /dev/null
+++ b/modules/helptools/tests/nonreg_tests/bug_12548.win.dia.ref
@@ -0,0 +1,36 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Charlotte HECQUET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- JVM MANDATORY -->
+//
+// <-- ENGLISH IMPOSED -->
+//
+// <-- NO CHECK ERROR OUTPUT -->
+//
+// <-- Non-regression test for bug 12548 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=12548
+//
+// <-- Short Description -->
+// Duplicated code in xmltoformat
+function a = bug_12548(b, c, d)
+ a = 0;
+endfunction
+test_bug_12548 = "bug_12548";
+pathDest = TMPDIR + filesep() + test_bug_12548 + filesep();
+mkdir(TMPDIR, test_bug_12548);
+mputl(help_skeleton("bug_12548"), pathDest + "bug_12548.xml");
+assert_checktrue(execstr("xmltoformat(""javaHelp"",pathDest, ""bug help"")","errcatch")==0);
+
+Building the master document:
+ TMPDIR\bug_12548\
+
+Building the manual file [javaHelp] in TMPDIR\bug_12548\.
+
+ Generate image ./bug_12548_1.png from Scilab code from file bug_12548.
+ xml
diff --git a/modules/helptools/tests/nonreg_tests/bug_1768.dia.ref b/modules/helptools/tests/nonreg_tests/bug_1768.dia.ref
new file mode 100755
index 000000000..2284be75a
--- /dev/null
+++ b/modules/helptools/tests/nonreg_tests/bug_1768.dia.ref
@@ -0,0 +1,37 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2006-2008 - INRIA - Serge STEER <serge.steer@inria.fr>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- ENGLISH IMPOSED -->
+// <-- NEED JVM -->
+// <-- Non-regression test for bug 1768 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=1768
+//
+// <-- Short Description -->
+// I just downloaded Scilab-4.0rc1.
+// Whenever I write a new function and try to write the relative help
+// file, xmltohtml crashes. Apparently, it does not found the whatis file
+// even if it was just created successfully
+// <-- NO CHECK ERROR OUTPUT -->
+function y=foo1(a,b)
+ y=a+b
+endfunction
+T=help_skeleton('foo1');
+mkdir(TMPDIR+"/bug_1768");
+mkdir(TMPDIR+"/bug_1768/help");
+mkdir(TMPDIR+"/bug_1768/help/en_US");
+mputl(T,TMPDIR+"/bug_1768/help/en_US/foo1.xml");
+index_file = xmltohtml(TMPDIR+"/bug_1768/help/en_US","Bug 1768 Manual");
+
+Building the master document:
+ TMPDIR/bug_1768/help/en_US
+
+Building the manual file [html] in TMPDIR/bug_1768/help/en_US.
+
+ Generate image ./foo1_1.png from Scilab code from file foo1.xml
+if ~isdir(TMPDIR+"/bug_1768/help/en_US/scilab_en_US_help") then bugmes();quit;end
+if fileinfo(index_file) == [] then bugmes();quit;end
diff --git a/modules/helptools/tests/nonreg_tests/bug_1768.tst b/modules/helptools/tests/nonreg_tests/bug_1768.tst
new file mode 100755
index 000000000..caebaf255
--- /dev/null
+++ b/modules/helptools/tests/nonreg_tests/bug_1768.tst
@@ -0,0 +1,38 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2006-2008 - INRIA - Serge STEER <serge.steer@inria.fr>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- ENGLISH IMPOSED -->
+// <-- NEED JVM -->
+
+// <-- Non-regression test for bug 1768 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=1768
+//
+// <-- Short Description -->
+// I just downloaded Scilab-4.0rc1.
+// Whenever I write a new function and try to write the relative help
+// file, xmltohtml crashes. Apparently, it does not found the whatis file
+// even if it was just created successfully
+
+// <-- NO CHECK ERROR OUTPUT -->
+
+function y=foo1(a,b)
+ y=a+b
+endfunction
+
+T=help_skeleton('foo1');
+
+mkdir(TMPDIR+"/bug_1768");
+mkdir(TMPDIR+"/bug_1768/help");
+mkdir(TMPDIR+"/bug_1768/help/en_US");
+
+mputl(T,TMPDIR+"/bug_1768/help/en_US/foo1.xml");
+index_file = xmltohtml(TMPDIR+"/bug_1768/help/en_US","Bug 1768 Manual");
+
+if ~isdir(TMPDIR+"/bug_1768/help/en_US/scilab_en_US_help") then pause, end
+if fileinfo(index_file) == [] then pause, end
diff --git a/modules/helptools/tests/nonreg_tests/bug_1768.win.dia.ref b/modules/helptools/tests/nonreg_tests/bug_1768.win.dia.ref
new file mode 100755
index 000000000..39d8052ae
--- /dev/null
+++ b/modules/helptools/tests/nonreg_tests/bug_1768.win.dia.ref
@@ -0,0 +1,37 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2006-2008 - INRIA - Serge STEER <serge.steer@inria.fr>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- ENGLISH IMPOSED -->
+// <-- NEED JVM -->
+// <-- Non-regression test for bug 1768 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=1768
+//
+// <-- Short Description -->
+// I just downloaded Scilab-4.0rc1.
+// Whenever I write a new function and try to write the relative help
+// file, xmltohtml crashes. Apparently, it does not found the whatis file
+// even if it was just created successfully
+// <-- NO CHECK ERROR OUTPUT -->
+function y=foo1(a,b)
+ y=a+b
+endfunction
+T=help_skeleton('foo1');
+mkdir(TMPDIR+"/bug_1768");
+mkdir(TMPDIR+"/bug_1768/help");
+mkdir(TMPDIR+"/bug_1768/help/en_US");
+mputl(T,TMPDIR+"/bug_1768/help/en_US/foo1.xml");
+index_file = xmltohtml(TMPDIR+"/bug_1768/help/en_US","Bug 1768 Manual");
+
+Building the master document:
+ TMPDIR\bug_1768\help\en_US
+
+Building the manual file [html] in TMPDIR\bug_1768\help\en_US.
+
+ Generate image ./foo1_1.png from Scilab code from file foo1.xml
+if ~isdir(TMPDIR+"/bug_1768/help/en_US/scilab_en_US_help") then bugmes();quit;end
+if fileinfo(index_file) == [] then bugmes();quit;end
diff --git a/modules/helptools/tests/nonreg_tests/bug_3645.tst b/modules/helptools/tests/nonreg_tests/bug_3645.tst
new file mode 100755
index 000000000..c928b547a
--- /dev/null
+++ b/modules/helptools/tests/nonreg_tests/bug_3645.tst
@@ -0,0 +1,28 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- ENGLISH IMPOSED -->
+// <-- NO CHECK ERROR OUTPUT -->
+// <-- NEED JVM -->
+
+// <-- Non-regression test for bug 3645 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=3645
+//
+// <-- Short Description -->
+// The SCI/contrib/toolbox_skeleton package does not work out of the box
+
+// <-- INTERACTIVE TEST -->
+
+// Creates a directory not in SCI directory
+// example 'Torbjørn Pettersen'
+// copy all 'toolbox_skeleton' directory
+// goto in 'Torbjørn Pettersen'
+// exec builder.sce
+// check that build help is ok
+
diff --git a/modules/helptools/tests/nonreg_tests/bug_4407.tst b/modules/helptools/tests/nonreg_tests/bug_4407.tst
new file mode 100755
index 000000000..017a991e4
--- /dev/null
+++ b/modules/helptools/tests/nonreg_tests/bug_4407.tst
@@ -0,0 +1,23 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- INTERACTIVE TEST -->
+
+// <-- Non-regression test for bug 4407 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=4407
+//
+// <-- Short Description -->
+// help file scilab_xx_XX_help.jar have another scilab_xx_XX_help.jar embedded
+
+
+// build java help
+
+xmltojar()
+
+// check that scilab_xx_XX_help.jar do not have another scilab_xx_XX_help.jar embedded \ No newline at end of file
diff --git a/modules/helptools/tests/nonreg_tests/bug_4938.tst b/modules/helptools/tests/nonreg_tests/bug_4938.tst
new file mode 100755
index 000000000..36f705f64
--- /dev/null
+++ b/modules/helptools/tests/nonreg_tests/bug_4938.tst
@@ -0,0 +1,18 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Pierre MARECHAL
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- INTERACTIVE TEST -->
+
+// <-- Non-regression test for bug 4938 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=4938
+//
+// <-- Short Description -->
+// The output of check_xml.pl is eating some characters.
+
+// perl ./modules/helptools/src/script/check_xml.pl graphics \ No newline at end of file
diff --git a/modules/helptools/tests/nonreg_tests/bug_5222.dia.ref b/modules/helptools/tests/nonreg_tests/bug_5222.dia.ref
new file mode 100755
index 000000000..b0622cbcb
--- /dev/null
+++ b/modules/helptools/tests/nonreg_tests/bug_5222.dia.ref
@@ -0,0 +1,18 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- Non-regression test for bug 5222 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=5222
+//
+// <-- Short Description -->
+// help command can generate a "critical exception".
+for i = 1:100
+ ierr = execstr('help derivative','errcatch');
+ if ierr <> 0 then bugmes();quit;end
+end
diff --git a/modules/helptools/tests/nonreg_tests/bug_5222.tst b/modules/helptools/tests/nonreg_tests/bug_5222.tst
new file mode 100755
index 000000000..3d6371832
--- /dev/null
+++ b/modules/helptools/tests/nonreg_tests/bug_5222.tst
@@ -0,0 +1,19 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- Non-regression test for bug 5222 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=5222
+//
+// <-- Short Description -->
+// help command can generate a "critical exception".
+
+for i = 1:100
+ ierr = execstr('help derivative','errcatch');
+ if ierr <> 0 then pause, end
+end
diff --git a/modules/helptools/tests/nonreg_tests/bug_5330.dia.ref b/modules/helptools/tests/nonreg_tests/bug_5330.dia.ref
new file mode 100755
index 000000000..bb560028f
--- /dev/null
+++ b/modules/helptools/tests/nonreg_tests/bug_5330.dia.ref
@@ -0,0 +1,15 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- Non-regression test for bug 5330 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=5330
+//
+// <-- Short Description -->
+// "help toto tata" returns a error
+ierr = execstr('help toto tata','errcatch');
+if ierr <> 0 then bugmes();quit;end
diff --git a/modules/helptools/tests/nonreg_tests/bug_5330.tst b/modules/helptools/tests/nonreg_tests/bug_5330.tst
new file mode 100755
index 000000000..ef33067bd
--- /dev/null
+++ b/modules/helptools/tests/nonreg_tests/bug_5330.tst
@@ -0,0 +1,17 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- Non-regression test for bug 5330 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=5330
+//
+// <-- Short Description -->
+// "help toto tata" returns a error
+
+ierr = execstr('help toto tata','errcatch');
+if ierr <> 0 then pause,end
diff --git a/modules/helptools/tests/nonreg_tests/bug_5413.dia.ref b/modules/helptools/tests/nonreg_tests/bug_5413.dia.ref
new file mode 100755
index 000000000..c9f248268
--- /dev/null
+++ b/modules/helptools/tests/nonreg_tests/bug_5413.dia.ref
@@ -0,0 +1,24 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Sylvestre Ledru
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- Non-regression test for bug 5413 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=5413
+//
+// <-- Short Description -->
+// Bad syntax is the export
+docFile = help_from_sci(SCI+"/modules/helptools/tests/nonreg_tests/bug_5413.sci",TMPDIR);
+fd_r = mopen(docFile,'rt');
+content = mgetl(fd_r);
+wrongString = "&gt;";
+position = grep(content, wrongString);
+// We should not get anything
+if position <> [] then bugmes();quit;end
+wrongString = "&lt;";
+position = grep(content, wrongString);
+// We should not get anything
+if position <> [] then bugmes();quit;end
diff --git a/modules/helptools/tests/nonreg_tests/bug_5413.sci b/modules/helptools/tests/nonreg_tests/bug_5413.sci
new file mode 100755
index 000000000..6cc3219ac
--- /dev/null
+++ b/modules/helptools/tests/nonreg_tests/bug_5413.sci
@@ -0,0 +1,20 @@
+function [helptxt,demotxt]=bug_5413(funname,helpdir,demodir)
+ // The description
+ //
+ // Calling Sequence
+ // str = prettyprint(a)
+ // str = prettyprint(a,format)
+ //
+ // See also
+ // help
+ // help_skeleton
+ // head_comments
+ //
+ // Examples
+ // disp('My Example with some < > and also |`and various stuff');
+ //
+ // Authors
+ // NA
+ a=1+2
+ helptxt="retour"
+endfunction
diff --git a/modules/helptools/tests/nonreg_tests/bug_5413.tst b/modules/helptools/tests/nonreg_tests/bug_5413.tst
new file mode 100755
index 000000000..a469f3c8a
--- /dev/null
+++ b/modules/helptools/tests/nonreg_tests/bug_5413.tst
@@ -0,0 +1,29 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Sylvestre Ledru
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- Non-regression test for bug 5413 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=5413
+//
+// <-- Short Description -->
+// Bad syntax is the export
+
+docFile = help_from_sci(SCI+"/modules/helptools/tests/nonreg_tests/bug_5413.sci",TMPDIR);
+fd_r = mopen(docFile,'rt');
+content = mgetl(fd_r);
+
+wrongString = "&gt;";
+position = grep(content, wrongString);
+// We should not get anything
+if position <> [] then pause,end
+
+
+wrongString = "&lt;";
+position = grep(content, wrongString);
+// We should not get anything
+if position <> [] then pause,end
diff --git a/modules/helptools/tests/nonreg_tests/bug_5486.dia.ref b/modules/helptools/tests/nonreg_tests/bug_5486.dia.ref
new file mode 100755
index 000000000..85b88ee79
--- /dev/null
+++ b/modules/helptools/tests/nonreg_tests/bug_5486.dia.ref
@@ -0,0 +1,27 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - Calixte DENIZET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 5486 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/5486
+//
+// <-- Short Description -->
+// help_from_sci function didn't handle text in link
+pp = get_function_path("prettyprint");
+// No regression
+out = help_from_sci(pp);
+if find(strstr(out, "<link linkend=""math_rendering_features_in_graphic"">math_rendering_features_in_graphic</link>") <> "") == [] then bugmes();quit;end;
+// Feature added
+tmpfile = TMPDIR + "/bug_5486.sci";
+str = mgetl(pp);
+str = strsubst(str, "math_rendering_features_in_graphic", "math_rendering_features_in_graphic LaTeX or MathML expression");
+mputl(str, tmpfile);
+out = help_from_sci(tmpfile);
+if find(strstr(out, "<link linkend=""math_rendering_features_in_graphic"">LaTeX or MathML expression</link>") <> "") == [] then bugmes();quit;end;
diff --git a/modules/helptools/tests/nonreg_tests/bug_5486.tst b/modules/helptools/tests/nonreg_tests/bug_5486.tst
new file mode 100755
index 000000000..2156b1e9c
--- /dev/null
+++ b/modules/helptools/tests/nonreg_tests/bug_5486.tst
@@ -0,0 +1,27 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - Calixte DENIZET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 5486 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/5486
+//
+// <-- Short Description -->
+// help_from_sci function didn't handle text in link
+pp = get_function_path("prettyprint");
+// No regression
+out = help_from_sci(pp);
+if find(strstr(out, "<link linkend=""math_rendering_features_in_graphic"">math_rendering_features_in_graphic</link>") <> "") == [] then pause, end;
+// Feature added
+tmpfile = TMPDIR + "/bug_5486.sci";
+str = mgetl(pp);
+str = strsubst(str, "math_rendering_features_in_graphic", "math_rendering_features_in_graphic LaTeX or MathML expression");
+mputl(str, tmpfile);
+out = help_from_sci(tmpfile);
+if find(strstr(out, "<link linkend=""math_rendering_features_in_graphic"">LaTeX or MathML expression</link>") <> "") == [] then pause, end;
diff --git a/modules/helptools/tests/nonreg_tests/bug_5487.dia.ref b/modules/helptools/tests/nonreg_tests/bug_5487.dia.ref
new file mode 100755
index 000000000..acef26754
--- /dev/null
+++ b/modules/helptools/tests/nonreg_tests/bug_5487.dia.ref
@@ -0,0 +1,20 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Sylvestre Ledru
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- Non-regression test for bug 5487 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=5487
+//
+// <-- Short Description -->
+// Missing space in a macro was causing the first message to be included
+// into the documentation
+docFile = help_from_sci(SCI+"/modules/helptools/tests/nonreg_tests/bug_5487.sci",TMPDIR);
+fd_r = mopen(docFile,'rt');
+content = mgetl(fd_r);
+wrongString = "<varlistentry><term>a=1+2</term></varlistentry>";
+position = grep(content, wrongString);
+if position <> [] then bugmes();quit;end
diff --git a/modules/helptools/tests/nonreg_tests/bug_5487.sci b/modules/helptools/tests/nonreg_tests/bug_5487.sci
new file mode 100755
index 000000000..dfbfdd152
--- /dev/null
+++ b/modules/helptools/tests/nonreg_tests/bug_5487.sci
@@ -0,0 +1,10 @@
+function [helptxt,demotxt]=bug_5487(funname,helpdir,demodir)
+ // See also
+ // help
+ // help_skeleton
+ // head_comments
+ // Authors
+ // T. Pettersen ; top@tpett.com
+ a=1+2
+ helptxt="retour"
+endfunction
diff --git a/modules/helptools/tests/nonreg_tests/bug_5487.tst b/modules/helptools/tests/nonreg_tests/bug_5487.tst
new file mode 100755
index 000000000..8bd4cd400
--- /dev/null
+++ b/modules/helptools/tests/nonreg_tests/bug_5487.tst
@@ -0,0 +1,23 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Sylvestre Ledru
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- Non-regression test for bug 5487 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=5487
+//
+// <-- Short Description -->
+// Missing space in a macro was causing the first message to be included
+// into the documentation
+
+docFile = help_from_sci(SCI+"/modules/helptools/tests/nonreg_tests/bug_5487.sci",TMPDIR);
+fd_r = mopen(docFile,'rt');
+content = mgetl(fd_r);
+
+wrongString = "<varlistentry><term>a=1+2</term></varlistentry>";
+position = grep(content, wrongString);
+if position <> [] then pause,end
diff --git a/modules/helptools/tests/nonreg_tests/bug_5488.dia.ref b/modules/helptools/tests/nonreg_tests/bug_5488.dia.ref
new file mode 100755
index 000000000..49ff77479
--- /dev/null
+++ b/modules/helptools/tests/nonreg_tests/bug_5488.dia.ref
@@ -0,0 +1,20 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Sylvestre Ledru
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- Non-regression test for bug 5488 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=5488
+//
+// <-- Short Description -->
+// Bad syntax is the export
+docFile = help_from_sci(SCI+"/modules/helptools/tests/nonreg_tests/bug_5488.sci",TMPDIR);
+fd_r = mopen(docFile,'rt');
+content = mgetl(fd_r);
+wrongString = "<synopsis>";
+position = grep(content, wrongString);
+// We should get only one <synopsis>
+if size(position,"c") <> 1 then bugmes();quit;end
diff --git a/modules/helptools/tests/nonreg_tests/bug_5488.sci b/modules/helptools/tests/nonreg_tests/bug_5488.sci
new file mode 100755
index 000000000..bddec4ed6
--- /dev/null
+++ b/modules/helptools/tests/nonreg_tests/bug_5488.sci
@@ -0,0 +1,16 @@
+function [helptxt,demotxt]=bug_5487(funname,helpdir,demodir)
+ // The description
+ //
+ // Calling Sequence
+ // str = prettyprint(a)
+ // str = prettyprint(a,format)
+ //
+ // See also
+ // help
+ // help_skeleton
+ // head_comments
+ // Authors
+ // T. Pettersen ; top@tpett.com
+ a=1+2
+ helptxt="retour"
+endfunction
diff --git a/modules/helptools/tests/nonreg_tests/bug_5488.tst b/modules/helptools/tests/nonreg_tests/bug_5488.tst
new file mode 100755
index 000000000..4d6297dac
--- /dev/null
+++ b/modules/helptools/tests/nonreg_tests/bug_5488.tst
@@ -0,0 +1,23 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Sylvestre Ledru
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- Non-regression test for bug 5488 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=5488
+//
+// <-- Short Description -->
+// Bad syntax is the export
+
+docFile = help_from_sci(SCI+"/modules/helptools/tests/nonreg_tests/bug_5488.sci",TMPDIR);
+fd_r = mopen(docFile,'rt');
+content = mgetl(fd_r);
+
+wrongString = "<synopsis>";
+position = grep(content, wrongString);
+// We should get only one <synopsis>
+if size(position,"c") <> 1 then pause,end
diff --git a/modules/helptools/tests/nonreg_tests/bug_5489.dia.ref b/modules/helptools/tests/nonreg_tests/bug_5489.dia.ref
new file mode 100755
index 000000000..719232966
--- /dev/null
+++ b/modules/helptools/tests/nonreg_tests/bug_5489.dia.ref
@@ -0,0 +1,20 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Sylvestre Ledru
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- Non-regression test for bug 5489 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=5489
+//
+// <-- Short Description -->
+// Bad syntax is the export
+docFile = help_from_sci(SCI+"/modules/helptools/tests/nonreg_tests/bug_5489.sci",TMPDIR);
+fd_r = mopen(docFile,'rt');
+content = mgetl(fd_r);
+wrongString = "<varlistentry><term>Calixte Denizet</term></varlistentry>";
+position = grep(content, wrongString);
+// We should get a simplelist
+if position <> [] then bugmes();quit;end
diff --git a/modules/helptools/tests/nonreg_tests/bug_5489.sci b/modules/helptools/tests/nonreg_tests/bug_5489.sci
new file mode 100755
index 000000000..e3850bca9
--- /dev/null
+++ b/modules/helptools/tests/nonreg_tests/bug_5489.sci
@@ -0,0 +1,16 @@
+function [helptxt,demotxt]=bug_5489(funname,helpdir,demodir)
+ // The description
+ //
+ // Calling Sequence
+ // str = prettyprint(a)
+ // str = prettyprint(a,format)
+ //
+ // See also
+ // help
+ // help_skeleton
+ // head_comments
+ // Authors
+ // Calixte Denizet
+ a=1+2
+ helptxt="retour"
+endfunction
diff --git a/modules/helptools/tests/nonreg_tests/bug_5489.tst b/modules/helptools/tests/nonreg_tests/bug_5489.tst
new file mode 100755
index 000000000..8291131b1
--- /dev/null
+++ b/modules/helptools/tests/nonreg_tests/bug_5489.tst
@@ -0,0 +1,23 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Sylvestre Ledru
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- Non-regression test for bug 5489 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=5489
+//
+// <-- Short Description -->
+// Bad syntax is the export
+
+docFile = help_from_sci(SCI+"/modules/helptools/tests/nonreg_tests/bug_5489.sci",TMPDIR);
+fd_r = mopen(docFile,'rt');
+content = mgetl(fd_r);
+
+wrongString = "<varlistentry><term>Calixte Denizet</term></varlistentry>";
+position = grep(content, wrongString);
+// We should get a simplelist
+if position <> [] then pause,end
diff --git a/modules/helptools/tests/nonreg_tests/bug_5577.dia.ref b/modules/helptools/tests/nonreg_tests/bug_5577.dia.ref
new file mode 100755
index 000000000..1f25d025f
--- /dev/null
+++ b/modules/helptools/tests/nonreg_tests/bug_5577.dia.ref
@@ -0,0 +1,17 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- Non-regression test for bug 5577 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=5577
+//
+// <-- Short Description -->
+// help_skeleton macros encoded the generated xml file in ISO-8859-1 and not in UTF-8.
+function [y,z]=foo(a,b),y=a+b,z=1,endfunction
+p = help_skeleton('foo',TMPDIR);
+r = mgetl(p);
+if grep(r,'UTF-8') <> 1 then bugmes();quit;end
diff --git a/modules/helptools/tests/nonreg_tests/bug_5577.tst b/modules/helptools/tests/nonreg_tests/bug_5577.tst
new file mode 100755
index 000000000..b1f41d593
--- /dev/null
+++ b/modules/helptools/tests/nonreg_tests/bug_5577.tst
@@ -0,0 +1,21 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- Non-regression test for bug 5577 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=5577
+//
+// <-- Short Description -->
+// help_skeleton macros encoded the generated xml file in ISO-8859-1 and not in UTF-8.
+
+
+function [y,z]=foo(a,b),y=a+b,z=1,endfunction
+p = help_skeleton('foo',TMPDIR);
+r = mgetl(p);
+
+if grep(r,'UTF-8') <> 1 then pause,end \ No newline at end of file
diff --git a/modules/helptools/tests/nonreg_tests/bug_6514.tst b/modules/helptools/tests/nonreg_tests/bug_6514.tst
new file mode 100755
index 000000000..5bdffd7e1
--- /dev/null
+++ b/modules/helptools/tests/nonreg_tests/bug_6514.tst
@@ -0,0 +1,19 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - DIGITEO - Vincent COUVERT
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- INTERACTIVE TEST -->
+//
+// <-- Non-regression test for bug 6514 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=6514
+//
+// <-- Short Description -->
+// "help %k" pointed to the symbols help page.
+
+help %k
+// Check that the help page opened is the %k help page and not the sympbols help page \ No newline at end of file
diff --git a/modules/helptools/tests/nonreg_tests/bug_7133.dia.ref b/modules/helptools/tests/nonreg_tests/bug_7133.dia.ref
new file mode 100755
index 000000000..7145b86c7
--- /dev/null
+++ b/modules/helptools/tests/nonreg_tests/bug_7133.dia.ref
@@ -0,0 +1,152 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Charlotte HECQUET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+//
+// <-- ENGLISH IMPOSED -->
+//
+// <-- Non-regression test for bug 7133 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=7133
+//
+// <-- Short Description -->
+// help_from_sci() with no input now runs a full demo
+temp = editor;
+function editor(name)
+endfunction;
+Warning : redefining function: editor . Use funcprot(0) to avoid this message
+
+[helptxt, demotxt] = help_from_sci();
+editor = temp;
+Warning : redefining function: editor . Use funcprot(0) to avoid this message
+
+refDemotxt = [
+"mode(1)"
+"//"
+"// Demo of function_template.sci"
+"//"
+""
+"[z] = test_fun(1, 2) // examples of use"
+"halt() // Press return to continue"
+" "
+"// An empty comment line in the Examples section will add a halt() statement"
+"// in the demo file test_fun.dem.sce generated by help_from_sci."
+"halt() // Press return to continue"
+" "
+"//========= E N D === O F === D E M O =========//" ];
+refHelptxt = [
+"<?xml version=""1.0"" encoding=""UTF-8""?>"
+""
+"<!--"
+" *"
+" * This help file was generated from function_template.sci using help_from_sci()."
+" *"
+" --"+">"
+""
+"<refentry version=""5.0-subset Scilab"" xml:id=""function_template"" xml:lang=""en"""
+" xmlns=""http://docbook.org/ns/docbook"""
+" xmlns:xlink=""http://www.w3.org/1999/xlink"""
+" xmlns:svg=""http://www.w3.org/2000/svg"""
+" xmlns:ns3=""http://www.w3.org/1999/xhtml"""
+" xmlns:mml=""http://www.w3.org/1998/Math/MathML"""
+" xmlns:scilab=""http://www.scilab.org"""
+" xmlns:db=""http://docbook.org/ns/docbook"">"
+""
+" <refnamediv>"
+" <refname>function_template</refname>"
+" <refpurpose>Short description on the first line following the function header.</refpurpose>"
+" </refnamediv>"
+""
+""
+"<refsynopsisdiv>"
+" <title>Calling Sequence</title>"
+" <synopsis>"
+" [z] = template_function(x,y) // calling examples, one pr. line"
+" "
+" </synopsis>"
+"</refsynopsisdiv>"
+""
+"<refsection>"
+" <title>Parameters</title>"
+" <variablelist>"
+" <varlistentry><term>x:</term>"
+" <listitem><para> the x parameter // single line description of each parameter.</para></listitem></varlistentry>"
+" <varlistentry><term>y:</term>"
+" <listitem><para> the y parameter // parameter name and description must be</para></listitem></varlistentry>"
+" <varlistentry><term>z:</term>"
+" <listitem><para> the z parameter // separated by "":"".</para></listitem></varlistentry>"
+" </variablelist>"
+"</refsection>"
+""
+"<refsection>"
+" <title>Description</title>"
+" <para>"
+"Here is a description of the function."
+"Add an empty comment line to format the text into separate paragraphs."
+" </para>"
+" <para>"
+"XML format commands may also be used directly in the text,"
+"as in the following examples."
+" </para>"
+" <para>"
+"This is an example of a itemized list:"
+"<itemizedlist>"
+"<listitem><para>An itemized list is shown here</para></listitem>"
+"</itemizedlist>"
+"The help text for help_from_sci was generated from the head comments section of help_from_sci.sci"
+"Compare the output from head_comments(""help_from_sci"") and help(""help_from_sci"")"
+"to see more examples on how to write the head comments section."
+" </para>"
+" <para>"
+"This is an example of the programlisting tag:"
+"<programlisting>z = test_fun(x, y)</programlisting>"
+" </para>"
+" <para>"
+"This is an example of a latex equation:"
+"<latex>"
+"\begin{eqnarray}"
+"m = |M| \beta^{1-p},"
+"\end{eqnarray}"
+"</latex>"
+" </para>"
+" <para>"
+"</para>"
+"</refsection>"
+""
+"<refsection>"
+" <title>Examples</title>"
+" <programlisting role=""example""><![CDATA["
+"[z] = test_fun(1, 2) // examples of use"
+""
+"// An empty comment line in the Examples section will add a halt() statement"
+"// in the demo file test_fun.dem.sce generated by help_from_sci."
+""
+" ]]></programlisting>"
+"</refsection>"
+""
+"<refsection>"
+" <title>See also</title>"
+" <simplelist type=""inline"">"
+" <member><link linkend=""help_from_sci"">help_from_sci</link></member>"
+" <member><link linkend=""help_skeleton"">help_skeleton</link></member>"
+" </simplelist>"
+"</refsection>"
+""
+"<refsection>"
+" <title>Authors</title>"
+" <simplelist type=""vert"">"
+" <member>Author name </member><listitem><para> should be listed one pr line. Use "";"" to separate names from additional information</para></listitem>"
+" </simplelist>"
+"</refsection>"
+""
+"<refsection>"
+" <title>Bibliography</title>"
+" <para>Literature references one pr. line</para>"
+"</refsection>"
+"</refentry>" ];
+assert_checkequal(demotxt, refDemotxt);
+assert_checkequal(helptxt, refHelptxt);
diff --git a/modules/helptools/tests/nonreg_tests/bug_7133.tst b/modules/helptools/tests/nonreg_tests/bug_7133.tst
new file mode 100755
index 000000000..0c048a04c
--- /dev/null
+++ b/modules/helptools/tests/nonreg_tests/bug_7133.tst
@@ -0,0 +1,152 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Charlotte HECQUET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+//
+// <-- ENGLISH IMPOSED -->
+//
+// <-- Non-regression test for bug 7133 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=7133
+//
+// <-- Short Description -->
+// help_from_sci() with no input now runs a full demo
+
+temp = editor;
+function editor(name)
+endfunction;
+[helptxt, demotxt] = help_from_sci();
+editor = temp;
+
+refDemotxt = [
+"mode(1)"
+"//"
+"// Demo of function_template.sci"
+"//"
+""
+"[z] = test_fun(1, 2) // examples of use"
+"halt() // Press return to continue"
+" "
+"// An empty comment line in the Examples section will add a halt() statement"
+"// in the demo file test_fun.dem.sce generated by help_from_sci."
+"halt() // Press return to continue"
+" "
+"//========= E N D === O F === D E M O =========//" ];
+
+refHelptxt = [
+"<?xml version=""1.0"" encoding=""UTF-8""?>"
+""
+"<!--"
+" *"
+" * This help file was generated from function_template.sci using help_from_sci()."
+" *"
+" --"+">"
+""
+"<refentry version=""5.0-subset Scilab"" xml:id=""function_template"" xml:lang=""en"""
+" xmlns=""http://docbook.org/ns/docbook"""
+" xmlns:xlink=""http://www.w3.org/1999/xlink"""
+" xmlns:svg=""http://www.w3.org/2000/svg"""
+" xmlns:ns3=""http://www.w3.org/1999/xhtml"""
+" xmlns:mml=""http://www.w3.org/1998/Math/MathML"""
+" xmlns:scilab=""http://www.scilab.org"""
+" xmlns:db=""http://docbook.org/ns/docbook"">"
+""
+" <refnamediv>"
+" <refname>function_template</refname>"
+" <refpurpose>Short description on the first line following the function header.</refpurpose>"
+" </refnamediv>"
+""
+""
+"<refsynopsisdiv>"
+" <title>Calling Sequence</title>"
+" <synopsis>"
+" [z] = template_function(x,y) // calling examples, one pr. line"
+" "
+" </synopsis>"
+"</refsynopsisdiv>"
+""
+"<refsection>"
+" <title>Parameters</title>"
+" <variablelist>"
+" <varlistentry><term>x:</term>"
+" <listitem><para> the x parameter // single line description of each parameter.</para></listitem></varlistentry>"
+" <varlistentry><term>y:</term>"
+" <listitem><para> the y parameter // parameter name and description must be</para></listitem></varlistentry>"
+" <varlistentry><term>z:</term>"
+" <listitem><para> the z parameter // separated by "":"".</para></listitem></varlistentry>"
+" </variablelist>"
+"</refsection>"
+""
+"<refsection>"
+" <title>Description</title>"
+" <para>"
+"Here is a description of the function."
+"Add an empty comment line to format the text into separate paragraphs."
+" </para>"
+" <para>"
+"XML format commands may also be used directly in the text,"
+"as in the following examples."
+" </para>"
+" <para>"
+"This is an example of a itemized list:"
+"<itemizedlist>"
+"<listitem><para>An itemized list is shown here</para></listitem>"
+"</itemizedlist>"
+"The help text for help_from_sci was generated from the head comments section of help_from_sci.sci"
+"Compare the output from head_comments(""help_from_sci"") and help(""help_from_sci"")"
+"to see more examples on how to write the head comments section."
+" </para>"
+" <para>"
+"This is an example of the programlisting tag:"
+"<programlisting>z = test_fun(x, y)</programlisting>"
+" </para>"
+" <para>"
+"This is an example of a latex equation:"
+"<latex>"
+"\begin{eqnarray}"
+"m = |M| \beta^{1-p},"
+"\end{eqnarray}"
+"</latex>"
+" </para>"
+" <para>"
+"</para>"
+"</refsection>"
+""
+"<refsection>"
+" <title>Examples</title>"
+" <programlisting role=""example""><![CDATA["
+"[z] = test_fun(1, 2) // examples of use"
+""
+"// An empty comment line in the Examples section will add a halt() statement"
+"// in the demo file test_fun.dem.sce generated by help_from_sci."
+""
+" ]]></programlisting>"
+"</refsection>"
+""
+"<refsection>"
+" <title>See also</title>"
+" <simplelist type=""inline"">"
+" <member><link linkend=""help_from_sci"">help_from_sci</link></member>"
+" <member><link linkend=""help_skeleton"">help_skeleton</link></member>"
+" </simplelist>"
+"</refsection>"
+""
+"<refsection>"
+" <title>Authors</title>"
+" <simplelist type=""vert"">"
+" <member>Author name </member><listitem><para> should be listed one pr line. Use "";"" to separate names from additional information</para></listitem>"
+" </simplelist>"
+"</refsection>"
+""
+"<refsection>"
+" <title>Bibliography</title>"
+" <para>Literature references one pr. line</para>"
+"</refsection>"
+"</refentry>" ];
+
+assert_checkequal(demotxt, refDemotxt);
+assert_checkequal(helptxt, refHelptxt);
diff --git a/modules/helptools/tests/nonreg_tests/bug_7681.dia.ref b/modules/helptools/tests/nonreg_tests/bug_7681.dia.ref
new file mode 100755
index 000000000..a09274c93
--- /dev/null
+++ b/modules/helptools/tests/nonreg_tests/bug_7681.dia.ref
@@ -0,0 +1,21 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 7681 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=7681
+//
+// <-- Short Description -->
+// help_from_sci function failed to process tabulated .sci files.
+mdelete(TMPDIR + "/bug_7681_with_tabs.xml");
+help_from_sci(SCI + "/modules/helptools/tests/nonreg_tests/bug_7681_with_tabs.sci", TMPDIR);
+if ~isfile(TMPDIR + "/bug_7681_with_tabs.xml") then bugmes();quit;end;
+strs = mgetl(TMPDIR + "/bug_7681_with_tabs.xml");
+if size(strs, "*") < 50 then bugmes();quit;end;
diff --git a/modules/helptools/tests/nonreg_tests/bug_7681.tst b/modules/helptools/tests/nonreg_tests/bug_7681.tst
new file mode 100755
index 000000000..7a1b3b0d5
--- /dev/null
+++ b/modules/helptools/tests/nonreg_tests/bug_7681.tst
@@ -0,0 +1,22 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 7681 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=7681
+//
+// <-- Short Description -->
+// help_from_sci function failed to process tabulated .sci files.
+mdelete(TMPDIR + "/bug_7681_with_tabs.xml");
+help_from_sci(SCI + "/modules/helptools/tests/nonreg_tests/bug_7681_with_tabs.sci", TMPDIR);
+if ~isfile(TMPDIR + "/bug_7681_with_tabs.xml") then pause, end;
+strs = mgetl(TMPDIR + "/bug_7681_with_tabs.xml");
+if size(strs, "*") < 50 then pause, end;
+
diff --git a/modules/helptools/tests/nonreg_tests/bug_7681_with_tabs.sci b/modules/helptools/tests/nonreg_tests/bug_7681_with_tabs.sci
new file mode 100755
index 000000000..32c8af022
--- /dev/null
+++ b/modules/helptools/tests/nonreg_tests/bug_7681_with_tabs.sci
@@ -0,0 +1,28 @@
+// Bla
+
+function next = myfun ( a1 , a2 )
+ // Do Something
+ //
+ // Calling Sequence
+ // next = myfun ( a1 , a2 )
+ //
+ // Parameters
+ // a1 : a 1 x 1 matrix of floating point integers
+ // a2 : a 1 x 1 matrix of floating point integers
+ // next : a 1 x 1 matrix of doubles
+ //
+ // Description
+ // Bla.
+ //
+ // Examples
+ // // Bla.
+ //
+ // Authors
+ // Bla
+ //
+ // Bibliography
+ // Bla
+
+ next = a1 + a2
+endfunction
+
diff --git a/modules/helptools/tests/nonreg_tests/bug_8463.tst b/modules/helptools/tests/nonreg_tests/bug_8463.tst
new file mode 100755
index 000000000..059946e76
--- /dev/null
+++ b/modules/helptools/tests/nonreg_tests/bug_8463.tst
@@ -0,0 +1,31 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- JVM MANDATORY -->
+//
+// <-- INTERACTIVE TEST -->
+//
+// <-- Non-regression test for bug 7681 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=7681
+//
+// <-- Short Description -->
+// scilab pdfs (fr_FR and pt_BR) were not fully generated.
+
+r1 = xmltopdf([], [], "fr_FR");
+info1 = fileinfo(r1);
+if info1(1) < 10000000 then pause, end
+
+r2 = xmltopdf([], [], "pt_BR");
+info2 = fileinfo(r2);
+if info2(1) < 10000000 then pause, end
+
+// opens files and check that they are VALID !!!
+
+
+
diff --git a/modules/helptools/tests/nonreg_tests/bug_8492.tst b/modules/helptools/tests/nonreg_tests/bug_8492.tst
new file mode 100755
index 000000000..bc22e9253
--- /dev/null
+++ b/modules/helptools/tests/nonreg_tests/bug_8492.tst
@@ -0,0 +1,41 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - Calixte DENIZET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- INTERACTIVE TEST -->
+// <-- TEST WITH CONSOLE -->
+//
+// <-- Non-regression test for bug 8492 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/8492
+//
+// <-- Short Description -->
+// When the documentation was generated, error messages were not displayed in the console.
+
+tmpfile = TMPDIR + "/macroscreen.sci";
+mputl(["function mymacro()"
+ "// Performs stuff."
+ "//"
+ "// Description"
+ "// The following is a stuff:"
+ "//"
+ "// <unknownTag>"
+ "// foo"
+ "// </unknownTag>"
+ "//"
+ "endfunction"], tmpfile);
+cd(TMPDIR);
+[helptxt,demotxt]=help_from_sci("macroscreen");
+testdir = fullfile(TMPDIR,"screendir");
+mkdir(testdir);
+xmlfile = fullfile(testdir,"macroscreen.xml");
+fd = mopen(xmlfile,"w");
+mputl(helptxt,fd);
+mclose(fd);
+tbx_build_help("ScreenTest",testdir);
+
+// An error message like "The tag screen is not handled." must be displayed in the console \ No newline at end of file
diff --git a/modules/helptools/tests/nonreg_tests/bug_8505.tst b/modules/helptools/tests/nonreg_tests/bug_8505.tst
new file mode 100755
index 000000000..00a483174
--- /dev/null
+++ b/modules/helptools/tests/nonreg_tests/bug_8505.tst
@@ -0,0 +1,34 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- JVM MANDATORY -->
+//
+// <-- ENGLISH IMPOSED -->
+//
+// <-- NO CHECK ERROR OUTPUT -->
+//
+// <-- Non-regression test for bug 8505 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=8505
+//
+// <-- Short Description -->
+// help was not generated if there was a path name with some spaces.
+
+function a = bug_8505(b, c, d)
+ a = 0;
+endfunction
+
+dir_with_space = "directory with space";
+pathDest = TMPDIR + filesep() + dir_with_space + filesep();
+mkdir(TMPDIR, dir_with_space);
+
+mputl(help_skeleton("bug_8505"), pathDest + "bug_8505.xml");
+
+r = xmltojar(pathDest, "bug help");
+if ~isfile(r) then pause, end
+
diff --git a/modules/helptools/tests/nonreg_tests/bug_8505.unix.dia.ref b/modules/helptools/tests/nonreg_tests/bug_8505.unix.dia.ref
new file mode 100755
index 000000000..0c5e11084
--- /dev/null
+++ b/modules/helptools/tests/nonreg_tests/bug_8505.unix.dia.ref
@@ -0,0 +1,37 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- JVM MANDATORY -->
+//
+// <-- ENGLISH IMPOSED -->
+//
+// <-- NO CHECK ERROR OUTPUT -->
+//
+// <-- Non-regression test for bug 8505 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=8505
+//
+// <-- Short Description -->
+// help was not generated if there was a path name with some spaces.
+function a = bug_8505(b, c, d)
+ a = 0;
+endfunction
+dir_with_space = "directory with space";
+pathDest = TMPDIR + filesep() + dir_with_space + filesep();
+mkdir(TMPDIR, dir_with_space);
+mputl(help_skeleton("bug_8505"), pathDest + "bug_8505.xml");
+r = xmltojar(pathDest, "bug help");
+
+Building the master document:
+ TMPDIR/directory with space/
+
+Building the manual file [javaHelp] in TMPDIR/directory with space/.
+
+ Generate image ./bug_8505_1.png from Scilab code from file bug_8505.xm
+ l
+if ~isfile(r) then bugmes();quit;end
diff --git a/modules/helptools/tests/nonreg_tests/bug_8505.win.dia.ref b/modules/helptools/tests/nonreg_tests/bug_8505.win.dia.ref
new file mode 100755
index 000000000..3889ff6f3
--- /dev/null
+++ b/modules/helptools/tests/nonreg_tests/bug_8505.win.dia.ref
@@ -0,0 +1,37 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - DIGITEO - Allan CORNET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- JVM MANDATORY -->
+//
+// <-- ENGLISH IMPOSED -->
+//
+// <-- NO CHECK ERROR OUTPUT -->
+//
+// <-- Non-regression test for bug 8505 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=8505
+//
+// <-- Short Description -->
+// help was not generated if there was a path name with some spaces.
+function a = bug_8505(b, c, d)
+ a = 0;
+endfunction
+dir_with_space = "directory with space";
+pathDest = TMPDIR + filesep() + dir_with_space + filesep();
+mkdir(TMPDIR, dir_with_space);
+mputl(help_skeleton("bug_8505"), pathDest + "bug_8505.xml");
+r = xmltojar(pathDest, "bug help");
+
+Building the master document:
+ TMPDIR\directory with space\
+
+Building the manual file [javaHelp] in TMPDIR\directory with space\.
+
+ Generate image ./bug_8505_1.png from Scilab code from file bug_8505.xm
+ l
+if ~isfile(r) then bugmes();quit;end
diff --git a/modules/helptools/tests/nonreg_tests/bug_8756.dia.ref b/modules/helptools/tests/nonreg_tests/bug_8756.dia.ref
new file mode 100755
index 000000000..7a3ace7b5
--- /dev/null
+++ b/modules/helptools/tests/nonreg_tests/bug_8756.dia.ref
@@ -0,0 +1,46 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011 - Calixte DENIZET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- JVM MANDATORY -->
+//
+// <-- ENGLISH IMPOSED -->
+//
+// <-- NO CHECK ERROR OUTPUT -->
+//
+// <-- Non-regression test for bug 8756 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/8756
+//
+// <-- Short Description -->
+// The file id was expected only in refentry
+tmpdir = TMPDIR + "/testxml";
+mkdir(tmpdir);
+tmpdir = tmpdir + "/en_US";
+mkdir(tmpdir);
+tmpfile = tmpdir + "/foo.xml";
+mputl(["<?xml version=""1.0"" encoding=""UTF-8""?>"
+ "<refentry version=""5.0-subset Scilab"""
+ "xmlns=""http://docbook.org/ns/docbook"""
+ "xmlns:html=""http://www.w3.org/1999/xhtml"""
+ "xmlns:db=""http://docbook.org/ns/docbook"">"
+ "<refnamediv xml:id=""foo"">"
+ "<refname>Foo</refname>"
+ "<refpurpose>calculates foo</refpurpose>"
+ "</refnamediv>"
+ "<refsection>"
+ "<para>foo</para>"
+ "</refsection>"
+ "</refentry>"], tmpfile);
+cd(tmpdir);
+jar = xmltojar('.', 'foo', 'en_US');
+
+Building the master document:
+ TMPDIR/testxml/en_US
+
+Building the manual file [javaHelp] in TMPDIR/testxml/en_US.
+if ~isfile(jar) then bugmes();quit;end
diff --git a/modules/helptools/tests/nonreg_tests/bug_8756.tst b/modules/helptools/tests/nonreg_tests/bug_8756.tst
new file mode 100755
index 000000000..e2d29183e
--- /dev/null
+++ b/modules/helptools/tests/nonreg_tests/bug_8756.tst
@@ -0,0 +1,42 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011 - Calixte DENIZET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- JVM MANDATORY -->
+//
+// <-- ENGLISH IMPOSED -->
+//
+// <-- NO CHECK ERROR OUTPUT -->
+//
+// <-- Non-regression test for bug 8756 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/8756
+//
+// <-- Short Description -->
+// The file id was expected only in refentry
+
+tmpdir = TMPDIR + "/testxml";
+mkdir(tmpdir);
+tmpdir = tmpdir + "/en_US";
+mkdir(tmpdir);
+tmpfile = tmpdir + "/foo.xml";
+mputl(["<?xml version=""1.0"" encoding=""UTF-8""?>"
+ "<refentry version=""5.0-subset Scilab"""
+ "xmlns=""http://docbook.org/ns/docbook"""
+ "xmlns:html=""http://www.w3.org/1999/xhtml"""
+ "xmlns:db=""http://docbook.org/ns/docbook"">"
+ "<refnamediv xml:id=""foo"">"
+ "<refname>Foo</refname>"
+ "<refpurpose>calculates foo</refpurpose>"
+ "</refnamediv>"
+ "<refsection>"
+ "<para>foo</para>"
+ "</refsection>"
+ "</refentry>"], tmpfile);
+cd(tmpdir);
+jar = xmltojar('.', 'foo', 'en_US');
+if ~isfile(jar) then pause, end
diff --git a/modules/helptools/tests/nonreg_tests/bug_8756.win.dia.ref b/modules/helptools/tests/nonreg_tests/bug_8756.win.dia.ref
new file mode 100755
index 000000000..24d2bae5d
--- /dev/null
+++ b/modules/helptools/tests/nonreg_tests/bug_8756.win.dia.ref
@@ -0,0 +1,46 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011 - Calixte DENIZET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- JVM MANDATORY -->
+//
+// <-- ENGLISH IMPOSED -->
+//
+// <-- NO CHECK ERROR OUTPUT -->
+//
+// <-- Non-regression test for bug 8756 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/8756
+//
+// <-- Short Description -->
+// The file id was expected only in refentry
+tmpdir = TMPDIR + "/testxml";
+mkdir(tmpdir);
+tmpdir = tmpdir + "/en_US";
+mkdir(tmpdir);
+tmpfile = tmpdir + "/foo.xml";
+mputl(["<?xml version=""1.0"" encoding=""UTF-8""?>"
+ "<refentry version=""5.0-subset Scilab"""
+ "xmlns=""http://docbook.org/ns/docbook"""
+ "xmlns:html=""http://www.w3.org/1999/xhtml"""
+ "xmlns:db=""http://docbook.org/ns/docbook"">"
+ "<refnamediv xml:id=""foo"">"
+ "<refname>Foo</refname>"
+ "<refpurpose>calculates foo</refpurpose>"
+ "</refnamediv>"
+ "<refsection>"
+ "<para>foo</para>"
+ "</refsection>"
+ "</refentry>"], tmpfile);
+cd(tmpdir);
+jar = xmltojar('.', 'foo', 'en_US');
+
+Building the master document:
+ TMPDIR\testxml\en_US
+
+Building the manual file [javaHelp] in TMPDIR\testxml\en_US.
+if ~isfile(jar) then bugmes();quit;end
diff --git a/modules/helptools/tests/unit_tests/help_from_sci.dia.ref b/modules/helptools/tests/unit_tests/help_from_sci.dia.ref
new file mode 100755
index 000000000..642c6ff75
--- /dev/null
+++ b/modules/helptools/tests/unit_tests/help_from_sci.dia.ref
@@ -0,0 +1,28 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Sylvestre LEDRU
+// Copyright (C) 2011 - DIGITEO - Sylvestre LEDRU
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// help_from_sci
+// Check the generation of one help page
+my_path = fullfile(SCI,"modules","helptools","tests","unit_tests");
+my_macros = "macrosExample.sci";
+my_generated_xml = "macrosExample.xml";
+target_file = fullfile(TMPDIR,my_generated_xml);
+//
+// Test #1: without output args
+help_from_sci(fullfile(my_path,my_macros), TMPDIR);
+assert_checktrue(fileinfo(target_file) <> []);
+mdelete(target_file);
+//
+// Test #2: with 2 output args
+[helptxt,demotxt]=help_from_sci(fullfile(my_path,my_macros), TMPDIR);
+assert_checktrue(fileinfo(target_file) <> []);
+mdelete(target_file);
+assert_checktrue(helptxt <> []);
+assert_checkequal(typeof(helptxt),"string");
+assert_checktrue(demotxt <> []);
+assert_checkequal(typeof(demotxt),"string");
diff --git a/modules/helptools/tests/unit_tests/help_from_sci.tst b/modules/helptools/tests/unit_tests/help_from_sci.tst
new file mode 100755
index 000000000..1e85b8dbb
--- /dev/null
+++ b/modules/helptools/tests/unit_tests/help_from_sci.tst
@@ -0,0 +1,33 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009 - DIGITEO - Sylvestre LEDRU
+// Copyright (C) 2011 - DIGITEO - Sylvestre LEDRU
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// help_from_sci
+
+// Check the generation of one help page
+my_path = fullfile(SCI,"modules","helptools","tests","unit_tests");
+my_macros = "macrosExample.sci";
+my_generated_xml = "macrosExample.xml";
+target_file = fullfile(TMPDIR,my_generated_xml);
+//
+// Test #1: without output args
+help_from_sci(fullfile(my_path,my_macros), TMPDIR);
+assert_checktrue(fileinfo(target_file) <> []);
+mdelete(target_file);
+
+//
+// Test #2: with 2 output args
+[helptxt,demotxt]=help_from_sci(fullfile(my_path,my_macros), TMPDIR);
+assert_checktrue(fileinfo(target_file) <> []);
+mdelete(target_file);
+assert_checktrue(helptxt <> []);
+assert_checkequal(typeof(helptxt),"string");
+assert_checktrue(demotxt <> []);
+assert_checkequal(typeof(demotxt),"string");
+
diff --git a/modules/helptools/tests/unit_tests/javahelp.dia.ref b/modules/helptools/tests/unit_tests/javahelp.dia.ref
new file mode 100755
index 000000000..29f699237
--- /dev/null
+++ b/modules/helptools/tests/unit_tests/javahelp.dia.ref
@@ -0,0 +1,16 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2015 - Scilab Enterprises - Vincent COUVERT
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// Check that javahelp files are present and non-zero size for all supported languages
+supportedLanguages = ["en_US" "fr_FR" "ja_JP" "pt_BR" "ru_RU"];
+for kL=1:size(supportedLanguages, "*")
+ helpFile = "SCI/modules/helptools/jar/scilab_" + supportedLanguages(kL) + "_help.jar";
+ assert_checktrue(isfile(helpFile));
+ [x, ierr] = fileinfo(helpFile);
+ assert_checktrue(ierr==0);
+ assert_checktrue(x(1) > 0);
+end
diff --git a/modules/helptools/tests/unit_tests/javahelp.tst b/modules/helptools/tests/unit_tests/javahelp.tst
new file mode 100755
index 000000000..b55473718
--- /dev/null
+++ b/modules/helptools/tests/unit_tests/javahelp.tst
@@ -0,0 +1,21 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2015 - Scilab Enterprises - Vincent COUVERT
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// Check that javahelp files are present and non-zero size for all supported languages
+
+supportedLanguages = ["en_US" "fr_FR" "ja_JP" "pt_BR" "ru_RU"];
+
+for kL=1:size(supportedLanguages, "*")
+ helpFile = "SCI/modules/helptools/jar/scilab_" + supportedLanguages(kL) + "_help.jar";
+ assert_checktrue(isfile(helpFile));
+ [x, ierr] = fileinfo(helpFile);
+ assert_checktrue(ierr==0);
+ assert_checktrue(x(1) > 0);
+end
+
diff --git a/modules/helptools/tests/unit_tests/macrosExample.sci b/modules/helptools/tests/unit_tests/macrosExample.sci
new file mode 100755
index 000000000..582748c69
--- /dev/null
+++ b/modules/helptools/tests/unit_tests/macrosExample.sci
@@ -0,0 +1,79 @@
+function [helptxt,demotxt]=macrosExample(funname,helpdir,demodir)
+ // Generate help files and demo files from the head comments section of a .sci source file.
+ //
+ // Calling Sequence
+ // help_from_sci() // generate an empty function template
+ // help_from_sci(funname,helpdir) // generate helpdir/funname.xml from funname.sci.
+ // help_from_sci(dirname,helpdir) // process dirname/*.sci and create helpdir/*.xml help files.
+ // help_from_sci(dirname,helpdir,demodir) // as above but also creating demodir/*.dem.sce demo files.
+ // [helptxt,demotxt]=help_from_sci(funname) // return funname.xml and funname.dem.sce code as two text matrixes.
+ // Parameters
+ // funname: the name of a single .sci source file to be processed.
+ // dirname: directory name where all .sci files will be processed.
+ // helpdir: optional path where the .xml help file will be created.
+ // demodir: optional path where .dem.sce demo files will be created based on code from the Examples section.
+ // helptxt: returns the XML help code if helpdir is empty, or the path to the .xml file.
+ // demotxt: returns the demo code if demodir is empty, or the path to the .dem.sce file.
+ //
+ // Description
+ // help_from_sci is a revised version of the help_skeleton function.
+ // Its objective is to generate .xml help files based on the head comments section
+ // of .sci source files. Optionally .dem.sce demo files can be generated based on
+ // code from the Examples section in the head comments section of .sci files.
+ //
+ // In order for help_from_sci to format the .xml file properly the
+ // head comments section should comply with some simple formatting rules.
+ //
+ // The first comment line following the function definition should contain a short description
+ // of the function.
+ //
+ // The remaining comments are formatted according to the following (optional) headlines:
+ // "Calling Sequence", "Parameters", "Description", "Examples", "See also", "Used functions",
+ // "Authors" and "Bibliography".
+ //
+ // The following guidelines should be used when writing the source code comments:
+ // <itemizedlist>
+ // <listitem><literal>Calling Sequence</literal> - one example pr. line.</listitem>
+ // <listitem><literal>Parameters</literal> - separate parameter name and
+ // description by a ":". Keep the description of each parameter on the same line.</listitem>
+ // <listitem><literal>Description</literal> - formatting of the text can be done
+ // using XML commands. Compare the output of head_comments('help_from_sci') with help('help_from_sci')
+ // to get some hints.
+ // Adding an empty comment line in the Description section is interpreted as the
+ // start of a new paragraph.</listitem>
+ // <listitem><literal>See also</literal> - list one function name pr line.</listitem>
+ // <listitem><literal>Authors</literal> - write one author on each line following
+ // the Authors headline. Use ";" to separate the authors name
+ // from any add additional information.</listitem>
+ // <listitem><literal>Bibliography</literal> - write one reference pr line
+ // following the References headline.</listitem>
+ // </itemizedlist>
+ //
+ // Examples
+ // help_from_sci() // Open an empty source code template in the scinotes editor.
+ // // Save this template as test_fun.sci in the current directory before running
+ // // the next example commands.
+ //
+ // help_from_sci('test_fun') // return the xml skeleton as a text string
+ //
+ // help_from_sci('test_fun','.') // create the xml help file in the current directory.
+ //
+ // // create both a xml help file and a demo file in the current directory.
+ // help_from_sci('test_fun','.','.')
+ //
+ // // From a toolbox root directory a typical calling sequence would be:
+ // // help_from_sci('macros','help\en_US','demos')
+ // // This command would process all .sci files in the macros directory
+ // // and use the head comments section to update all .xml help files in the
+ // // help\en_US directory an rebuild the .dem.sce files in the demos\ directory.
+ //
+ // See also
+ // help
+ // help_skeleton
+ // head_comments
+ // Authors
+ // T. Pettersen ; top@tpett.com
+
+ a=1+2
+ helptxt="retour"
+endfunction
diff --git a/modules/helptools/tests/unit_tests/xmltohtml.dia.ref b/modules/helptools/tests/unit_tests/xmltohtml.dia.ref
new file mode 100755
index 000000000..de4e9a745
--- /dev/null
+++ b/modules/helptools/tests/unit_tests/xmltohtml.dia.ref
@@ -0,0 +1,112 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Pierre MARECHAL <pierre.marechal@scilab.org>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- NO CHECK ERROR OUTPUT -->
+// <-- NEED JVM -->
+// xmltohtml
+// TEST 1 (french help and english help are complete)
+// =============================================================================
+tmpPath = TMPDIR + "/examples";
+copyfile("SCI/modules/helptools/examples", tmpPath);
+my_module_path = pathconvert(tmpPath + "/example_1",%f,%f);
+// Build the french help
+setlanguage("fr_FR");
+my_french_help_dir = my_module_path+"/help/fr_FR";
+my_french_help_title = "TEST 1 [fr_FR]";
+xmltohtml(my_french_help_dir,my_french_help_title,"fr_FR");
+
+Génération du document maître :
+ TMPDIR/examples/example_1/help/fr_FR
+
+Génération du fichier d'aide [html] in TMPDIR/examples/example_1/help/fr_FR.
+html_info = fileinfo(my_module_path+"/html/fr_FR/index.html");
+if html_info == [] then bugmes();quit;end // file existence
+clean_help(my_french_help_dir);
+-- Suppression des fichiers d'aide --
+...
+// Build the english help
+setlanguage("en_US");
+my_english_help_dir = my_module_path+"/help/en_US";
+my_english_help_title = "TEST 1 [en_US]";
+xmltohtml(my_english_help_dir,my_english_help_title,'en_US');
+
+Building the master document:
+ TMPDIR/examples/example_1/help/en_US
+
+Building the manual file [html] in TMPDIR/examples/example_1/help/en_US.
+html_info = fileinfo(my_module_path+"/html/en_US/index.html");
+if html_info == [] then bugmes();quit;end // file existence
+clean_help(my_english_help_dir);
+-- Deleting help files --
+...
+// TEST 2 (example_2_function_2 and example_2_function_4 are missing in the
+// french help)
+// =============================================================================
+my_module_path = pathconvert(tmpPath + "/example_2",%f,%f);
+// Build the french help
+setlanguage("fr_FR");
+my_french_help_dir = my_module_path+"/help/fr_FR";
+my_french_help_title = "TEST 2 [fr_FR]";
+xmltohtml(my_french_help_dir,my_french_help_title,'fr_FR');
+
+Génération du document maître :
+ TMPDIR/examples/example_2/help/fr_FR
+
+Génération du fichier d'aide [html] in TMPDIR/examples/example_2/help/fr_FR.
+html_info = fileinfo(my_module_path+"/html/fr_FR/index.html");
+if html_info == [] then bugmes();quit;end // file existence
+clean_help(my_french_help_dir);
+-- Suppression des fichiers d'aide --
+...
+// Build the english help
+setlanguage("en_US");
+my_english_help_dir = my_module_path+"/help/en_US";
+my_english_help_title = "TEST 2 [en_US]";
+xmltohtml(my_english_help_dir,my_english_help_title,'en_US');
+
+Building the master document:
+ TMPDIR/examples/example_2/help/en_US
+
+Building the manual file [html] in TMPDIR/examples/example_2/help/en_US.
+html_info = fileinfo(my_module_path+"/html/en_US/index.html");
+if html_info == [] then bugmes();quit;end // file existence
+clean_help(my_english_help_dir);
+-- Deleting help files --
+...
+// TEST 3 (example_3_function_3 and example_3_function_4 are missing in the
+// english help)
+// =============================================================================
+my_module_path = pathconvert(tmpPath + "/example_3",%f,%f);
+// Build the french help
+setlanguage("fr_FR");
+my_french_help_dir = my_module_path+"/help/fr_FR";
+my_french_help_title = "TEST 3 [fr_FR]";
+xmltohtml(my_french_help_dir,my_french_help_title,"fr_FR");
+
+Génération du document maître :
+ TMPDIR/examples/example_3/help/fr_FR
+
+Génération du fichier d'aide [html] in TMPDIR/examples/example_3/help/fr_FR.
+html_info = fileinfo(my_module_path+"/html/fr_FR/index.html");
+if html_info == [] then bugmes();quit;end // file existence
+clean_help(my_french_help_dir);
+-- Suppression des fichiers d'aide --
+...
+// Build the english help
+setlanguage("en_US");
+my_english_help_dir = my_module_path+"/help/en_US";
+my_english_help_title = "TEST 3 [en_US]";
+xmltohtml(my_english_help_dir,my_english_help_title,"en_US","fr_FR");
+
+Building the master document:
+ TMPDIR/examples/example_3/help/en_US
+
+Building the manual file [html] in TMPDIR/examples/example_3/help/en_US.
+html_info = fileinfo(my_module_path+"/html/en_US/index.html");
+if html_info == [] then bugmes();quit;end // file existence
+clean_help(my_english_help_dir);
+-- Deleting help files --
+...
diff --git a/modules/helptools/tests/unit_tests/xmltohtml.tst b/modules/helptools/tests/unit_tests/xmltohtml.tst
new file mode 100755
index 000000000..c9955da49
--- /dev/null
+++ b/modules/helptools/tests/unit_tests/xmltohtml.tst
@@ -0,0 +1,101 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Pierre MARECHAL <pierre.marechal@scilab.org>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- NO CHECK ERROR OUTPUT -->
+// <-- NEED JVM -->
+
+// xmltohtml
+
+// TEST 1 (french help and english help are complete)
+// =============================================================================
+
+tmpPath = TMPDIR + "/examples";
+copyfile("SCI/modules/helptools/examples", tmpPath);
+my_module_path = pathconvert(tmpPath + "/example_1",%f,%f);
+
+// Build the french help
+
+setlanguage("fr_FR");
+my_french_help_dir = my_module_path+"/help/fr_FR";
+my_french_help_title = "TEST 1 [fr_FR]";
+xmltohtml(my_french_help_dir,my_french_help_title,"fr_FR");
+
+html_info = fileinfo(my_module_path+"/html/fr_FR/index.html");
+if html_info == [] then pause, end // file existence
+
+clean_help(my_french_help_dir);
+
+// Build the english help
+
+setlanguage("en_US");
+my_english_help_dir = my_module_path+"/help/en_US";
+my_english_help_title = "TEST 1 [en_US]";
+xmltohtml(my_english_help_dir,my_english_help_title,'en_US');
+
+html_info = fileinfo(my_module_path+"/html/en_US/index.html");
+if html_info == [] then pause, end // file existence
+
+clean_help(my_english_help_dir);
+
+// TEST 2 (example_2_function_2 and example_2_function_4 are missing in the
+// french help)
+// =============================================================================
+
+my_module_path = pathconvert(tmpPath + "/example_2",%f,%f);
+
+// Build the french help
+
+setlanguage("fr_FR");
+my_french_help_dir = my_module_path+"/help/fr_FR";
+my_french_help_title = "TEST 2 [fr_FR]";
+xmltohtml(my_french_help_dir,my_french_help_title,'fr_FR');
+
+html_info = fileinfo(my_module_path+"/html/fr_FR/index.html");
+if html_info == [] then pause, end // file existence
+
+clean_help(my_french_help_dir);
+
+// Build the english help
+
+setlanguage("en_US");
+my_english_help_dir = my_module_path+"/help/en_US";
+my_english_help_title = "TEST 2 [en_US]";
+xmltohtml(my_english_help_dir,my_english_help_title,'en_US');
+
+html_info = fileinfo(my_module_path+"/html/en_US/index.html");
+if html_info == [] then pause, end // file existence
+
+clean_help(my_english_help_dir);
+
+// TEST 3 (example_3_function_3 and example_3_function_4 are missing in the
+// english help)
+// =============================================================================
+
+my_module_path = pathconvert(tmpPath + "/example_3",%f,%f);
+
+// Build the french help
+
+setlanguage("fr_FR");
+my_french_help_dir = my_module_path+"/help/fr_FR";
+my_french_help_title = "TEST 3 [fr_FR]";
+xmltohtml(my_french_help_dir,my_french_help_title,"fr_FR");
+
+html_info = fileinfo(my_module_path+"/html/fr_FR/index.html");
+if html_info == [] then pause, end // file existence
+
+clean_help(my_french_help_dir);
+
+// Build the english help
+
+setlanguage("en_US");
+my_english_help_dir = my_module_path+"/help/en_US";
+my_english_help_title = "TEST 3 [en_US]";
+xmltohtml(my_english_help_dir,my_english_help_title,"en_US","fr_FR");
+
+html_info = fileinfo(my_module_path+"/html/en_US/index.html");
+if html_info == [] then pause, end // file existence
+
+clean_help(my_english_help_dir);
diff --git a/modules/helptools/tests/unit_tests/xmltohtml.win.dia.ref b/modules/helptools/tests/unit_tests/xmltohtml.win.dia.ref
new file mode 100755
index 000000000..445502830
--- /dev/null
+++ b/modules/helptools/tests/unit_tests/xmltohtml.win.dia.ref
@@ -0,0 +1,112 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Pierre MARECHAL <pierre.marechal@scilab.org>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- NO CHECK ERROR OUTPUT -->
+// <-- NEED JVM -->
+// xmltohtml
+// TEST 1 (french help and english help are complete)
+// =============================================================================
+tmpPath = TMPDIR + "/examples";
+copyfile("SCI/modules/helptools/examples", tmpPath);
+my_module_path = pathconvert(tmpPath + "/example_1",%f,%f);
+// Build the french help
+setlanguage("fr_FR");
+my_french_help_dir = my_module_path+"/help/fr_FR";
+my_french_help_title = "TEST 1 [fr_FR]";
+xmltohtml(my_french_help_dir,my_french_help_title,"fr_FR");
+
+Génération du document maître :
+ TMPDIR\examples\example_1\help\fr_FR
+
+Génération du fichier d'aide [html] in TMPDIR\examples\example_1\help\fr_FR.
+html_info = fileinfo(my_module_path+"/html/fr_FR/index.html");
+if html_info == [] then bugmes();quit;end // file existence
+clean_help(my_french_help_dir);
+-- Suppression des fichiers d'aide --
+...
+// Build the english help
+setlanguage("en_US");
+my_english_help_dir = my_module_path+"/help/en_US";
+my_english_help_title = "TEST 1 [en_US]";
+xmltohtml(my_english_help_dir,my_english_help_title,'en_US');
+
+Building the master document:
+ TMPDIR\examples\example_1\help\en_US
+
+Building the manual file [html] in TMPDIR\examples\example_1\help\en_US.
+html_info = fileinfo(my_module_path+"/html/en_US/index.html");
+if html_info == [] then bugmes();quit;end // file existence
+clean_help(my_english_help_dir);
+-- Deleting help files --
+...
+// TEST 2 (example_2_function_2 and example_2_function_4 are missing in the
+// french help)
+// =============================================================================
+my_module_path = pathconvert(tmpPath + "/example_2",%f,%f);
+// Build the french help
+setlanguage("fr_FR");
+my_french_help_dir = my_module_path+"/help/fr_FR";
+my_french_help_title = "TEST 2 [fr_FR]";
+xmltohtml(my_french_help_dir,my_french_help_title,'fr_FR');
+
+Génération du document maître :
+ TMPDIR\examples\example_2\help\fr_FR
+
+Génération du fichier d'aide [html] in TMPDIR\examples\example_2\help\fr_FR.
+html_info = fileinfo(my_module_path+"/html/fr_FR/index.html");
+if html_info == [] then bugmes();quit;end // file existence
+clean_help(my_french_help_dir);
+-- Suppression des fichiers d'aide --
+...
+// Build the english help
+setlanguage("en_US");
+my_english_help_dir = my_module_path+"/help/en_US";
+my_english_help_title = "TEST 2 [en_US]";
+xmltohtml(my_english_help_dir,my_english_help_title,'en_US');
+
+Building the master document:
+ TMPDIR\examples\example_2\help\en_US
+
+Building the manual file [html] in TMPDIR\examples\example_2\help\en_US.
+html_info = fileinfo(my_module_path+"/html/en_US/index.html");
+if html_info == [] then bugmes();quit;end // file existence
+clean_help(my_english_help_dir);
+-- Deleting help files --
+...
+// TEST 3 (example_3_function_3 and example_3_function_4 are missing in the
+// english help)
+// =============================================================================
+my_module_path = pathconvert(tmpPath + "/example_3",%f,%f);
+// Build the french help
+setlanguage("fr_FR");
+my_french_help_dir = my_module_path+"/help/fr_FR";
+my_french_help_title = "TEST 3 [fr_FR]";
+xmltohtml(my_french_help_dir,my_french_help_title,"fr_FR");
+
+Génération du document maître :
+ TMPDIR\examples\example_3\help\fr_FR
+
+Génération du fichier d'aide [html] in TMPDIR\examples\example_3\help\fr_FR.
+html_info = fileinfo(my_module_path+"/html/fr_FR/index.html");
+if html_info == [] then bugmes();quit;end // file existence
+clean_help(my_french_help_dir);
+-- Suppression des fichiers d'aide --
+...
+// Build the english help
+setlanguage("en_US");
+my_english_help_dir = my_module_path+"/help/en_US";
+my_english_help_title = "TEST 3 [en_US]";
+xmltohtml(my_english_help_dir,my_english_help_title,"en_US","fr_FR");
+
+Building the master document:
+ TMPDIR\examples\example_3\help\en_US
+
+Building the manual file [html] in TMPDIR\examples\example_3\help\en_US.
+html_info = fileinfo(my_module_path+"/html/en_US/index.html");
+if html_info == [] then bugmes();quit;end // file existence
+clean_help(my_english_help_dir);
+-- Deleting help files --
+...
diff --git a/modules/helptools/tests/unit_tests/xmltojar.dia.ref b/modules/helptools/tests/unit_tests/xmltojar.dia.ref
new file mode 100755
index 000000000..239bcd70c
--- /dev/null
+++ b/modules/helptools/tests/unit_tests/xmltojar.dia.ref
@@ -0,0 +1,118 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Pierre MARECHAL <pierre.marechal@scilab.org>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- NO CHECK ERROR OUTPUT -->
+// <-- NEED JVM -->
+// xmltojar
+// TEST 1 (french help and english help are complete)
+// =============================================================================
+tmpPath = TMPDIR + "/examples";
+copyfile("SCI/modules/helptools/examples", tmpPath);
+my_module_path = pathconvert(tmpPath + "/example_1",%f,%f);
+// Build the french help
+setlanguage("fr_FR");
+my_french_help_dir = my_module_path+"/help/fr_FR";
+my_french_help_title = "TEST 1 [fr_FR]";
+xmltojar(my_french_help_dir,my_french_help_title,"fr_FR");
+
+Génération du document maître :
+ TMPDIR/examples/example_1/help/fr_FR
+
+Génération du fichier d'aide [javaHelp] in TMPDIR/examples/example_1/help/fr_FR.
+jar_info = fileinfo(my_module_path+"/jar/scilab_fr_FR_help.jar");
+if jar_info == [] then bugmes();quit;end // file existence
+if jar_info(1) < 5000 then bugmes();quit;end // file size
+clean_help(my_french_help_dir);
+-- Suppression des fichiers d'aide --
+...
+// Build the english help
+setlanguage("en_US");
+my_english_help_dir = my_module_path+"/help/en_US";
+my_english_help_title = "TEST 1 [en_US]";
+xmltojar(my_english_help_dir,my_english_help_title,'en_US');
+
+Building the master document:
+ TMPDIR/examples/example_1/help/en_US
+
+Building the manual file [javaHelp] in TMPDIR/examples/example_1/help/en_US.
+jar_info = fileinfo(my_module_path+"/jar/scilab_en_US_help.jar");
+if jar_info == [] then bugmes();quit;end // file existence
+if jar_info(1) < 5000 then bugmes();quit;end // file size
+clean_help(my_english_help_dir);
+-- Deleting help files --
+...
+// TEST 2 (example_2_function_2 and example_2_function_4 are missing in the
+// french help)
+// =============================================================================
+my_module_path = pathconvert(tmpPath + "/example_2",%f,%f);
+// Build the french help
+setlanguage("fr_FR");
+my_french_help_dir = my_module_path+"/help/fr_FR";
+my_french_help_title = "TEST 2 [fr_FR]";
+xmltojar(my_french_help_dir,my_french_help_title,'fr_FR');
+
+Génération du document maître :
+ TMPDIR/examples/example_2/help/fr_FR
+
+Génération du fichier d'aide [javaHelp] in TMPDIR/examples/example_2/help/fr_FR.
+jar_info = fileinfo(my_module_path+"/jar/scilab_fr_FR_help.jar");
+if jar_info == [] then bugmes();quit;end // file existence
+if jar_info(1) < 5000 then bugmes();quit;end // file size
+clean_help(my_french_help_dir);
+-- Suppression des fichiers d'aide --
+...
+// Build the english help
+setlanguage("en_US");
+my_english_help_dir = my_module_path+"/help/en_US";
+my_english_help_title = "TEST 2 [en_US]";
+xmltojar(my_english_help_dir,my_english_help_title,'en_US');
+
+Building the master document:
+ TMPDIR/examples/example_2/help/en_US
+
+Building the manual file [javaHelp] in TMPDIR/examples/example_2/help/en_US.
+jar_info = fileinfo(my_module_path+"/jar/scilab_en_US_help.jar");
+if jar_info == [] then bugmes();quit;end // file existence
+if jar_info(1) < 5000 then bugmes();quit;end // file size
+clean_help(my_english_help_dir);
+-- Deleting help files --
+...
+// TEST 3 (example_3_function_3 and example_3_function_4 are missing in the
+// english help)
+// =============================================================================
+my_module_path = pathconvert(tmpPath + "/example_3",%f,%f);
+// Build the french help
+setlanguage("fr_FR");
+my_french_help_dir = my_module_path+"/help/fr_FR";
+my_french_help_title = "TEST 3 [fr_FR]";
+xmltojar(my_french_help_dir,my_french_help_title,"fr_FR");
+
+Génération du document maître :
+ TMPDIR/examples/example_3/help/fr_FR
+
+Génération du fichier d'aide [javaHelp] in TMPDIR/examples/example_3/help/fr_FR.
+jar_info = fileinfo(my_module_path+"/jar/scilab_fr_FR_help.jar");
+if jar_info == [] then bugmes();quit;end // file existence
+if jar_info(1) < 5000 then bugmes();quit;end // file size
+clean_help(my_french_help_dir);
+-- Suppression des fichiers d'aide --
+...
+// Build the english help
+setlanguage("en_US");
+my_english_help_dir = my_module_path+"/help/en_US";
+my_english_help_title = "TEST 3 [en_US]";
+xmltojar(my_english_help_dir,my_english_help_title,"en_US","fr_FR");
+
+Building the master document:
+ TMPDIR/examples/example_3/help/en_US
+
+Building the manual file [javaHelp] in TMPDIR/examples/example_3/help/en_US.
+jar_info = fileinfo(my_module_path+"/jar/scilab_en_US_help.jar");
+if jar_info == [] then bugmes();quit;end // file existence
+if jar_info(1) < 5000 then bugmes();quit;end // file size
+clean_help(my_english_help_dir);
+-- Deleting help files --
+...
diff --git a/modules/helptools/tests/unit_tests/xmltojar.tst b/modules/helptools/tests/unit_tests/xmltojar.tst
new file mode 100755
index 000000000..08d29b8fc
--- /dev/null
+++ b/modules/helptools/tests/unit_tests/xmltojar.tst
@@ -0,0 +1,112 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Pierre MARECHAL <pierre.marechal@scilab.org>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- NO CHECK ERROR OUTPUT -->
+// <-- NEED JVM -->
+
+// xmltojar
+
+// TEST 1 (french help and english help are complete)
+// =============================================================================
+
+tmpPath = TMPDIR + "/examples";
+copyfile("SCI/modules/helptools/examples", tmpPath);
+my_module_path = pathconvert(tmpPath + "/example_1",%f,%f);
+
+// Build the french help
+
+setlanguage("fr_FR");
+my_french_help_dir = my_module_path+"/help/fr_FR";
+my_french_help_title = "TEST 1 [fr_FR]";
+xmltojar(my_french_help_dir,my_french_help_title,"fr_FR");
+
+jar_info = fileinfo(my_module_path+"/jar/scilab_fr_FR_help.jar");
+if jar_info == [] then pause, end // file existence
+if jar_info(1) < 5000 then pause, end // file size
+
+clean_help(my_french_help_dir);
+
+// Build the english help
+
+setlanguage("en_US");
+my_english_help_dir = my_module_path+"/help/en_US";
+my_english_help_title = "TEST 1 [en_US]";
+xmltojar(my_english_help_dir,my_english_help_title,'en_US');
+
+jar_info = fileinfo(my_module_path+"/jar/scilab_en_US_help.jar");
+if jar_info == [] then pause, end // file existence
+if jar_info(1) < 5000 then pause, end // file size
+
+clean_help(my_english_help_dir);
+
+
+
+// TEST 2 (example_2_function_2 and example_2_function_4 are missing in the
+// french help)
+// =============================================================================
+
+my_module_path = pathconvert(tmpPath + "/example_2",%f,%f);
+
+// Build the french help
+
+setlanguage("fr_FR");
+my_french_help_dir = my_module_path+"/help/fr_FR";
+my_french_help_title = "TEST 2 [fr_FR]";
+xmltojar(my_french_help_dir,my_french_help_title,'fr_FR');
+
+jar_info = fileinfo(my_module_path+"/jar/scilab_fr_FR_help.jar");
+if jar_info == [] then pause, end // file existence
+if jar_info(1) < 5000 then pause, end // file size
+
+clean_help(my_french_help_dir);
+
+// Build the english help
+
+setlanguage("en_US");
+my_english_help_dir = my_module_path+"/help/en_US";
+my_english_help_title = "TEST 2 [en_US]";
+xmltojar(my_english_help_dir,my_english_help_title,'en_US');
+
+jar_info = fileinfo(my_module_path+"/jar/scilab_en_US_help.jar");
+if jar_info == [] then pause, end // file existence
+if jar_info(1) < 5000 then pause, end // file size
+
+clean_help(my_english_help_dir);
+
+
+
+// TEST 3 (example_3_function_3 and example_3_function_4 are missing in the
+// english help)
+// =============================================================================
+
+my_module_path = pathconvert(tmpPath + "/example_3",%f,%f);
+
+// Build the french help
+
+setlanguage("fr_FR");
+my_french_help_dir = my_module_path+"/help/fr_FR";
+my_french_help_title = "TEST 3 [fr_FR]";
+xmltojar(my_french_help_dir,my_french_help_title,"fr_FR");
+
+jar_info = fileinfo(my_module_path+"/jar/scilab_fr_FR_help.jar");
+if jar_info == [] then pause, end // file existence
+if jar_info(1) < 5000 then pause, end // file size
+
+clean_help(my_french_help_dir);
+
+// Build the english help
+
+setlanguage("en_US");
+my_english_help_dir = my_module_path+"/help/en_US";
+my_english_help_title = "TEST 3 [en_US]";
+xmltojar(my_english_help_dir,my_english_help_title,"en_US","fr_FR");
+
+jar_info = fileinfo(my_module_path+"/jar/scilab_en_US_help.jar");
+if jar_info == [] then pause, end // file existence
+if jar_info(1) < 5000 then pause, end // file size
+
+clean_help(my_english_help_dir);
+
diff --git a/modules/helptools/tests/unit_tests/xmltojar.win.dia.ref b/modules/helptools/tests/unit_tests/xmltojar.win.dia.ref
new file mode 100755
index 000000000..93ee67e5f
--- /dev/null
+++ b/modules/helptools/tests/unit_tests/xmltojar.win.dia.ref
@@ -0,0 +1,118 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Pierre MARECHAL <pierre.marechal@scilab.org>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- NO CHECK ERROR OUTPUT -->
+// <-- NEED JVM -->
+// xmltojar
+// TEST 1 (french help and english help are complete)
+// =============================================================================
+tmpPath = TMPDIR + "/examples";
+copyfile("SCI/modules/helptools/examples", tmpPath);
+my_module_path = pathconvert(tmpPath + "/example_1",%f,%f);
+// Build the french help
+setlanguage("fr_FR");
+my_french_help_dir = my_module_path+"/help/fr_FR";
+my_french_help_title = "TEST 1 [fr_FR]";
+xmltojar(my_french_help_dir,my_french_help_title,"fr_FR");
+
+Génération du document maître :
+ TMPDIR\examples\example_1\help\fr_FR
+
+Génération du fichier d'aide [javaHelp] in TMPDIR\examples\example_1\help\fr_FR.
+jar_info = fileinfo(my_module_path+"/jar/scilab_fr_FR_help.jar");
+if jar_info == [] then bugmes();quit;end // file existence
+if jar_info(1) < 5000 then bugmes();quit;end // file size
+clean_help(my_french_help_dir);
+-- Suppression des fichiers d'aide --
+...
+// Build the english help
+setlanguage("en_US");
+my_english_help_dir = my_module_path+"/help/en_US";
+my_english_help_title = "TEST 1 [en_US]";
+xmltojar(my_english_help_dir,my_english_help_title,'en_US');
+
+Building the master document:
+ TMPDIR\examples\example_1\help\en_US
+
+Building the manual file [javaHelp] in TMPDIR\examples\example_1\help\en_US.
+jar_info = fileinfo(my_module_path+"/jar/scilab_en_US_help.jar");
+if jar_info == [] then bugmes();quit;end // file existence
+if jar_info(1) < 5000 then bugmes();quit;end // file size
+clean_help(my_english_help_dir);
+-- Deleting help files --
+...
+// TEST 2 (example_2_function_2 and example_2_function_4 are missing in the
+// french help)
+// =============================================================================
+my_module_path = pathconvert(tmpPath + "/example_2",%f,%f);
+// Build the french help
+setlanguage("fr_FR");
+my_french_help_dir = my_module_path+"/help/fr_FR";
+my_french_help_title = "TEST 2 [fr_FR]";
+xmltojar(my_french_help_dir,my_french_help_title,'fr_FR');
+
+Génération du document maître :
+ TMPDIR\examples\example_2\help\fr_FR
+
+Génération du fichier d'aide [javaHelp] in TMPDIR\examples\example_2\help\fr_FR.
+jar_info = fileinfo(my_module_path+"/jar/scilab_fr_FR_help.jar");
+if jar_info == [] then bugmes();quit;end // file existence
+if jar_info(1) < 5000 then bugmes();quit;end // file size
+clean_help(my_french_help_dir);
+-- Suppression des fichiers d'aide --
+...
+// Build the english help
+setlanguage("en_US");
+my_english_help_dir = my_module_path+"/help/en_US";
+my_english_help_title = "TEST 2 [en_US]";
+xmltojar(my_english_help_dir,my_english_help_title,'en_US');
+
+Building the master document:
+ TMPDIR\examples\example_2\help\en_US
+
+Building the manual file [javaHelp] in TMPDIR\examples\example_2\help\en_US.
+jar_info = fileinfo(my_module_path+"/jar/scilab_en_US_help.jar");
+if jar_info == [] then bugmes();quit;end // file existence
+if jar_info(1) < 5000 then bugmes();quit;end // file size
+clean_help(my_english_help_dir);
+-- Deleting help files --
+...
+// TEST 3 (example_3_function_3 and example_3_function_4 are missing in the
+// english help)
+// =============================================================================
+my_module_path = pathconvert(tmpPath + "/example_3",%f,%f);
+// Build the french help
+setlanguage("fr_FR");
+my_french_help_dir = my_module_path+"/help/fr_FR";
+my_french_help_title = "TEST 3 [fr_FR]";
+xmltojar(my_french_help_dir,my_french_help_title,"fr_FR");
+
+Génération du document maître :
+ TMPDIR\examples\example_3\help\fr_FR
+
+Génération du fichier d'aide [javaHelp] in TMPDIR\examples\example_3\help\fr_FR.
+jar_info = fileinfo(my_module_path+"/jar/scilab_fr_FR_help.jar");
+if jar_info == [] then bugmes();quit;end // file existence
+if jar_info(1) < 5000 then bugmes();quit;end // file size
+clean_help(my_french_help_dir);
+-- Suppression des fichiers d'aide --
+...
+// Build the english help
+setlanguage("en_US");
+my_english_help_dir = my_module_path+"/help/en_US";
+my_english_help_title = "TEST 3 [en_US]";
+xmltojar(my_english_help_dir,my_english_help_title,"en_US","fr_FR");
+
+Building the master document:
+ TMPDIR\examples\example_3\help\en_US
+
+Building the manual file [javaHelp] in TMPDIR\examples\example_3\help\en_US.
+jar_info = fileinfo(my_module_path+"/jar/scilab_en_US_help.jar");
+if jar_info == [] then bugmes();quit;end // file existence
+if jar_info(1) < 5000 then bugmes();quit;end // file size
+clean_help(my_english_help_dir);
+-- Deleting help files --
+...
diff --git a/modules/helptools/tests/unit_tests/xmltopdf.dia.ref b/modules/helptools/tests/unit_tests/xmltopdf.dia.ref
new file mode 100755
index 000000000..865b78ad4
--- /dev/null
+++ b/modules/helptools/tests/unit_tests/xmltopdf.dia.ref
@@ -0,0 +1,119 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Pierre MARECHAL <pierre.marechal@scilab.org>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- ENGLISH IMPOSED -->
+// <-- NO CHECK ERROR OUTPUT -->
+// <-- NEED JVM -->
+// xmltopdf
+// TEST 1 (french help and english help are complete)
+// =============================================================================
+tmpPath = TMPDIR + "/examples";
+copyfile("SCI/modules/helptools/examples", tmpPath);
+my_module_path = pathconvert(tmpPath + "/example_1",%f,%f);
+// Build the french help
+setlanguage("fr_FR");
+my_french_help_dir = my_module_path+"/help/fr_FR";
+my_french_help_title = "TEST 1 [fr_FR]";
+xmltopdf(my_french_help_dir,my_french_help_title,"fr_FR");
+
+Génération du document maître :
+ TMPDIR/examples/example_1/help/fr_FR
+
+Génération du fichier d'aide [pdf] in TMPDIR/examples/example_1/help/fr_FR.
+pdf_info = fileinfo(my_module_path+"/pdf/scilab_fr_FR_help.pdf");
+if pdf_info == [] then bugmes();quit;end // file existence
+if pdf_info(1) < 5000 then bugmes();quit;end // file size
+clean_help(my_french_help_dir);
+-- Suppression des fichiers d'aide --
+...
+// Build the english help
+setlanguage("en_US");
+my_english_help_dir = my_module_path+"/help/en_US";
+my_english_help_title = "TEST 1 [en_US]";
+xmltopdf(my_english_help_dir,my_english_help_title,'en_US');
+
+Building the master document:
+ TMPDIR/examples/example_1/help/en_US
+
+Building the manual file [pdf] in TMPDIR/examples/example_1/help/en_US.
+pdf_info = fileinfo(my_module_path+"/pdf/scilab_en_US_help.pdf");
+if pdf_info == [] then bugmes();quit;end // file existence
+if pdf_info(1) < 5000 then bugmes();quit;end // file size
+clean_help(my_english_help_dir);
+-- Deleting help files --
+...
+// TEST 2 (example_2_function_2 and example_2_function_4 are missing in the
+// french help)
+// =============================================================================
+my_module_path = pathconvert(tmpPath + "/example_2",%f,%f);
+// Build the french help
+setlanguage("fr_FR");
+my_french_help_dir = my_module_path+"/help/fr_FR";
+my_french_help_title = "TEST 2 [fr_FR]";
+xmltopdf(my_french_help_dir,my_french_help_title,'fr_FR');
+
+Génération du document maître :
+ TMPDIR/examples/example_2/help/fr_FR
+
+Génération du fichier d'aide [pdf] in TMPDIR/examples/example_2/help/fr_FR.
+pdf_info = fileinfo(my_module_path+"/pdf/scilab_fr_FR_help.pdf");
+if pdf_info == [] then bugmes();quit;end // file existence
+if pdf_info(1) < 5000 then bugmes();quit;end // file size
+clean_help(my_french_help_dir);
+-- Suppression des fichiers d'aide --
+...
+// Build the english help
+setlanguage("en_US");
+my_english_help_dir = my_module_path+"/help/en_US";
+my_english_help_title = "TEST 2 [en_US]";
+xmltopdf(my_english_help_dir,my_english_help_title,'en_US');
+
+Building the master document:
+ TMPDIR/examples/example_2/help/en_US
+
+Building the manual file [pdf] in TMPDIR/examples/example_2/help/en_US.
+pdf_info = fileinfo(my_module_path+"/pdf/scilab_en_US_help.pdf");
+if pdf_info == [] then bugmes();quit;end // file existence
+if pdf_info(1) < 5000 then bugmes();quit;end // file size
+clean_help(my_english_help_dir);
+-- Deleting help files --
+...
+// TEST 3 (example_3_function_3 and example_3_function_4 are missing in the
+// english help)
+// =============================================================================
+my_module_path = pathconvert(tmpPath + "/example_3",%f,%f);
+// Build the french help
+setlanguage("fr_FR");
+my_french_help_dir = my_module_path+"/help/fr_FR";
+my_french_help_title = "TEST 3 [fr_FR]";
+xmltopdf(my_french_help_dir,my_french_help_title,"fr_FR");
+
+Génération du document maître :
+ TMPDIR/examples/example_3/help/fr_FR
+
+Génération du fichier d'aide [pdf] in TMPDIR/examples/example_3/help/fr_FR.
+pdf_info = fileinfo(my_module_path+"/pdf/scilab_fr_FR_help.pdf");
+if pdf_info == [] then bugmes();quit;end // file existence
+if pdf_info(1) < 5000 then bugmes();quit;end // file size
+clean_help(my_french_help_dir);
+-- Suppression des fichiers d'aide --
+...
+// Build the english help
+setlanguage("en_US");
+my_english_help_dir = my_module_path+"/help/en_US";
+my_english_help_title = "TEST 3 [en_US]";
+xmltopdf(my_english_help_dir,my_english_help_title,"en_US","fr_FR");
+
+Building the master document:
+ TMPDIR/examples/example_3/help/en_US
+
+Building the manual file [pdf] in TMPDIR/examples/example_3/help/en_US.
+pdf_info = fileinfo(my_module_path+"/pdf/scilab_en_US_help.pdf");
+if pdf_info == [] then bugmes();quit;end // file existence
+if pdf_info(1) < 5000 then bugmes();quit;end // file size
+clean_help(my_english_help_dir);
+-- Deleting help files --
+...
diff --git a/modules/helptools/tests/unit_tests/xmltopdf.tst b/modules/helptools/tests/unit_tests/xmltopdf.tst
new file mode 100755
index 000000000..5724f3853
--- /dev/null
+++ b/modules/helptools/tests/unit_tests/xmltopdf.tst
@@ -0,0 +1,114 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Pierre MARECHAL <pierre.marechal@scilab.org>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- ENGLISH IMPOSED -->
+// <-- NO CHECK ERROR OUTPUT -->
+// <-- NEED JVM -->
+
+// xmltopdf
+
+// TEST 1 (french help and english help are complete)
+// =============================================================================
+
+tmpPath = TMPDIR + "/examples";
+copyfile("SCI/modules/helptools/examples", tmpPath);
+my_module_path = pathconvert(tmpPath + "/example_1",%f,%f);
+
+
+// Build the french help
+
+setlanguage("fr_FR");
+my_french_help_dir = my_module_path+"/help/fr_FR";
+my_french_help_title = "TEST 1 [fr_FR]";
+xmltopdf(my_french_help_dir,my_french_help_title,"fr_FR");
+
+pdf_info = fileinfo(my_module_path+"/pdf/scilab_fr_FR_help.pdf");
+if pdf_info == [] then pause, end // file existence
+if pdf_info(1) < 5000 then pause, end // file size
+
+clean_help(my_french_help_dir);
+
+// Build the english help
+
+setlanguage("en_US");
+my_english_help_dir = my_module_path+"/help/en_US";
+my_english_help_title = "TEST 1 [en_US]";
+xmltopdf(my_english_help_dir,my_english_help_title,'en_US');
+
+pdf_info = fileinfo(my_module_path+"/pdf/scilab_en_US_help.pdf");
+if pdf_info == [] then pause, end // file existence
+if pdf_info(1) < 5000 then pause, end // file size
+
+clean_help(my_english_help_dir);
+
+
+
+// TEST 2 (example_2_function_2 and example_2_function_4 are missing in the
+// french help)
+// =============================================================================
+
+my_module_path = pathconvert(tmpPath + "/example_2",%f,%f);
+
+// Build the french help
+
+setlanguage("fr_FR");
+my_french_help_dir = my_module_path+"/help/fr_FR";
+my_french_help_title = "TEST 2 [fr_FR]";
+xmltopdf(my_french_help_dir,my_french_help_title,'fr_FR');
+
+pdf_info = fileinfo(my_module_path+"/pdf/scilab_fr_FR_help.pdf");
+if pdf_info == [] then pause, end // file existence
+if pdf_info(1) < 5000 then pause, end // file size
+
+clean_help(my_french_help_dir);
+
+// Build the english help
+
+setlanguage("en_US");
+my_english_help_dir = my_module_path+"/help/en_US";
+my_english_help_title = "TEST 2 [en_US]";
+xmltopdf(my_english_help_dir,my_english_help_title,'en_US');
+
+pdf_info = fileinfo(my_module_path+"/pdf/scilab_en_US_help.pdf");
+if pdf_info == [] then pause, end // file existence
+if pdf_info(1) < 5000 then pause, end // file size
+
+clean_help(my_english_help_dir);
+
+
+
+// TEST 3 (example_3_function_3 and example_3_function_4 are missing in the
+// english help)
+// =============================================================================
+
+my_module_path = pathconvert(tmpPath + "/example_3",%f,%f);
+
+// Build the french help
+
+setlanguage("fr_FR");
+my_french_help_dir = my_module_path+"/help/fr_FR";
+my_french_help_title = "TEST 3 [fr_FR]";
+xmltopdf(my_french_help_dir,my_french_help_title,"fr_FR");
+
+pdf_info = fileinfo(my_module_path+"/pdf/scilab_fr_FR_help.pdf");
+if pdf_info == [] then pause, end // file existence
+if pdf_info(1) < 5000 then pause, end // file size
+
+clean_help(my_french_help_dir);
+
+// Build the english help
+
+setlanguage("en_US");
+my_english_help_dir = my_module_path+"/help/en_US";
+my_english_help_title = "TEST 3 [en_US]";
+xmltopdf(my_english_help_dir,my_english_help_title,"en_US","fr_FR");
+
+pdf_info = fileinfo(my_module_path+"/pdf/scilab_en_US_help.pdf");
+if pdf_info == [] then pause, end // file existence
+if pdf_info(1) < 5000 then pause, end // file size
+
+clean_help(my_english_help_dir);
diff --git a/modules/helptools/tests/unit_tests/xmltopdf.win.dia.ref b/modules/helptools/tests/unit_tests/xmltopdf.win.dia.ref
new file mode 100755
index 000000000..073a4f7aa
--- /dev/null
+++ b/modules/helptools/tests/unit_tests/xmltopdf.win.dia.ref
@@ -0,0 +1,119 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Pierre MARECHAL <pierre.marechal@scilab.org>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- ENGLISH IMPOSED -->
+// <-- NO CHECK ERROR OUTPUT -->
+// <-- NEED JVM -->
+// xmltopdf
+// TEST 1 (french help and english help are complete)
+// =============================================================================
+tmpPath = TMPDIR + "/examples";
+copyfile("SCI/modules/helptools/examples", tmpPath);
+my_module_path = pathconvert(tmpPath + "/example_1",%f,%f);
+// Build the french help
+setlanguage("fr_FR");
+my_french_help_dir = my_module_path+"/help/fr_FR";
+my_french_help_title = "TEST 1 [fr_FR]";
+xmltopdf(my_french_help_dir,my_french_help_title,"fr_FR");
+
+Génération du document maître :
+ TMPDIR\examples\example_1\help\fr_FR
+
+Génération du fichier d'aide [pdf] in TMPDIR\examples\example_1\help\fr_FR.
+pdf_info = fileinfo(my_module_path+"/pdf/scilab_fr_FR_help.pdf");
+if pdf_info == [] then bugmes();quit;end // file existence
+if pdf_info(1) < 5000 then bugmes();quit;end // file size
+clean_help(my_french_help_dir);
+-- Suppression des fichiers d'aide --
+...
+// Build the english help
+setlanguage("en_US");
+my_english_help_dir = my_module_path+"/help/en_US";
+my_english_help_title = "TEST 1 [en_US]";
+xmltopdf(my_english_help_dir,my_english_help_title,'en_US');
+
+Building the master document:
+ TMPDIR\examples\example_1\help\en_US
+
+Building the manual file [pdf] in TMPDIR\examples\example_1\help\en_US.
+pdf_info = fileinfo(my_module_path+"/pdf/scilab_en_US_help.pdf");
+if pdf_info == [] then bugmes();quit;end // file existence
+if pdf_info(1) < 5000 then bugmes();quit;end // file size
+clean_help(my_english_help_dir);
+-- Deleting help files --
+...
+// TEST 2 (example_2_function_2 and example_2_function_4 are missing in the
+// french help)
+// =============================================================================
+my_module_path = pathconvert(tmpPath + "/example_2",%f,%f);
+// Build the french help
+setlanguage("fr_FR");
+my_french_help_dir = my_module_path+"/help/fr_FR";
+my_french_help_title = "TEST 2 [fr_FR]";
+xmltopdf(my_french_help_dir,my_french_help_title,'fr_FR');
+
+Génération du document maître :
+ TMPDIR\examples\example_2\help\fr_FR
+
+Génération du fichier d'aide [pdf] in TMPDIR\examples\example_2\help\fr_FR.
+pdf_info = fileinfo(my_module_path+"/pdf/scilab_fr_FR_help.pdf");
+if pdf_info == [] then bugmes();quit;end // file existence
+if pdf_info(1) < 5000 then bugmes();quit;end // file size
+clean_help(my_french_help_dir);
+-- Suppression des fichiers d'aide --
+...
+// Build the english help
+setlanguage("en_US");
+my_english_help_dir = my_module_path+"/help/en_US";
+my_english_help_title = "TEST 2 [en_US]";
+xmltopdf(my_english_help_dir,my_english_help_title,'en_US');
+
+Building the master document:
+ TMPDIR\examples\example_2\help\en_US
+
+Building the manual file [pdf] in TMPDIR\examples\example_2\help\en_US.
+pdf_info = fileinfo(my_module_path+"/pdf/scilab_en_US_help.pdf");
+if pdf_info == [] then bugmes();quit;end // file existence
+if pdf_info(1) < 5000 then bugmes();quit;end // file size
+clean_help(my_english_help_dir);
+-- Deleting help files --
+...
+// TEST 3 (example_3_function_3 and example_3_function_4 are missing in the
+// english help)
+// =============================================================================
+my_module_path = pathconvert(tmpPath + "/example_3",%f,%f);
+// Build the french help
+setlanguage("fr_FR");
+my_french_help_dir = my_module_path+"/help/fr_FR";
+my_french_help_title = "TEST 3 [fr_FR]";
+xmltopdf(my_french_help_dir,my_french_help_title,"fr_FR");
+
+Génération du document maître :
+ TMPDIR\examples\example_3\help\fr_FR
+
+Génération du fichier d'aide [pdf] in TMPDIR\examples\example_3\help\fr_FR.
+pdf_info = fileinfo(my_module_path+"/pdf/scilab_fr_FR_help.pdf");
+if pdf_info == [] then bugmes();quit;end // file existence
+if pdf_info(1) < 5000 then bugmes();quit;end // file size
+clean_help(my_french_help_dir);
+-- Suppression des fichiers d'aide --
+...
+// Build the english help
+setlanguage("en_US");
+my_english_help_dir = my_module_path+"/help/en_US";
+my_english_help_title = "TEST 3 [en_US]";
+xmltopdf(my_english_help_dir,my_english_help_title,"en_US","fr_FR");
+
+Building the master document:
+ TMPDIR\examples\example_3\help\en_US
+
+Building the manual file [pdf] in TMPDIR\examples\example_3\help\en_US.
+pdf_info = fileinfo(my_module_path+"/pdf/scilab_en_US_help.pdf");
+if pdf_info == [] then bugmes();quit;end // file existence
+if pdf_info(1) < 5000 then bugmes();quit;end // file size
+clean_help(my_english_help_dir);
+-- Deleting help files --
+...
diff --git a/modules/helptools/tests/unit_tests/xmltops.dia.ref b/modules/helptools/tests/unit_tests/xmltops.dia.ref
new file mode 100755
index 000000000..0de9744c9
--- /dev/null
+++ b/modules/helptools/tests/unit_tests/xmltops.dia.ref
@@ -0,0 +1,118 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Pierre MARECHAL <pierre.marechal@scilab.org>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- NO CHECK ERROR OUTPUT -->
+// <-- NEED JVM -->
+// xmltops
+// TEST 1 (french help and english help are complete)
+// =============================================================================
+tmpPath = TMPDIR + "/examples";
+copyfile("SCI/modules/helptools/examples", tmpPath);
+my_module_path = pathconvert(tmpPath + "/example_1",%f,%f);
+// Build the french help
+setlanguage("fr_FR");
+my_french_help_dir = my_module_path+"/help/fr_FR";
+my_french_help_title = "TEST 1 [fr_FR]";
+xmltops(my_french_help_dir,my_french_help_title,"fr_FR");
+
+Génération du document maître :
+ TMPDIR/examples/example_1/help/fr_FR
+
+Génération du fichier d'aide [ps] in TMPDIR/examples/example_1/help/fr_FR.
+ps_info = fileinfo(my_module_path+"/ps/scilab_fr_FR_help.ps");
+if ps_info == [] then bugmes();quit;end // file existence
+if ps_info(1) < 30000 then bugmes();quit;end // file size
+clean_help(my_french_help_dir);
+-- Suppression des fichiers d'aide --
+...
+// Build the english help
+setlanguage("en_US");
+my_english_help_dir = my_module_path+"/help/en_US";
+my_english_help_title = "TEST 1 [en_US]";
+xmltops(my_english_help_dir,my_english_help_title,'en_US');
+
+Building the master document:
+ TMPDIR/examples/example_1/help/en_US
+
+Building the manual file [ps] in TMPDIR/examples/example_1/help/en_US.
+ps_info = fileinfo(my_module_path+"/ps/scilab_en_US_help.ps");
+if ps_info == [] then bugmes();quit;end // file existence
+if ps_info(1) < 30000 then bugmes();quit;end // file size
+clean_help(my_english_help_dir);
+-- Deleting help files --
+...
+// TEST 2 (example_2_function_2 and example_2_function_4 are missing in the
+// french help)
+// =============================================================================
+my_module_path = pathconvert(tmpPath + "/example_2",%f,%f);
+// Build the french help
+setlanguage("fr_FR");
+my_french_help_dir = my_module_path+"/help/fr_FR";
+my_french_help_title = "TEST 2 [fr_FR]";
+xmltops(my_french_help_dir,my_french_help_title,'fr_FR');
+
+Génération du document maître :
+ TMPDIR/examples/example_2/help/fr_FR
+
+Génération du fichier d'aide [ps] in TMPDIR/examples/example_2/help/fr_FR.
+ps_info = fileinfo(my_module_path+"/ps/scilab_fr_FR_help.ps");
+if ps_info == [] then bugmes();quit;end // file existence
+if ps_info(1) < 30000 then bugmes();quit;end // file size
+clean_help(my_french_help_dir);
+-- Suppression des fichiers d'aide --
+...
+// Build the english help
+setlanguage("en_US");
+my_english_help_dir = my_module_path+"/help/en_US";
+my_english_help_title = "TEST 2 [en_US]";
+xmltops(my_english_help_dir,my_english_help_title,'en_US');
+
+Building the master document:
+ TMPDIR/examples/example_2/help/en_US
+
+Building the manual file [ps] in TMPDIR/examples/example_2/help/en_US.
+ps_info = fileinfo(my_module_path+"/ps/scilab_en_US_help.ps");
+if ps_info == [] then bugmes();quit;end // file existence
+if ps_info(1) < 30000 then bugmes();quit;end // file size
+clean_help(my_english_help_dir);
+-- Deleting help files --
+...
+// TEST 3 (example_3_function_3 and example_3_function_4 are missing in the
+// english help)
+// =============================================================================
+my_module_path = pathconvert(tmpPath + "/example_3",%f,%f);
+// Build the french help
+setlanguage("fr_FR");
+my_french_help_dir = my_module_path+"/help/fr_FR";
+my_french_help_title = "TEST 3 [fr_FR]";
+xmltops(my_french_help_dir,my_french_help_title,"fr_FR");
+
+Génération du document maître :
+ TMPDIR/examples/example_3/help/fr_FR
+
+Génération du fichier d'aide [ps] in TMPDIR/examples/example_3/help/fr_FR.
+ps_info = fileinfo(my_module_path+"/ps/scilab_fr_FR_help.ps");
+if ps_info == [] then bugmes();quit;end // file existence
+if ps_info(1) < 30000 then bugmes();quit;end // file size
+clean_help(my_french_help_dir);
+-- Suppression des fichiers d'aide --
+...
+// Build the english help
+setlanguage("en_US");
+my_english_help_dir = my_module_path+"/help/en_US";
+my_english_help_title = "TEST 3 [en_US]";
+xmltops(my_english_help_dir,my_english_help_title,"en_US","fr_FR");
+
+Building the master document:
+ TMPDIR/examples/example_3/help/en_US
+
+Building the manual file [ps] in TMPDIR/examples/example_3/help/en_US.
+ps_info = fileinfo(my_module_path+"/ps/scilab_en_US_help.ps");
+if ps_info == [] then bugmes();quit;end // file existence
+if ps_info(1) < 30000 then bugmes();quit;end // file size
+clean_help(my_english_help_dir);
+-- Deleting help files --
+...
diff --git a/modules/helptools/tests/unit_tests/xmltops.tst b/modules/helptools/tests/unit_tests/xmltops.tst
new file mode 100755
index 000000000..4623e39c8
--- /dev/null
+++ b/modules/helptools/tests/unit_tests/xmltops.tst
@@ -0,0 +1,111 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Pierre MARECHAL <pierre.marechal@scilab.org>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- NO CHECK ERROR OUTPUT -->
+// <-- NEED JVM -->
+
+// xmltops
+
+// TEST 1 (french help and english help are complete)
+// =============================================================================
+
+tmpPath = TMPDIR + "/examples";
+copyfile("SCI/modules/helptools/examples", tmpPath);
+my_module_path = pathconvert(tmpPath + "/example_1",%f,%f);
+
+// Build the french help
+
+setlanguage("fr_FR");
+my_french_help_dir = my_module_path+"/help/fr_FR";
+my_french_help_title = "TEST 1 [fr_FR]";
+xmltops(my_french_help_dir,my_french_help_title,"fr_FR");
+
+ps_info = fileinfo(my_module_path+"/ps/scilab_fr_FR_help.ps");
+if ps_info == [] then pause, end // file existence
+if ps_info(1) < 30000 then pause, end // file size
+
+clean_help(my_french_help_dir);
+
+// Build the english help
+
+setlanguage("en_US");
+my_english_help_dir = my_module_path+"/help/en_US";
+my_english_help_title = "TEST 1 [en_US]";
+xmltops(my_english_help_dir,my_english_help_title,'en_US');
+
+ps_info = fileinfo(my_module_path+"/ps/scilab_en_US_help.ps");
+if ps_info == [] then pause, end // file existence
+if ps_info(1) < 30000 then pause, end // file size
+
+clean_help(my_english_help_dir);
+
+
+
+// TEST 2 (example_2_function_2 and example_2_function_4 are missing in the
+// french help)
+// =============================================================================
+
+my_module_path = pathconvert(tmpPath + "/example_2",%f,%f);
+
+// Build the french help
+
+setlanguage("fr_FR");
+my_french_help_dir = my_module_path+"/help/fr_FR";
+my_french_help_title = "TEST 2 [fr_FR]";
+xmltops(my_french_help_dir,my_french_help_title,'fr_FR');
+
+ps_info = fileinfo(my_module_path+"/ps/scilab_fr_FR_help.ps");
+if ps_info == [] then pause, end // file existence
+if ps_info(1) < 30000 then pause, end // file size
+
+clean_help(my_french_help_dir);
+
+// Build the english help
+
+setlanguage("en_US");
+my_english_help_dir = my_module_path+"/help/en_US";
+my_english_help_title = "TEST 2 [en_US]";
+xmltops(my_english_help_dir,my_english_help_title,'en_US');
+
+ps_info = fileinfo(my_module_path+"/ps/scilab_en_US_help.ps");
+if ps_info == [] then pause, end // file existence
+if ps_info(1) < 30000 then pause, end // file size
+
+clean_help(my_english_help_dir);
+
+
+
+// TEST 3 (example_3_function_3 and example_3_function_4 are missing in the
+// english help)
+// =============================================================================
+
+my_module_path = pathconvert(tmpPath + "/example_3",%f,%f);
+
+// Build the french help
+
+setlanguage("fr_FR");
+my_french_help_dir = my_module_path+"/help/fr_FR";
+my_french_help_title = "TEST 3 [fr_FR]";
+xmltops(my_french_help_dir,my_french_help_title,"fr_FR");
+
+ps_info = fileinfo(my_module_path+"/ps/scilab_fr_FR_help.ps");
+if ps_info == [] then pause, end // file existence
+if ps_info(1) < 30000 then pause, end // file size
+
+clean_help(my_french_help_dir);
+
+// Build the english help
+
+setlanguage("en_US");
+my_english_help_dir = my_module_path+"/help/en_US";
+my_english_help_title = "TEST 3 [en_US]";
+xmltops(my_english_help_dir,my_english_help_title,"en_US","fr_FR");
+
+ps_info = fileinfo(my_module_path+"/ps/scilab_en_US_help.ps");
+if ps_info == [] then pause, end // file existence
+if ps_info(1) < 30000 then pause, end // file size
+
+clean_help(my_english_help_dir);
diff --git a/modules/helptools/tests/unit_tests/xmltops.win.dia.ref b/modules/helptools/tests/unit_tests/xmltops.win.dia.ref
new file mode 100755
index 000000000..967b6fc23
--- /dev/null
+++ b/modules/helptools/tests/unit_tests/xmltops.win.dia.ref
@@ -0,0 +1,118 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Pierre MARECHAL <pierre.marechal@scilab.org>
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- NO CHECK ERROR OUTPUT -->
+// <-- NEED JVM -->
+// xmltops
+// TEST 1 (french help and english help are complete)
+// =============================================================================
+tmpPath = TMPDIR + "/examples";
+copyfile("SCI/modules/helptools/examples", tmpPath);
+my_module_path = pathconvert(tmpPath + "/example_1",%f,%f);
+// Build the french help
+setlanguage("fr_FR");
+my_french_help_dir = my_module_path+"/help/fr_FR";
+my_french_help_title = "TEST 1 [fr_FR]";
+xmltops(my_french_help_dir,my_french_help_title,"fr_FR");
+
+Génération du document maître :
+ TMPDIR\examples\example_1\help\fr_FR
+
+Génération du fichier d'aide [ps] in TMPDIR\examples\example_1\help\fr_FR.
+ps_info = fileinfo(my_module_path+"/ps/scilab_fr_FR_help.ps");
+if ps_info == [] then bugmes();quit;end // file existence
+if ps_info(1) < 30000 then bugmes();quit;end // file size
+clean_help(my_french_help_dir);
+-- Suppression des fichiers d'aide --
+...
+// Build the english help
+setlanguage("en_US");
+my_english_help_dir = my_module_path+"/help/en_US";
+my_english_help_title = "TEST 1 [en_US]";
+xmltops(my_english_help_dir,my_english_help_title,'en_US');
+
+Building the master document:
+ TMPDIR\examples\example_1\help\en_US
+
+Building the manual file [ps] in TMPDIR\examples\example_1\help\en_US.
+ps_info = fileinfo(my_module_path+"/ps/scilab_en_US_help.ps");
+if ps_info == [] then bugmes();quit;end // file existence
+if ps_info(1) < 30000 then bugmes();quit;end // file size
+clean_help(my_english_help_dir);
+-- Deleting help files --
+...
+// TEST 2 (example_2_function_2 and example_2_function_4 are missing in the
+// french help)
+// =============================================================================
+my_module_path = pathconvert(tmpPath + "/example_2",%f,%f);
+// Build the french help
+setlanguage("fr_FR");
+my_french_help_dir = my_module_path+"/help/fr_FR";
+my_french_help_title = "TEST 2 [fr_FR]";
+xmltops(my_french_help_dir,my_french_help_title,'fr_FR');
+
+Génération du document maître :
+ TMPDIR\examples\example_2\help\fr_FR
+
+Génération du fichier d'aide [ps] in TMPDIR\examples\example_2\help\fr_FR.
+ps_info = fileinfo(my_module_path+"/ps/scilab_fr_FR_help.ps");
+if ps_info == [] then bugmes();quit;end // file existence
+if ps_info(1) < 30000 then bugmes();quit;end // file size
+clean_help(my_french_help_dir);
+-- Suppression des fichiers d'aide --
+...
+// Build the english help
+setlanguage("en_US");
+my_english_help_dir = my_module_path+"/help/en_US";
+my_english_help_title = "TEST 2 [en_US]";
+xmltops(my_english_help_dir,my_english_help_title,'en_US');
+
+Building the master document:
+ TMPDIR\examples\example_2\help\en_US
+
+Building the manual file [ps] in TMPDIR\examples\example_2\help\en_US.
+ps_info = fileinfo(my_module_path+"/ps/scilab_en_US_help.ps");
+if ps_info == [] then bugmes();quit;end // file existence
+if ps_info(1) < 30000 then bugmes();quit;end // file size
+clean_help(my_english_help_dir);
+-- Deleting help files --
+...
+// TEST 3 (example_3_function_3 and example_3_function_4 are missing in the
+// english help)
+// =============================================================================
+my_module_path = pathconvert(tmpPath + "/example_3",%f,%f);
+// Build the french help
+setlanguage("fr_FR");
+my_french_help_dir = my_module_path+"/help/fr_FR";
+my_french_help_title = "TEST 3 [fr_FR]";
+xmltops(my_french_help_dir,my_french_help_title,"fr_FR");
+
+Génération du document maître :
+ TMPDIR\examples\example_3\help\fr_FR
+
+Génération du fichier d'aide [ps] in TMPDIR\examples\example_3\help\fr_FR.
+ps_info = fileinfo(my_module_path+"/ps/scilab_fr_FR_help.ps");
+if ps_info == [] then bugmes();quit;end // file existence
+if ps_info(1) < 30000 then bugmes();quit;end // file size
+clean_help(my_french_help_dir);
+-- Suppression des fichiers d'aide --
+...
+// Build the english help
+setlanguage("en_US");
+my_english_help_dir = my_module_path+"/help/en_US";
+my_english_help_title = "TEST 3 [en_US]";
+xmltops(my_english_help_dir,my_english_help_title,"en_US","fr_FR");
+
+Building the master document:
+ TMPDIR\examples\example_3\help\en_US
+
+Building the manual file [ps] in TMPDIR\examples\example_3\help\en_US.
+ps_info = fileinfo(my_module_path+"/ps/scilab_en_US_help.ps");
+if ps_info == [] then bugmes();quit;end // file existence
+if ps_info(1) < 30000 then bugmes();quit;end // file size
+clean_help(my_english_help_dir);
+-- Deleting help files --
+...