* Bug #12150 fixed - datatipCreate failed with one single point. 42/11442/2
Charlotte HECQUET [Fri, 3 May 2013 08:16:32 +0000 (10:16 +0200)]
Change-Id: I42a1a4ff92e42850e8de39fe53b7cfe4a91d71b2

scilab/CHANGES_5.5.X
scilab/modules/graphics/macros/datatips/datatipSetTipPosition.sci
scilab/modules/graphics/tests/nonreg_tests/bug_12150.dia.ref [new file with mode: 0644]
scilab/modules/graphics/tests/nonreg_tests/bug_12150.tst [new file with mode: 0644]

index 728cffa..4993789 100644 (file)
@@ -158,6 +158,8 @@ Bug fixes
 
 * Bug #12045 fixed - repmat returned wrong result if numbers of input matrix were not double.
 
+* Bug #12150 fixed - datatipCreate failed with one single point.
+
 * Bug #12163 fixed - unzoom did not work with a single input argument.
 
 * Bug #12415 fixed - PATH environment variable grew when using call_scilab in a loop.
index 250437c..54d6f02 100644 (file)
@@ -16,7 +16,7 @@ function datatipSetTipPosition(ud,tip_handle,pt,k)
   [curve_handle,point_index]=tip_refs(:)
   formatfunction=ud.formatfunction
 
-  if ud.style==0 then
+  if ud.style==0 | size(curve_handle.data,1) == 1 then
     point_handle.data=pt
   else
     if k<size(curve_handle.data,1)
diff --git a/scilab/modules/graphics/tests/nonreg_tests/bug_12150.dia.ref b/scilab/modules/graphics/tests/nonreg_tests/bug_12150.dia.ref
new file mode 100644 (file)
index 0000000..3f42282
--- /dev/null
@@ -0,0 +1,24 @@
+// =============================================================================
+// 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.
+// =============================================================================
+// <-- TEST WITH GRAPHIC -->
+// <-- Non-regression test for bug 12150 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=12150
+//
+// <-- Short Description -->
+//    datatipCreate fails with one single point
+scf();
+x=[20];
+y=[190];
+plot(x,y,"bo-");
+e=gce();
+p=e.children(1);
+t=datatipCreate(p,1);
+assert_checktrue(p.user_data.datatips.tips.children.children(2).data - [20 190] < [5d-2 5d-2]);
+assert_checkequal(p.user_data.datatips.tips.children.children(2).text, ["X: 20";"Y: 1.9e+02"]);
+close
diff --git a/scilab/modules/graphics/tests/nonreg_tests/bug_12150.tst b/scilab/modules/graphics/tests/nonreg_tests/bug_12150.tst
new file mode 100644 (file)
index 0000000..c0ecb7a
--- /dev/null
@@ -0,0 +1,26 @@
+// =============================================================================
+// 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.
+// =============================================================================
+// <-- TEST WITH GRAPHIC -->
+// <-- Non-regression test for bug 12150 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=12150
+//
+// <-- Short Description -->
+//    datatipCreate fails with one single point
+
+
+scf();
+x=[20];
+y=[190];
+plot(x,y,"bo-");
+e=gce();
+p=e.children(1);
+t=datatipCreate(p,1);
+assert_checktrue(p.user_data.datatips.tips.children.children(2).data - [20 190] < [5d-2 5d-2]);
+assert_checkequal(p.user_data.datatips.tips.children.children(2).text, ["X: 20";"Y: 1.9e+02"]);
+close