* Bug 6608 (+NR test): field and data insertion in an array of struct might fail 61/19461/3
Samuel GOUGEON [Sat, 7 Oct 2017 11:21:23 +0000 (13:21 +0200)]
  http://bugzilla.scilab.org/6608

Change-Id: Ic50973962aa040d57f7c72ca3107bc912c96381d

scilab/CHANGES.md
scilab/modules/data_structures/tests/nonreg_tests/bug_6608.tst [new file with mode: 0644]

index 57b3e60..2ba5779 100644 (file)
@@ -371,6 +371,7 @@ the [development mailing list](dev@lists.scilab.org) for a particular toolbox.
 * [#5381](http://bugzilla.scilab.org/show_bug.cgi?id=5381): For UTF-8 inputs, `msprintf`, `mprintf` and `mfprintf` shortened the output.
 * [#5602](http://bugzilla.scilab.org/show_bug.cgi?id=5602): Assigning a component of a list in a cells array replaced the whole list.
 * [#5611](http://bugzilla.scilab.org/show_bug.cgi?id=5611): It was not possible to delete the row or column of a cells array.
+* [#6608](http://bugzilla.scilab.org/show_bug.cgi?id=6608): Field and data insertion in an array of structures might fail.
 * [#7652](http://bugzilla.scilab.org/show_bug.cgi?id=7652): Inserting `list("")` in a cells array could be erroneous.
 * [#8297](http://bugzilla.scilab.org/show_bug.cgi?id=8297): `cat` slowness was exponential, crippling, and made it useless.
 * [#8669](http://bugzilla.scilab.org/show_bug.cgi?id=8669): After `A=rand(3,3)`, some legal insertions in `A(*,*,:)` failed. Non regression tests added.
diff --git a/scilab/modules/data_structures/tests/nonreg_tests/bug_6608.tst b/scilab/modules/data_structures/tests/nonreg_tests/bug_6608.tst
new file mode 100644 (file)
index 0000000..c727de6
--- /dev/null
@@ -0,0 +1,30 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2017 - Samuel GOUGEON
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+// <-- NO CHECK REF -->
+
+// <-- Non-regression test for bug 6608 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/6608
+//
+// <-- Short Description -->
+// Field and data insertions in an array of structures might fail
+
+
+S(1:6).a = "abc";
+assert_checkequal(execstr("S(1:6).b = %pi", "errcatch"), 0);
+assert_checkequal(execstr("S(:).b = %pi", "errcatch"), 0);
+assert_checkequal(execstr("S.b = S", "errcatch"), 0);
+assert_checkequal(size(S),[6 1]);
+
+clear S
+S(2,2).a = "abc";
+assert_checkequal(execstr("s.b = ''text''", "errcatch"), 0);
+assert_checkequal(execstr("s(:).b = ''text''", "errcatch"), 0);
+assert_checkequal(execstr("s(:).c = ''text''", "errcatch"), 0);