* Bug 16129 fixed: uiDumpTree() troubles with %, \n, \r, \t 24/21024/6
Samuel GOUGEON [Tue, 25 Jun 2019 15:44:01 +0000 (17:44 +0200)]
  http://bugzilla.scilab.org/16129

  Tests:
   * uiCreateTree.tst: Many unrelevant tests of uiCreateNode() removed.
   * uiDumpTree.tst  : Many unrelevant tests of uiCreateNode() and of
                       uiCreateTree() removed.
     All removed tests were duplicates of tests in the proper files.

  Help: Example improved (underused). <screen> added.
        See also: targeting improved.

Change-Id: I19188eed3b68fbeced0fe08ff733a5c65ff94583

scilab/CHANGES.md
scilab/modules/gui/help/en_US/tree/uiDumpTree.xml
scilab/modules/gui/help/ja_JP/tree/uiDumpTree.xml
scilab/modules/gui/macros/tree/uiDumpTree.sci
scilab/modules/gui/tests/unit_tests/tree/uiCreateNode.dia.ref
scilab/modules/gui/tests/unit_tests/tree/uiCreateNode.tst
scilab/modules/gui/tests/unit_tests/tree/uiCreateTree.dia.ref
scilab/modules/gui/tests/unit_tests/tree/uiCreateTree.tst
scilab/modules/gui/tests/unit_tests/tree/uiDumpTree.dia.ref
scilab/modules/gui/tests/unit_tests/tree/uiDumpTree.tst

index b9ff50e..4fd05e4 100644 (file)
@@ -366,6 +366,7 @@ Bug Fixes
 * [#16104](https://bugzilla.scilab.org/16104): `assert_checkequal` did not support properly or at all Nan and void in lists, Nan in sparse, implicit lists, macros, libraries, built-in functions, graphical handles. For input arrays or lists of matching typeof and sizes, the failure message did not display neither the index nor the values of the first mismatching elements.
 * [#16111](https://bugzilla.scilab.org/16111): `isglobal` was not supporting non-scalar array of strings as input.
 * [#16118](https://bugzilla.scilab.org/16118): `%s <> (1+%s)` returned %F.
+* [#16129](https://bugzilla.scilab.org/16129): `uiDumpTree()` interpreted "\n" "\r" "\t" sequences in contents as special ones.
 * [#16135](https://bugzilla.scilab.org/16135): base2dec did not detect invalid numbers.
 * [#16137](https://bugzilla.scilab.org/16137): After running `playsnd` on Windows for a long sound, it was not possible to stop it.
 * [#16138](https://bugzilla.scilab.org/16138): `playsnd` could not be run in a non-modal (asynchronous) way on Linux and MacOS.
@@ -421,5 +422,5 @@ Bug Fixes
 * [#16307](https://bugzilla.scilab.org/16307): `dockable="off"` and `closerequestfcn` on figures crached Scilab.
 * [#16320](https://bugzilla.scilab.org/16320): There were unsupported UTF-8 characters in some gettext id messages.
 * [#16321](https://bugzilla.scilab.org/16321): There were typo errors in the documentation.
-* [#16323](https://bugzilla.scilab.org/16323): `conj(sparse(x))` was complex when x is real. 
-* [#16325](https://bugzilla.scilab.org/16325): `mgetl` could not read single line data which is greater than ~260,000 characters. 
+* [#16323](https://bugzilla.scilab.org/16323): `conj(sparse(x))` was complex when x is real.
+* [#16325](https://bugzilla.scilab.org/16325): `mgetl` could not read single line data which is greater than ~260,000 characters.
index 4f23fad..ac45ace 100644 (file)
     <refsection>
         <title>Examples</title>
         <programlisting role="example"><![CDATA[
-// We should create nodes(subTrees) before creating trees
-leaf11 = uiCreateNode('leaf 1.1', 'iconLeaf1.1', 'callbackLeaf1.1')
-leaf12 = uiCreateNode('leaf 1.2', 'iconLeaf1.2', 'callbackLeaf1.2')
-leaf31 = uiCreateNode('leaf 3.1', 'iconLeaf3.1', 'callbackLeaf3.1')
-leaf32 = uiCreateNode('leaf 3.2', 'iconLeaf3.2', 'callbackLeaf3.2')
-node1 = uiCreateNode('Node 1', 'iconNode1', 'callbackNode1')
-node2 = uiCreateNode('Node 2', 'iconNode2', 'callbackNode2')
-node3 = uiCreateNode('Node 3', 'iconNode3', 'callbackNode3')
-root = uiCreateNode('Root', 'iconRoot', 'callbackRoot')
+// We must create leaves, nodes, branches, and the tree
+node1 = uiCreateNode('Node 1');
+leaf11 = uiCreateNode('leaf 1.1');
+leaf12 = uiCreateNode('leaf 1.2');
+treeNode1 = uiCreateTree(node1, leaf11, leaf12);
 
-treeNode1 = uiCreateTree(node1, leaf11,leaf12)
-treeNode3 = uiCreateTree(node3, leaf31,leaf32)
-treeRoot = uiCreateTree(root, node1,node2,node3)
+node2 = uiCreateNode('Node 2');
 
+node3 = uiCreateNode('Node 3');
+leaf31 = uiCreateNode('leaf 3.1');
+leaf32 = uiCreateNode('leaf 3.2');
+treeNode3 = uiCreateTree(node3, leaf31, leaf32);
+
+root = uiCreateNode('Root');
+treeRoot = uiCreateTree(root, treeNode1, node2, treeNode3);
+
+// Display in the console:
 uiDumpTree(treeRoot)
  ]]></programlisting>
+    <screen><![CDATA[
+--> uiDumpTree(treeRoot)
+  |_./ Root
+  | |_./ Node 1
+  | | |_./ leaf 1.1
+  | | |_./ leaf 1.2
+  | |_./ Node 2
+  | |_./ Node 3
+  | | |_./ leaf 3.1
+  | | |_./ leaf 3.2
+]]></screen>
     </refsection>
     <refsection role="see also">
         <title>See also</title>
         <simplelist type="inline">
             <member>
-                <link linkend="uiCreateNode">uiCreateNode</link>
-            </member>
-            <member>
-                <link linkend="uiCreateTree">uiCreateTree</link>
-            </member>
-            <member>
                 <link linkend="uiDisplayTree">uiDisplayTree</link>
             </member>
             <member>
-                <link linkend="uiInsertNode">uiInsertNode</link>
-            </member>
-            <member>
-                <link linkend="uiDeleteNode">uiDeleteNode</link>
-            </member>
-            <member>
-                <link linkend="uiConcatTree">uiConcatTree</link>
-            </member>
-            <member>
-                <link linkend="uiEqualsTree">uiEqualsTree</link>
-            </member>
-            <member>
-                <link linkend="uiFindNode">uiFindNode</link>
+                <link linkend="tree_show">tree_show</link>
             </member>
             <member>
-                <link linkend="uiGetParentNode">uiGetParentNode</link>
+                <link linkend="xmlDump">xmlDump</link>
             </member>
             <member>
-                <link linkend="uiGetChildrenNode">uiGetChildrenNode</link>
+                <link linkend="prettyprint">prettyprint</link>
             </member>
             <member>
-                <link linkend="uiGetNodePosition">uiGetNodePosition</link>
+                <link linkend="editvar">editvar</link>
             </member>
         </simplelist>
     </refsection>
index 5a0ab69..0b0f107 100644 (file)
         <title>例</title>
         <programlisting role="example"><![CDATA[
 // ツリー作成前にノード(サブツリー)を作成する必要があります.
-leaf11 = uiCreateNode('leaf 1.1', 'iconLeaf1.1', 'callbackLeaf1.1')
-leaf12 = uiCreateNode('leaf 1.2', 'iconLeaf1.2', 'callbackLeaf1.2')
-leaf31 = uiCreateNode('leaf 3.1', 'iconLeaf3.1', 'callbackLeaf3.1')
-leaf32 = uiCreateNode('leaf 3.2', 'iconLeaf3.2', 'callbackLeaf3.2')
-node1 = uiCreateNode('Node 1', 'iconNode1', 'callbackNode1')
-node2 = uiCreateNode('Node 2', 'iconNode2', 'callbackNode2')
-node3 = uiCreateNode('Node 3', 'iconNode3', 'callbackNode3')
-root = uiCreateNode('Root', 'iconRoot', 'callbackRoot')
-treeNode1 = uiCreateTree(node1, leaf11,leaf12)
-treeNode3 = uiCreateTree(node3, leaf31,leaf32)
-treeRoot = uiCreateTree(root, node1,node2,node3)
+node1 = uiCreateNode('Node 1');
+leaf11 = uiCreateNode('leaf 1.1');
+leaf12 = uiCreateNode('leaf 1.2');
+treeNode1 = uiCreateTree(node1, leaf11, leaf12);
+
+node2 = uiCreateNode('Node 2');
+
+node3 = uiCreateNode('Node 3');
+leaf31 = uiCreateNode('leaf 3.1');
+leaf32 = uiCreateNode('leaf 3.2');
+treeNode3 = uiCreateTree(node3, leaf31, leaf32);
+
+root = uiCreateNode('Root');
+treeRoot = uiCreateTree(root, treeNode1, node2, treeNode3);
+
+// Display in the console:
 uiDumpTree(treeRoot)
  ]]></programlisting>
+    <screen><![CDATA[
+--> uiDumpTree(treeRoot)
+  |_./ Root
+  | |_./ Node 1
+  | | |_./ leaf 1.1
+  | | |_./ leaf 1.2
+  | |_./ Node 2
+  | |_./ Node 3
+  | | |_./ leaf 3.1
+  | | |_./ leaf 3.2
+]]></screen>
     </refsection>
     <refsection role="see also">
         <title>参照</title>
         <simplelist type="inline">
             <member>
-                <link linkend="uiCreateNode">uiCreateNode</link>
-            </member>
-            <member>
-                <link linkend="uiCreateTree">uiCreateTree</link>
-            </member>
-            <member>
                 <link linkend="uiDisplayTree">uiDisplayTree</link>
             </member>
             <member>
-                <link linkend="uiInsertNode">uiInsertNode</link>
-            </member>
-            <member>
-                <link linkend="uiDeleteNode">uiDeleteNode</link>
-            </member>
-            <member>
-                <link linkend="uiConcatTree">uiConcatTree</link>
-            </member>
-            <member>
-                <link linkend="uiEqualsTree">uiEqualsTree</link>
-            </member>
-            <member>
-                <link linkend="uiFindNode">uiFindNode</link>
+                <link linkend="tree_show">tree_show</link>
             </member>
             <member>
-                <link linkend="uiGetParentNode">uiGetParentNode</link>
+                <link linkend="xmlDump">xmlDump</link>
             </member>
             <member>
-                <link linkend="uiGetChildrenNode">uiGetChildrenNode</link>
+                <link linkend="prettyprint">prettyprint</link>
             </member>
             <member>
-                <link linkend="uiGetNodePosition">uiGetNodePosition</link>
+                <link linkend="editvar">editvar</link>
             </member>
         </simplelist>
     </refsection>
index 27d789e..99ac1d2 100644 (file)
@@ -1,7 +1,7 @@
 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 // Copyright (C) 2009 - DIGITEO - Sylvestre Koumar
-//
 // Copyright (C) 2012 - 2016 - Scilab Enterprises
+// Copyright (C) 2019 - Samuel GOUGEON
 //
 // This file is hereby licensed under the terms of the GNU GPL v2.0,
 // pursuant to article 5.3.4 of the CeCILL v.2.1.
@@ -17,56 +17,54 @@ function uiDumpTree(tree, b)
     //Input arguments checking
     if rhs <= 0 | rhs > 2 then
         error(msprintf(gettext("%s: Wrong number of input arguments: %d to %d expected.\n"), "uiDumpTree",1,2));
-        return;
     end
 
     // Check 1st input : tree
     if rhs >= 1 then
         if (typeof(tree) == "uitree") then
             myTree = tree;
-            myB = %F;
         else
             error(msprintf(gettext("%s: Wrong type for input argument #%d: uitree expected.\n"), "uiDumpTree",1));
-            return;
         end
         // Check 2nd input : b
+        myB = %F
         if rhs == 2 then
             if (type(b) == 4) then
-                myB = b;
+                myB = b(1);
             else
                 error(msprintf(gettext("%s: Wrong type for input argument #%d: Boolean expected.\n"), "uiDumpTree",2));
-                return;
             end
         end
     end
 
-    // Printing the tree
-    function prettyPrint(myTree, myB, indentation)
+    prettyPrint(myTree, myB, "  ");
 
-        mprintf(indentation);
-        mprintf("|_./ ");
-        mprintf(myTree(2).label + "\n");
+endfunction
+// ---------------------------------------------------------------------------
 
-        indentation = indentation + "| ";
+// Printing the tree
+function prettyPrint(myTree, myB, indentation)
 
-        if myB then
-            mprintf(indentation);
-            mprintf("`- " + myTree(2).icon + "\n");
-            mprintf(indentation);
-            mprintf("`- " + myTree(2).callback + "\n");
-        end
+    mprintf(indentation);
+    mprintf("|_./ ");
+    mprintf(uiProtectMprinf(myTree(2).label) + "\n");
 
-        for childIndex = 3:size(myTree)
-            prettyPrint(myTree(childIndex), myB, indentation);
-        end
+    indentation = indentation + "| ";
 
-    endfunction
+    if myB then
+        mprintf(indentation);
+        mprintf("`- " + uiProtectMprinf(myTree(2).icon) + "\n");
+        mprintf(indentation);
+        mprintf("`- " + uiProtectMprinf(myTree(2).callback) + "\n");
+    end
 
-    prettyPrint(myTree, myB, "");
+    for childIndex = 3:size(myTree)
+        prettyPrint(myTree(childIndex), myB, indentation);
+    end
 
 endfunction
 
-
-
-
-
+function r = uiProtectMprinf(x)
+    r = strsubst(x, "\", "\\")
+    r = strsubst(r, "%", "%%")
+endfunction
index 4ad9769..db96ba9 100644 (file)
@@ -2,18 +2,46 @@
 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 // Copyright (C) 2009 - DIGITEO - Sylvestre KOUMAR
 // Copyright (C) 2014 - Scilab Enterprises - Anais AUBERT
+// Copyright (C) 2019 - Samuel GOUGEON
 //
 //  This file is distributed under the same license as the Scilab package.
 // =============================================================================
-// <-- TEST WITH TREE -->
-// test to check the created node(Tree)
+// Unitary tests for uiCreateNode()
+// --------------------------------
 // node creation
-myNode = uiCreateNode("My Node");
-myNode = uiCreateNode("My Node", "icon of My Node");
-myNode = uiCreateNode("My Node", "icon of My Node", "callback of My Node");
-// wrong inputs
+myNode = uiCreateNode("My Node")
+ myNode  = 
+       myNode(1)
+  "uitree"
+       myNode(2)
+  label = "My Node"
+  icon = ""
+  callback = ""
+myNode = uiCreateNode("My Node", "icon of My Node")
+ myNode  = 
+       myNode(1)
+  "uitree"
+       myNode(2)
+  label = "My Node"
+  icon = "icon of My Node"
+  callback = ""
+myNode = uiCreateNode("My Node", "icon of My Node", "callback of My Node")
+ myNode  = 
+       myNode(1)
+  "uitree"
+       myNode(2)
+  label = "My Node"
+  icon = "icon of My Node"
+  callback = "callback of My Node"
+// Error messages for wrong inputs
+// -------------------------------
+// Wrong number of input arguments:
 refMsg =  msprintf(_("%s: Wrong number of input arguments: %d to %d expected.\n"), "uiCreateNode",1,3);
 assert_checkerror("myNode = uiCreateNode()", refMsg);
+refMsg =  msprintf(_("Wrong number of input arguments.\n"));
+assert_checkerror("myNode = uiCreateNode(''My Node'', ''icon of My Node'', ''callback of My Node'', ''test'')", refMsg);
+assert_checkerror("myNode = uiCreateNode(''My Node'', ''icon of My Node'', ''callback of My Node'', 123)", refMsg);
+// Wrong type of input arguments:
 refMsg = msprintf(_("%s: Wrong type for input argument #%d: String expected.\n"), "uiCreateNode",1);
 assert_checkerror("myNode = uiCreateNode(123)", refMsg);
 refMsg = msprintf(_("%s: Wrong type for input argument #%d: String expected.\n"), "uiCreateNode",1);
@@ -26,6 +54,3 @@ refMsg = msprintf(_("%s: Wrong type for input argument #%d: String expected.\n")
 assert_checkerror("myNode = uiCreateNode(''My Node'', 123, ''callback of My Node'')", refMsg);
 refMsg = msprintf(_("%s: Wrong type for input argument #%d: String expected.\n"), "uiCreateNode",3);
 assert_checkerror("myNode = uiCreateNode(''My Node'', ''callback of My Node'', 123)", refMsg);
-refMsg =  msprintf(_("Wrong number of input arguments.\n"));
-assert_checkerror("myNode = uiCreateNode(''My Node'', ''icon of My Node'', ''callback of My Node'', ''test'')", refMsg);
-assert_checkerror("myNode = uiCreateNode(''My Node'', ''icon of My Node'', ''callback of My Node'', 123)", refMsg);
index 3b99e55..b389cc6 100644 (file)
@@ -2,38 +2,40 @@
 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 // Copyright (C) 2009 - DIGITEO - Sylvestre KOUMAR
 // Copyright (C) 2014 - Scilab Enterprises - Anais AUBERT
+// Copyright (C) 2019 - Samuel GOUGEON
 //
 //  This file is distributed under the same license as the Scilab package.
 // =============================================================================
 
-// <-- TEST WITH TREE -->
-
-// test to check the created node(Tree)
+// Unitary tests for uiCreateNode()
+// --------------------------------
 
 // node creation
-myNode = uiCreateNode("My Node");
-myNode = uiCreateNode("My Node", "icon of My Node");
-myNode = uiCreateNode("My Node", "icon of My Node", "callback of My Node");
-
+myNode = uiCreateNode("My Node")
+myNode = uiCreateNode("My Node", "icon of My Node")
+myNode = uiCreateNode("My Node", "icon of My Node", "callback of My Node")
 
-// wrong inputs
 
+// Error messages for wrong inputs
+// -------------------------------
+// Wrong number of input arguments:
 refMsg =  msprintf(_("%s: Wrong number of input arguments: %d to %d expected.\n"), "uiCreateNode",1,3);
 assert_checkerror("myNode = uiCreateNode()", refMsg);
+refMsg =  msprintf(_("Wrong number of input arguments.\n"));
+assert_checkerror("myNode = uiCreateNode(''My Node'', ''icon of My Node'', ''callback of My Node'', ''test'')", refMsg);
+assert_checkerror("myNode = uiCreateNode(''My Node'', ''icon of My Node'', ''callback of My Node'', 123)", refMsg);
 
+
+// Wrong type of input arguments:
 refMsg = msprintf(_("%s: Wrong type for input argument #%d: String expected.\n"), "uiCreateNode",1);
 assert_checkerror("myNode = uiCreateNode(123)", refMsg);
 
-
-
 refMsg = msprintf(_("%s: Wrong type for input argument #%d: String expected.\n"), "uiCreateNode",1);
 assert_checkerror("myNode = uiCreateNode(123, ''icon of My Node'')", refMsg);
 
 refMsg = msprintf(_("%s: Wrong type for input argument #%d: String expected.\n"), "uiCreateNode",2);
 assert_checkerror("myNode = uiCreateNode(''My Node'', 123)", refMsg);
 
-
-
 refMsg = msprintf(_("%s: Wrong type for input argument #%d: String expected.\n"), "uiCreateNode",1);
 assert_checkerror("myNode = uiCreateNode(123, ''icon of My Node'', ''callback of My Node'')", refMsg);
 
@@ -42,10 +44,3 @@ assert_checkerror("myNode = uiCreateNode(''My Node'', 123, ''callback of My Node
 
 refMsg = msprintf(_("%s: Wrong type for input argument #%d: String expected.\n"), "uiCreateNode",3);
 assert_checkerror("myNode = uiCreateNode(''My Node'', ''callback of My Node'', 123)", refMsg);
-
-
-
-refMsg =  msprintf(_("Wrong number of input arguments.\n"));
-assert_checkerror("myNode = uiCreateNode(''My Node'', ''icon of My Node'', ''callback of My Node'', ''test'')", refMsg);
-assert_checkerror("myNode = uiCreateNode(''My Node'', ''icon of My Node'', ''callback of My Node'', 123)", refMsg);
-
index e447adc..36b5db7 100644 (file)
@@ -1,11 +1,12 @@
 // =============================================================================
 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 // Copyright (C) 2009 - DIGITEO - Sylvestre KOUMAR
+// Copyright (C) 2019 - Samuel GOUGEON
 //
 //  This file is distributed under the same license as the Scilab package.
 // =============================================================================
-// <-- TEST WITH TREE -->
-// test to check the created tree
+// Unitary tests for uiCreateTree()
+// ================================
 // node creation
 leaf11 = uiCreateNode("leaf 1.1", "iconLeaf1.1", "callbackLeaf1.1");
 leaf12 = uiCreateNode("leaf 1.2", "iconLeaf1.2", "callbackLeaf1.2");
@@ -15,29 +16,70 @@ node1 = uiCreateNode("Node 1", "iconNode1", "callbackNode1");
 node2 = uiCreateNode("Node 2", "iconNode2", "callbackNode2");
 node3 = uiCreateNode("Node 3", "iconNode3", "callbackNode3");
 root = uiCreateNode("Root", "iconRoot", "callbackRoot");
-// node creation with errors
-refMsg =  msprintf(_("%s: Wrong number of input arguments: %d to %d expected.\n"), "uiCreateNode",1,3);
-assert_checkerror("myErrorNode1 = uiCreateNode()", refMsg);
-refMsg = msprintf(_("%s: Wrong type for input argument #%d: String expected.\n"), "uiCreateNode",1);
-assert_checkerror("myErrorNode2 = uiCreateNode(123)", refMsg);
-refMsg = msprintf(_("%s: Wrong type for input argument #%d: String expected.\n"), "uiCreateNode",1);
-assert_checkerror("myErrorNode3 = uiCreateNode(123, ''icon of My Node'')", refMsg);
-refMsg = msprintf(_("%s: Wrong type for input argument #%d: String expected.\n"), "uiCreateNode",2);
-assert_checkerror("myErrorNode4 = uiCreateNode(''My Node'', 123)", refMsg);
-refMsg = msprintf(_("%s: Wrong type for input argument #%d: String expected.\n"), "uiCreateNode",1);
-assert_checkerror("myErrorNode5 = uiCreateNode(123, ''icon of My Node'', ''callback of My Node'')", refMsg);
-refMsg = msprintf(_("%s: Wrong type for input argument #%d: String expected.\n"), "uiCreateNode",2);
-assert_checkerror("myErrorNode6 = uiCreateNode(''My Node'', 123, ''callback of My Node'')", refMsg);
-refMsg = msprintf(_("%s: Wrong type for input argument #%d: String expected.\n"), "uiCreateNode",3);
-assert_checkerror("myErrorNode7 = uiCreateNode(''My Node'', ''callback of My Node'', 123)", refMsg);
-refMsg =  msprintf(_("Wrong number of input arguments.\n"));
-assert_checkerror("myErrorNode8 = uiCreateNode(''My Node'', ''icon of My Node'', ''callback of My Node'', ''test'')", refMsg);
-assert_checkerror("myErrorNode9 = uiCreateNode(''My Node'', ''icon of My Node'', ''callback of My Node'', 123)", refMsg);
-// tree creation
-treeOnlyNode1 = uiCreateTree(node1);
-treeNode1 = uiCreateTree(node1, leaf11,leaf12);
-treeNode3 = uiCreateTree(node3, leaf31,leaf32);
-treeRoot = uiCreateTree(root, node1,node2,node3);
+// Tree creation
+// --------------
+treeOnlyNode1 = uiCreateTree(node1)
+ treeOnlyNode1  = 
+       treeOnlyNode1(1)
+  "uitree"
+       treeOnlyNode1(2)
+  label = "Node 1"
+  icon = "iconNode1"
+  callback = "callbackNode1"
+treeNode1 = uiCreateTree(node1, leaf11, leaf12)
+ treeNode1  = 
+       treeNode1(1)
+  "uitree"
+       treeNode1(2)
+  label = "Node 1"
+  icon = "iconNode1"
+  callback = "callbackNode1"
+       treeNode1(3)
+              treeNode1(3)(1)
+  "uitree"
+              treeNode1(3)(2)
+  label = "leaf 1.1"
+  icon = "iconLeaf1.1"
+  callback = "callbackLeaf1.1"
+       treeNode1(4)
+              treeNode1(4)(1)
+  "uitree"
+              treeNode1(4)(2)
+  label = "leaf 1.2"
+  icon = "iconLeaf1.2"
+  callback = "callbackLeaf1.2"
+treeNode3 = uiCreateTree(node3, leaf31, leaf32);
+treeRoot = uiCreateTree(root, node1, node2, node3)
+ treeRoot  = 
+       treeRoot(1)
+  "uitree"
+       treeRoot(2)
+  label = "Root"
+  icon = "iconRoot"
+  callback = "callbackRoot"
+       treeRoot(3)
+              treeRoot(3)(1)
+  "uitree"
+              treeRoot(3)(2)
+  label = "Node 1"
+  icon = "iconNode1"
+  callback = "callbackNode1"
+       treeRoot(4)
+              treeRoot(4)(1)
+  "uitree"
+              treeRoot(4)(2)
+  label = "Node 2"
+  icon = "iconNode2"
+  callback = "callbackNode2"
+       treeRoot(5)
+              treeRoot(5)(1)
+  "uitree"
+              treeRoot(5)(2)
+  label = "Node 3"
+  icon = "iconNode3"
+  callback = "callbackNode3"
+// Erros messages
+// --------------
 // tree creation with wrong inputs
 refMsg = msprintf(_("%s: Wrong number of input argument(s): At least %d expected.\n"), "uiCreateTree",1);
 assert_checkerror("myTree = uiCreateTree()", refMsg);
index 05d6264..7f72b8e 100644 (file)
@@ -1,13 +1,13 @@
 // =============================================================================
 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 // Copyright (C) 2009 - DIGITEO - Sylvestre KOUMAR
+// Copyright (C) 2019 - Samuel GOUGEON
 //
 //  This file is distributed under the same license as the Scilab package.
 // =============================================================================
 
-// <-- TEST WITH TREE -->
-
-// test to check the created tree
+// Unitary tests for uiCreateTree()
+// ================================
 
 // node creation
 leaf11 = uiCreateNode("leaf 1.1", "iconLeaf1.1", "callbackLeaf1.1");
@@ -19,44 +19,15 @@ node2 = uiCreateNode("Node 2", "iconNode2", "callbackNode2");
 node3 = uiCreateNode("Node 3", "iconNode3", "callbackNode3");
 root = uiCreateNode("Root", "iconRoot", "callbackRoot");
 
-// node creation with errors
-refMsg =  msprintf(_("%s: Wrong number of input arguments: %d to %d expected.\n"), "uiCreateNode",1,3);
-assert_checkerror("myErrorNode1 = uiCreateNode()", refMsg);
-
-refMsg = msprintf(_("%s: Wrong type for input argument #%d: String expected.\n"), "uiCreateNode",1);
-assert_checkerror("myErrorNode2 = uiCreateNode(123)", refMsg);
-
-
-refMsg = msprintf(_("%s: Wrong type for input argument #%d: String expected.\n"), "uiCreateNode",1);
-assert_checkerror("myErrorNode3 = uiCreateNode(123, ''icon of My Node'')", refMsg);
-
-refMsg = msprintf(_("%s: Wrong type for input argument #%d: String expected.\n"), "uiCreateNode",2);
-assert_checkerror("myErrorNode4 = uiCreateNode(''My Node'', 123)", refMsg);
-
-
-refMsg = msprintf(_("%s: Wrong type for input argument #%d: String expected.\n"), "uiCreateNode",1);
-assert_checkerror("myErrorNode5 = uiCreateNode(123, ''icon of My Node'', ''callback of My Node'')", refMsg);
-
-refMsg = msprintf(_("%s: Wrong type for input argument #%d: String expected.\n"), "uiCreateNode",2);
-assert_checkerror("myErrorNode6 = uiCreateNode(''My Node'', 123, ''callback of My Node'')", refMsg);
-
-refMsg = msprintf(_("%s: Wrong type for input argument #%d: String expected.\n"), "uiCreateNode",3);
-assert_checkerror("myErrorNode7 = uiCreateNode(''My Node'', ''callback of My Node'', 123)", refMsg);
-
-refMsg =  msprintf(_("Wrong number of input arguments.\n"));
-assert_checkerror("myErrorNode8 = uiCreateNode(''My Node'', ''icon of My Node'', ''callback of My Node'', ''test'')", refMsg);
-assert_checkerror("myErrorNode9 = uiCreateNode(''My Node'', ''icon of My Node'', ''callback of My Node'', 123)", refMsg);
-
-
-
-
-// tree creation
-treeOnlyNode1 = uiCreateTree(node1);
-
-treeNode1 = uiCreateTree(node1, leaf11,leaf12);
-treeNode3 = uiCreateTree(node3, leaf31,leaf32);
-treeRoot = uiCreateTree(root, node1,node2,node3);
+// Tree creation
+// --------------
+treeOnlyNode1 = uiCreateTree(node1)
+treeNode1 = uiCreateTree(node1, leaf11, leaf12)
+treeNode3 = uiCreateTree(node3, leaf31, leaf32);
+treeRoot = uiCreateTree(root, node1, node2, node3)
 
+// Erros messages
+// --------------
 // tree creation with wrong inputs
 refMsg = msprintf(_("%s: Wrong number of input argument(s): At least %d expected.\n"), "uiCreateTree",1);
 assert_checkerror("myTree = uiCreateTree()", refMsg);
index 1f48e89..c9420e4 100644 (file)
 // =============================================================================
 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 // Copyright (C) 2009 - DIGITEO - Sylvestre KOUMAR
+// Copyright (C) 2019 - Samuel GOUGEON
 //
 //  This file is distributed under the same license as the Scilab package.
 // =============================================================================
-// <-- TEST WITH TREE -->
-lines(0)
-// test to check the dumped tree
-// tree dumping error test
-refMsg = msprintf(_("%s: Wrong number of input arguments: %d to %d expected.\n"), "uiDumpTree",1,2);
-assert_checkerror("uiDumpTree()", refMsg);
-refMsg = msprintf(_("%s: Wrong type for input argument #%d: uitree expected.\n"), "uiDumpTree",1);
-assert_checkerror("uiDumpTree(123)", refMsg);
-assert_checkerror("uiDumpTree(123, 123)", refMsg);
-assert_checkerror("uiDumpTree(123, %F)", refMsg);
-assert_checkerror("uiDumpTree(123, %T)", refMsg);
-refMsg = msprintf(_("Wrong number of input arguments.\n"));
-assert_checkerror("uiDumpTree(123, 123, 123)", refMsg);
-// node creation
+// Unitary tests for uiDumpTree()
+// ==============================
+// DISPLAY
+// -------
+// Leaves, nodes, branches and tree creation
+node1 = uiCreateNode("Node 1", "iconNode1", "callbackNode1");
 leaf11 = uiCreateNode("leaf 1.1", "iconLeaf1.1", "callbackLeaf1.1");
 leaf12 = uiCreateNode("leaf 1.2", "iconLeaf1.2", "callbackLeaf1.2");
-leaf31 = uiCreateNode("leaf 3.1", "iconLeaf3.1", "callbackLeaf3.1");
-leaf32 = uiCreateNode("leaf 3.2", "iconLeaf3.2", "callbackLeaf3.2");
-node1 = uiCreateNode("Node 1", "iconNode1", "callbackNode1");
+treeNode1 = uiCreateTree(node1, leaf11, leaf12);
 node2 = uiCreateNode("Node 2", "iconNode2", "callbackNode2");
 node3 = uiCreateNode("Node 3", "iconNode3", "callbackNode3");
+leaf31 = uiCreateNode("leaf 3.1", "iconLeaf3.1", "callbackLeaf3.1");
+leaf32 = uiCreateNode("leaf 3.2", "iconLeaf3.2", "callbackLeaf3.2");
+treeNode3 = uiCreateTree(node3, leaf31, leaf32);
 root = uiCreateNode("Root", "iconRoot", "callbackRoot");
-// right inputs
+treeRoot = uiCreateTree(root, treeNode1, node2, treeNode3);
+// Dumping leaves
 uiDumpTree(leaf11);
-|_./ leaf 1.1
-uiDumpTree(leaf11,%F);
-|_./ leaf 1.1
-uiDumpTree(leaf11,%T);
-|_./ leaf 1.1
-| `- iconLeaf1.1
-| `- callbackLeaf1.1
-// wrong inputs
-refMsg = msprintf(_("%s: Wrong type for input argument #%d: Boolean expected.\n"), "uiDumpTree",2);
-assert_checkerror("uiDumpTree(leaf11,123)", refMsg);
-// node creation with errors
-refMsg = msprintf(_("%s: Wrong number of input arguments: %d to %d expected.\n"), "uiCreateNode",1,3);
-assert_checkerror("myErrorNode1 = uiCreateNode()", refMsg);
-// right inputs
-refMsg = msprintf(_("Undefined variable: %s\n"), "myErrorNode1");
-assert_checkerror("uiDumpTree(myErrorNode1)", refMsg);
-assert_checkerror("uiDumpTree(myErrorNode1, %F)", refMsg);
-assert_checkerror("uiDumpTree(myErrorNode1, %T)", refMsg);
-//wrong
-assert_checkerror("uiDumpTree(myErrorNode1, 123)", refMsg);
-refMsg = msprintf(_("%s: Wrong type for input argument #%d: String expected.\n"), "uiCreateNode",1);
-assert_checkerror("myErrorNode2 = uiCreateNode(123)", refMsg);
-assert_checkerror("myErrorNode3 = uiCreateNode(123, ''icon of My Node'')", refMsg);
-// right inputs
-refMsg = msprintf(_("%s: Wrong type for input argument #%d: String expected.\n"), "uiCreateNode",2);
-assert_checkerror("myErrorNode4 = uiCreateNode(''My Node'', 123)", refMsg);
-refMsg = msprintf(gettext("%s: Wrong type for input argument #%d: String expected.\n"), "uiCreateNode",1);
-assert_checkerror("myErrorNode5 = uiCreateNode(123, ''icon of My Node'', ''callback of My Node'')", refMsg);
-refMsg = msprintf(gettext("%s: Wrong type for input argument #%d: String expected.\n"), "uiCreateNode",2);
-assert_checkerror("myErrorNode6 = uiCreateNode(''My Node'', 123, ''callback of My Node'')", refMsg);
-refMsg = msprintf(gettext("%s: Wrong type for input argument #%d: String expected.\n"), "uiCreateNode",3);
-assert_checkerror("myErrorNode6 = uiCreateNode(''My Node'', ''icon of My Node'', 123)", refMsg);
-refMsg = msprintf(_("Wrong number of input arguments.\n"));
-assert_checkerror("myErrorNode8 = uiCreateNode(''My Node'', ''icon of My Node'', ''callback of My Node'', ''test'')", refMsg);
-assert_checkerror("myErrorNode9 = uiCreateNode(''My Node'', ''icon of My Node'', ''callback of My Node'', 123)", refMsg);
-// tree creation
+  |_./ leaf 1.1
+uiDumpTree(leaf11, %F);
+  |_./ leaf 1.1
+uiDumpTree(leaf11, %T);
+  |_./ leaf 1.1
+  | `- iconLeaf1.1
+  | `- callbackLeaf1.1
+// Dumping a single naked node
 treeOnlyNode1 = uiCreateTree(node1);
-// right inputs
 uiDumpTree(treeOnlyNode1);
-|_./ Node 1
+  |_./ Node 1
 uiDumpTree(treeOnlyNode1,%F);
-|_./ Node 1
+  |_./ Node 1
 uiDumpTree(treeOnlyNode1,%T);
-|_./ Node 1
-| `- iconNode1
-| `- callbackNode1
-// wrong inputs
-refMsg = msprintf(_("%s: Wrong type for input argument #%d: Boolean expected.\n"), "uiDumpTree",2);
-assert_checkerror("uiDumpTree(treeOnlyNode1,123)", refMsg);
-treeNode1 = uiCreateTree(node1, leaf11,leaf12);
-treeNode3 = uiCreateTree(node3, leaf31,leaf32);
-treeRoot = uiCreateTree(root, node1,node2,node3);
-// right inputs
+  |_./ Node 1
+  | `- iconNode1
+  | `- callbackNode1
+// Dumping a single node with leaves
+uiDumpTree(treeNode1);
+  |_./ Node 1
+  | |_./ leaf 1.1
+  | |_./ leaf 1.2
+uiDumpTree(treeNode1, %F);
+  |_./ Node 1
+  | |_./ leaf 1.1
+  | |_./ leaf 1.2
+uiDumpTree(treeNode1, %T);
+  |_./ Node 1
+  | `- iconNode1
+  | `- callbackNode1
+  | |_./ leaf 1.1
+  | | `- iconLeaf1.1
+  | | `- callbackLeaf1.1
+  | |_./ leaf 1.2
+  | | `- iconLeaf1.2
+  | | `- callbackLeaf1.2
+// Dumping the whole tree
 uiDumpTree(treeRoot);
-|_./ Root
-| |_./ Node 1
-| |_./ Node 2
-| |_./ Node 3
+  |_./ Root
+  | |_./ Node 1
+  | | |_./ leaf 1.1
+  | | |_./ leaf 1.2
+  | |_./ Node 2
+  | |_./ Node 3
+  | | |_./ leaf 3.1
+  | | |_./ leaf 3.2
 uiDumpTree(treeRoot,%F);
-|_./ Root
-| |_./ Node 1
-| |_./ Node 2
-| |_./ Node 3
+  |_./ Root
+  | |_./ Node 1
+  | | |_./ leaf 1.1
+  | | |_./ leaf 1.2
+  | |_./ Node 2
+  | |_./ Node 3
+  | | |_./ leaf 3.1
+  | | |_./ leaf 3.2
 uiDumpTree(treeRoot,%T);
-|_./ Root
-| `- iconRoot
-| `- callbackRoot
-| |_./ Node 1
-| | `- iconNode1
-| | `- callbackNode1
-| |_./ Node 2
-| | `- iconNode2
-| | `- callbackNode2
-| |_./ Node 3
-| | `- iconNode3
-| | `- callbackNode3
-// wrong inputs
-refMsg = msprintf(_("%s: Wrong type for input argument #%d: Boolean expected.\n"), "uiDumpTree",2);
-assert_checkerror("uiDumpTree(treeRoot,123)", refMsg);
-// tree creation with wrong inputs
-refMsg = msprintf(_("%s: Wrong number of input argument(s): At least %d expected.\n"), "uiCreateTree",1);
-assert_checkerror("uiCreateTree()", refMsg);
-// right inputs
+  |_./ Root
+  | `- iconRoot
+  | `- callbackRoot
+  | |_./ Node 1
+  | | `- iconNode1
+  | | `- callbackNode1
+  | | |_./ leaf 1.1
+  | | | `- iconLeaf1.1
+  | | | `- callbackLeaf1.1
+  | | |_./ leaf 1.2
+  | | | `- iconLeaf1.2
+  | | | `- callbackLeaf1.2
+  | |_./ Node 2
+  | | `- iconNode2
+  | | `- callbackNode2
+  | |_./ Node 3
+  | | `- iconNode3
+  | | `- callbackNode3
+  | | |_./ leaf 3.1
+  | | | `- iconLeaf3.1
+  | | | `- callbackLeaf3.1
+  | | |_./ leaf 3.2
+  | | | `- iconLeaf3.2
+  | | | `- callbackLeaf3.2
+// % "\n" "\r" "\t" in contents (http://bugzilla.scilab.org/16129)
+// ----------------------------
+node1 = uiCreateNode("c:\nine %", "c:\nine\ic%on", "\nine\callback%d");
+leaf11 = uiCreateNode("c:\ni#ne\return", "c:\nine\return\icon", "c:\nine\return\callback");
+leaf12 = uiCreateNode("c:\nine\tabs", "c:\nine\tabs\icon", "c:\nine\tabs\callback");
+treeNode1 = uiCreateTree(node1, leaf11, leaf12);
+root = uiCreateNode("\root", "\root\icon", "\root\callback");
+treeRoot = uiCreateTree(root, treeNode1, node1, treeNode1);
+uiDumpTree(treeRoot, %F);
+  |_./ \root
+  | |_./ c:\nine %
+  | | |_./ c:\ni#ne\return
+  | | |_./ c:\nine\tabs
+  | |_./ c:\nine %
+  | |_./ c:\nine %
+  | | |_./ c:\ni#ne\return
+  | | |_./ c:\nine\tabs
+uiDumpTree(treeRoot, %T);
+  |_./ \root
+  | `- \root\icon
+  | `- \root\callback
+  | |_./ c:\nine %
+  | | `- c:\nine\ic%on
+  | | `- \nine\callback%d
+  | | |_./ c:\ni#ne\return
+  | | | `- c:\nine\return\icon
+  | | | `- c:\nine\return\callback
+  | | |_./ c:\nine\tabs
+  | | | `- c:\nine\tabs\icon
+  | | | `- c:\nine\tabs\callback
+  | |_./ c:\nine %
+  | | `- c:\nine\ic%on
+  | | `- \nine\callback%d
+  | |_./ c:\nine %
+  | | `- c:\nine\ic%on
+  | | `- \nine\callback%d
+  | | |_./ c:\ni#ne\return
+  | | | `- c:\nine\return\icon
+  | | | `- c:\nine\return\callback
+  | | |_./ c:\nine\tabs
+  | | | `- c:\nine\tabs\icon
+  | | | `- c:\nine\tabs\callback
+// Errors messages
+// ---------------
+// Undefined input
 refMsg = msprintf(_("Undefined variable: %s\n"), "myTree");
 assert_checkerror("uiDumpTree(myTree)", refMsg);
 assert_checkerror("uiDumpTree(myTree, %F)", refMsg);
 assert_checkerror("uiDumpTree(myTree, %T)", refMsg);
 assert_checkerror("uiDumpTree(myTree, 123)", refMsg);
-refMsg = msprintf(_("%s: Wrong type for input argument #%d: uitree expected.\n"), "uiCreateTree",1);
-assert_checkerror("myTree = uiCreateTree(123)", refMsg);
-refMsg = msprintf(_("%s: Wrong type for element %d of input argument #%d: uitree expected.\n"), "uiCreateTree", 3, 2);
-assert_checkerror("myTree = uiCreateTree(root, node1, node2, 123)", refMsg);
-// tree creation with invalid nodes
-refMsg = msprintf(_("Undefined variable: %s\n"), "myErrorNode1");
-assert_checkerror("uiDumpTree(myErrorNode1)", refMsg);
-assert_checkerror("myTree = uiCreateTree(myErrorNode1, node1, node2, 123)", refMsg);
-assert_checkerror("myTree = uiCreateTree(root, myErrorNode1,node2,node3)", refMsg);
-assert_checkerror("myTree = uiCreateTree(root, node1,myErrorNode1,node3)", refMsg);
-assert_checkerror("myTree = uiCreateTree(root, node1,node2,myErrorNode1)", refMsg);
+// Wrong number of input arguments
+refMsg = msprintf(_("%s: Wrong number of input arguments: %d to %d expected.\n"), "uiDumpTree",1,2);
+assert_checkerror("uiDumpTree()", refMsg);
+refMsg = msprintf(_("Wrong number of input arguments.\n"));
+assert_checkerror("uiDumpTree(123, 123, 123)", refMsg);
+// Wrong type of input argument
+refMsg = msprintf(_("%s: Wrong type for input argument #%d: uitree expected.\n"), "uiDumpTree",1);
+assert_checkerror("uiDumpTree(123)", refMsg);
+assert_checkerror("uiDumpTree(123, 123)", refMsg);
+assert_checkerror("uiDumpTree(123, %F)", refMsg);
+assert_checkerror("uiDumpTree(123, %T)", refMsg);
+refMsg = msprintf(_("%s: Wrong type for input argument #%d: Boolean expected.\n"), "uiDumpTree",2);
+assert_checkerror("uiDumpTree(treeRoot,123)", refMsg);
index d689047..7aabf30 100644 (file)
 // =============================================================================
 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 // Copyright (C) 2009 - DIGITEO - Sylvestre KOUMAR
+// Copyright (C) 2019 - Samuel GOUGEON
 //
 //  This file is distributed under the same license as the Scilab package.
 // =============================================================================
 
-// <-- TEST WITH TREE -->
+// Unitary tests for uiDumpTree()
+// ==============================
 
-lines(0)
-
-// test to check the dumped tree
-
-// tree dumping error test
-refMsg = msprintf(_("%s: Wrong number of input arguments: %d to %d expected.\n"), "uiDumpTree",1,2);
-assert_checkerror("uiDumpTree()", refMsg);
-
-refMsg = msprintf(_("%s: Wrong type for input argument #%d: uitree expected.\n"), "uiDumpTree",1);
-assert_checkerror("uiDumpTree(123)", refMsg);
-assert_checkerror("uiDumpTree(123, 123)", refMsg);
-assert_checkerror("uiDumpTree(123, %F)", refMsg);
-assert_checkerror("uiDumpTree(123, %T)", refMsg);
-
-refMsg = msprintf(_("Wrong number of input arguments.\n"));
-assert_checkerror("uiDumpTree(123, 123, 123)", refMsg);
-
-// node creation
+// DISPLAY
+// -------
+// Leaves, nodes, branches and tree creation
+node1 = uiCreateNode("Node 1", "iconNode1", "callbackNode1");
 leaf11 = uiCreateNode("leaf 1.1", "iconLeaf1.1", "callbackLeaf1.1");
 leaf12 = uiCreateNode("leaf 1.2", "iconLeaf1.2", "callbackLeaf1.2");
-leaf31 = uiCreateNode("leaf 3.1", "iconLeaf3.1", "callbackLeaf3.1");
-leaf32 = uiCreateNode("leaf 3.2", "iconLeaf3.2", "callbackLeaf3.2");
-node1 = uiCreateNode("Node 1", "iconNode1", "callbackNode1");
+treeNode1 = uiCreateTree(node1, leaf11, leaf12);
+
 node2 = uiCreateNode("Node 2", "iconNode2", "callbackNode2");
+
 node3 = uiCreateNode("Node 3", "iconNode3", "callbackNode3");
+leaf31 = uiCreateNode("leaf 3.1", "iconLeaf3.1", "callbackLeaf3.1");
+leaf32 = uiCreateNode("leaf 3.2", "iconLeaf3.2", "callbackLeaf3.2");
+treeNode3 = uiCreateTree(node3, leaf31, leaf32);
+
 root = uiCreateNode("Root", "iconRoot", "callbackRoot");
+treeRoot = uiCreateTree(root, treeNode1, node2, treeNode3);
 
-// right inputs
+// Dumping leaves
 uiDumpTree(leaf11);
-uiDumpTree(leaf11,%F);
-uiDumpTree(leaf11,%T);
-
-// wrong inputs
-refMsg = msprintf(_("%s: Wrong type for input argument #%d: Boolean expected.\n"), "uiDumpTree",2);
-assert_checkerror("uiDumpTree(leaf11,123)", refMsg);
-
-
-// node creation with errors
-refMsg = msprintf(_("%s: Wrong number of input arguments: %d to %d expected.\n"), "uiCreateNode",1,3);
-assert_checkerror("myErrorNode1 = uiCreateNode()", refMsg);
-
-// right inputs
-refMsg = msprintf(_("Undefined variable: %s\n"), "myErrorNode1");
-assert_checkerror("uiDumpTree(myErrorNode1)", refMsg);
-assert_checkerror("uiDumpTree(myErrorNode1, %F)", refMsg);
-assert_checkerror("uiDumpTree(myErrorNode1, %T)", refMsg);
-//wrong
-assert_checkerror("uiDumpTree(myErrorNode1, 123)", refMsg);
-
-refMsg = msprintf(_("%s: Wrong type for input argument #%d: String expected.\n"), "uiCreateNode",1);
-assert_checkerror("myErrorNode2 = uiCreateNode(123)", refMsg);
-assert_checkerror("myErrorNode3 = uiCreateNode(123, ''icon of My Node'')", refMsg);
+uiDumpTree(leaf11, %F);
+uiDumpTree(leaf11, %T);
 
-// right inputs
-refMsg = msprintf(_("%s: Wrong type for input argument #%d: String expected.\n"), "uiCreateNode",2);
-assert_checkerror("myErrorNode4 = uiCreateNode(''My Node'', 123)", refMsg);
-
-refMsg = msprintf(gettext("%s: Wrong type for input argument #%d: String expected.\n"), "uiCreateNode",1);
-assert_checkerror("myErrorNode5 = uiCreateNode(123, ''icon of My Node'', ''callback of My Node'')", refMsg);
-
-refMsg = msprintf(gettext("%s: Wrong type for input argument #%d: String expected.\n"), "uiCreateNode",2);
-assert_checkerror("myErrorNode6 = uiCreateNode(''My Node'', 123, ''callback of My Node'')", refMsg);
-
-refMsg = msprintf(gettext("%s: Wrong type for input argument #%d: String expected.\n"), "uiCreateNode",3);
-assert_checkerror("myErrorNode6 = uiCreateNode(''My Node'', ''icon of My Node'', 123)", refMsg);
-
-refMsg = msprintf(_("Wrong number of input arguments.\n"));
-assert_checkerror("myErrorNode8 = uiCreateNode(''My Node'', ''icon of My Node'', ''callback of My Node'', ''test'')", refMsg);
-assert_checkerror("myErrorNode9 = uiCreateNode(''My Node'', ''icon of My Node'', ''callback of My Node'', 123)", refMsg);
-
-
-// tree creation
+// Dumping a single naked node
 treeOnlyNode1 = uiCreateTree(node1);
-
-// right inputs
 uiDumpTree(treeOnlyNode1);
 uiDumpTree(treeOnlyNode1,%F);
 uiDumpTree(treeOnlyNode1,%T);
 
-// wrong inputs
-refMsg = msprintf(_("%s: Wrong type for input argument #%d: Boolean expected.\n"), "uiDumpTree",2);
-assert_checkerror("uiDumpTree(treeOnlyNode1,123)", refMsg);
-
-treeNode1 = uiCreateTree(node1, leaf11,leaf12);
-treeNode3 = uiCreateTree(node3, leaf31,leaf32);
-treeRoot = uiCreateTree(root, node1,node2,node3);
+// Dumping a single node with leaves
+uiDumpTree(treeNode1);
+uiDumpTree(treeNode1, %F);
+uiDumpTree(treeNode1, %T);
 
-// right inputs
+// Dumping the whole tree
 uiDumpTree(treeRoot);
 uiDumpTree(treeRoot,%F);
 uiDumpTree(treeRoot,%T);
 
-// wrong inputs
-refMsg = msprintf(_("%s: Wrong type for input argument #%d: Boolean expected.\n"), "uiDumpTree",2);
-assert_checkerror("uiDumpTree(treeRoot,123)", refMsg);
 
-// tree creation with wrong inputs
-refMsg = msprintf(_("%s: Wrong number of input argument(s): At least %d expected.\n"), "uiCreateTree",1);
-assert_checkerror("uiCreateTree()", refMsg);
+// % "\n" "\r" "\t" in contents (http://bugzilla.scilab.org/16129)
+// ----------------------------
+node1 = uiCreateNode("c:\nine %", "c:\nine\ic%on", "\nine\callback%d");
+leaf11 = uiCreateNode("c:\ni#ne\return", "c:\nine\return\icon", "c:\nine\return\callback");
+leaf12 = uiCreateNode("c:\nine\tabs", "c:\nine\tabs\icon", "c:\nine\tabs\callback");
+treeNode1 = uiCreateTree(node1, leaf11, leaf12);
+root = uiCreateNode("\root", "\root\icon", "\root\callback");
+treeRoot = uiCreateTree(root, treeNode1, node1, treeNode1);
+uiDumpTree(treeRoot, %F);
+uiDumpTree(treeRoot, %T);
 
-// right inputs
+
+// Errors messages
+// ---------------
+// Undefined input
 refMsg = msprintf(_("Undefined variable: %s\n"), "myTree");
 assert_checkerror("uiDumpTree(myTree)", refMsg);
 assert_checkerror("uiDumpTree(myTree, %F)", refMsg);
 assert_checkerror("uiDumpTree(myTree, %T)", refMsg);
 assert_checkerror("uiDumpTree(myTree, 123)", refMsg);
 
-refMsg = msprintf(_("%s: Wrong type for input argument #%d: uitree expected.\n"), "uiCreateTree",1);
-assert_checkerror("myTree = uiCreateTree(123)", refMsg);
-
-
-refMsg = msprintf(_("%s: Wrong type for element %d of input argument #%d: uitree expected.\n"), "uiCreateTree", 3, 2);
-assert_checkerror("myTree = uiCreateTree(root, node1, node2, 123)", refMsg);
-
-// tree creation with invalid nodes
-refMsg = msprintf(_("Undefined variable: %s\n"), "myErrorNode1");
-assert_checkerror("uiDumpTree(myErrorNode1)", refMsg);
-assert_checkerror("myTree = uiCreateTree(myErrorNode1, node1, node2, 123)", refMsg);
-assert_checkerror("myTree = uiCreateTree(root, myErrorNode1,node2,node3)", refMsg);
-assert_checkerror("myTree = uiCreateTree(root, node1,myErrorNode1,node3)", refMsg);
-assert_checkerror("myTree = uiCreateTree(root, node1,node2,myErrorNode1)", refMsg);
-
-
+// Wrong number of input arguments
+refMsg = msprintf(_("%s: Wrong number of input arguments: %d to %d expected.\n"), "uiDumpTree",1,2);
+assert_checkerror("uiDumpTree()", refMsg);
 
+refMsg = msprintf(_("Wrong number of input arguments.\n"));
+assert_checkerror("uiDumpTree(123, 123, 123)", refMsg);
 
+// Wrong type of input argument
+refMsg = msprintf(_("%s: Wrong type for input argument #%d: uitree expected.\n"), "uiDumpTree",1);
+assert_checkerror("uiDumpTree(123)", refMsg);
+assert_checkerror("uiDumpTree(123, 123)", refMsg);
+assert_checkerror("uiDumpTree(123, %F)", refMsg);
+assert_checkerror("uiDumpTree(123, %T)", refMsg);
 
+refMsg = msprintf(_("%s: Wrong type for input argument #%d: Boolean expected.\n"), "uiDumpTree",2);
+assert_checkerror("uiDumpTree(treeRoot,123)", refMsg);