* Bug #7133 fixed - Helptools: fix help_from_sci demo 23/12823/5
Paul BIGNIER [Fri, 4 Oct 2013 07:47:46 +0000 (09:47 +0200)]
help_from_sci called with no arguments only ran half of what it should do.

It can now be called with two output arguments and return something consistent.

Change-Id: I2b5efe8cdc708f80bca7b1f35ad51d8aa91588e1

scilab/CHANGES_5.5.X
scilab/modules/helptools/help/en_US/help_from_sci.xml
scilab/modules/helptools/macros/help_from_sci.sci
scilab/modules/helptools/tests/nonreg_tests/bug_7133.dia.ref [new file with mode: 0644]
scilab/modules/helptools/tests/nonreg_tests/bug_7133.tst [new file with mode: 0644]

index 56daf85..6e25634 100644 (file)
@@ -29,6 +29,8 @@ Scilab Bug Fixes
 
 * Bug #7047 fixed - milk_drop is now obsolete. It will be removed in Scilab 5.5.1, but will be kept as a demo.
 
+* Bug #7133 fixed - help_from_sci with no input argument now launches a full demonstration.
+
 * Bug #7570 fixed - The switch criterion on x and y is now explicited in beta() help page.
 
 * Bug #7705 fixed - In the Genetic algorithms help pages, documented the
index 1a0d64e..91b1584 100644 (file)
     <refsection>
         <title>Examples</title>
         <programlisting role="example"><![CDATA[
-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",".",".")
+// Open an source code template in the scinotes editor and return its help and demo texts
+[helptxt, demotxt] = help_from_sci()
 
 // From a toolbox root directory a typical calling sequence would be:
 // help_from_sci("macros","help\en_US","demos")
index 749f1e9..31009de 100644 (file)
@@ -152,6 +152,7 @@ function [helptxt,demotxt]=help_from_sci(funname,helpdir,demodir)
         if (isdef("editor") | (funptr("editor") <> 0)) then
             editor(TMPDIR + filesep() + "function_template.sci");
         end
+        [helptxt, demotxt] = help_from_sci("TMPDIR/function_template");
         return;
     end
 
@@ -423,4 +424,3 @@ function [txt, doing] = change_activity(currently_doing, start_doing)
     end
 endfunction
 //==============================================================================
-
diff --git a/scilab/modules/helptools/tests/nonreg_tests/bug_7133.dia.ref b/scilab/modules/helptools/tests/nonreg_tests/bug_7133.dia.ref
new file mode 100644 (file)
index 0000000..ea0db64
--- /dev/null
@@ -0,0 +1,149 @@
+// =============================================================================
+// 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.
+// =============================================================================
+//
+// <-- 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/scilab/modules/helptools/tests/nonreg_tests/bug_7133.tst b/scilab/modules/helptools/tests/nonreg_tests/bug_7133.tst
new file mode 100644 (file)
index 0000000..038b2f4
--- /dev/null
@@ -0,0 +1,150 @@
+// =============================================================================
+// 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.
+// =============================================================================
+//
+
+// <-- 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);