* Bug #10287 fixed - An error message added for complex expression as input argument... 80/11380/3
Charlotte HECQUET [Wed, 24 Apr 2013 10:02:39 +0000 (12:02 +0200)]
Change-Id: Ib9e61c5ea322068c6a9110c0d6519020592fcc66

scilab/CHANGES_5.5.X
scilab/modules/differential_equations/macros/integrate.sci
scilab/modules/differential_equations/tests/nonreg_tests/bug_10287.dia.ref [new file with mode: 0644]
scilab/modules/differential_equations/tests/nonreg_tests/bug_10287.tst [new file with mode: 0644]

index 997f9a7..7e1c6ed 100644 (file)
@@ -125,6 +125,8 @@ Bug fixes
 
 * Bug #10254 fixed - Slight improvements in help page of ones.
 
+* Bug #10287 fixed - An error message added for complex expression as input argument of integrate function.
+
 * Bug #10862 fixed - Add a without internet connection installation
                      global configuration on the installer
 
index d1b19c4..47cc6fa 100644 (file)
@@ -25,7 +25,7 @@ function %x=integrate(%expr,%var,%x0,%x1,%ea,%er)
     if rhs < 4 then\r
         error(msprintf(gettext("%s: Wrong number of input argument(s): At least %d expected.\n"),"integrate",4));\r
     end\r
-    \r
+\r
     select rhs\r
     case 4 then\r
         %ea=1d-14;%er=1.d-8 \r
@@ -66,6 +66,10 @@ function %x=integrate(%expr,%var,%x0,%x1,%ea,%er)
         error(msprintf(gettext("%s: Wrong value for input argument #%d: syntax error in given expression\n"),"integrate",1));\r
     end\r
 \r
+    if strstr(%expr,'%i') <> "" then\r
+        error(msprintf(_("%s: Wrong value for input argument #%d: A real expected.\n"),"integrate",1));\r
+    end\r
+\r
     [%x1,%ks]=gsort(%x1,'g','i')\r
     %x=zeros(%x1)\r
 \r
@@ -86,6 +90,3 @@ function %x=integrate(%expr,%var,%x0,%x1,%ea,%er)
     %x=matrix(%x(%ks),size(%x1));\r
 \r
 endfunction\r
-\r
-\r
-\r\r
diff --git a/scilab/modules/differential_equations/tests/nonreg_tests/bug_10287.dia.ref b/scilab/modules/differential_equations/tests/nonreg_tests/bug_10287.dia.ref
new file mode 100644 (file)
index 0000000..c840536
--- /dev/null
@@ -0,0 +1,17 @@
+// =============================================================================
+// 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.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 10287 -->
+//
+// <-- Bugzilla URL -->
+//http://bugzilla.scilab.org/show_bug.cgi?id=10287
+//
+// <-- Short Description -->
+// An error message added for complex expression with integrate function.
+errmsg=msprintf(_("%s: Wrong value for input argument #%d: A real expected.\n"),"integrate",1);
+assert_checkerror("integrate(''abs(exp(%i*t))*exp(%i*t)*%i*t'',''t'',-%pi,0)",errmsg);
diff --git a/scilab/modules/differential_equations/tests/nonreg_tests/bug_10287.tst b/scilab/modules/differential_equations/tests/nonreg_tests/bug_10287.tst
new file mode 100644 (file)
index 0000000..9046276
--- /dev/null
@@ -0,0 +1,18 @@
+// =============================================================================
+// 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.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 10287 -->
+//
+// <-- Bugzilla URL -->
+//http://bugzilla.scilab.org/show_bug.cgi?id=10287
+//
+// <-- Short Description -->
+// An error message added for complex expression with integrate function.
+
+errmsg=msprintf(_("%s: Wrong value for input argument #%d: A real expected.\n"),"integrate",1);
+assert_checkerror("integrate(''abs(exp(%i*t))*exp(%i*t)*%i*t'',''t'',-%pi,0)",errmsg);