Non regression test added for bug #11227. 27/11227/2
Vincent COUVERT [Fri, 5 Apr 2013 13:04:42 +0000 (15:04 +0200)]
To test: test_run("data_structures", "bug_11227")

Change-Id: I8ac24d2f9cd63e64ec8d2d6310b014ce32f51386

scilab/modules/data_structures/tests/nonreg_tests/bug_11227.dia.ref [new file with mode: 0644]
scilab/modules/data_structures/tests/nonreg_tests/bug_11227.tst [new file with mode: 0644]

diff --git a/scilab/modules/data_structures/tests/nonreg_tests/bug_11227.dia.ref b/scilab/modules/data_structures/tests/nonreg_tests/bug_11227.dia.ref
new file mode 100644 (file)
index 0000000..9e001d5
--- /dev/null
@@ -0,0 +1,23 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Vincent COUVERT
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// <-- Non-regression test for bug 11227 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=11227
+//
+// <-- Short Description -->
+// Scilab crashed when trying to use a structure with a non-existing field name containing "%"
+// Existing field name
+a = struct();
+a("toto%")=2;
+assert_checkequal(a("toto%"), 2);
+clear a
+// Non-existing field name
+refMsg = msprintf(_("%s is not a valid field name."), "toto%");
+a = struct();
+assert_checkerror("a(""toto%"")", refMsg);
diff --git a/scilab/modules/data_structures/tests/nonreg_tests/bug_11227.tst b/scilab/modules/data_structures/tests/nonreg_tests/bug_11227.tst
new file mode 100644 (file)
index 0000000..76a34ec
--- /dev/null
@@ -0,0 +1,28 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2013 - Scilab Enterprises - Vincent COUVERT
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 11227 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=11227
+//
+// <-- Short Description -->
+// Scilab crashed when trying to use a structure with a non-existing field name containing "%"
+
+// Existing field name
+a = struct();
+a("toto%")=2;
+assert_checkequal(a("toto%"), 2);
+
+clear a
+
+// Non-existing field name
+refMsg = msprintf(_("%s is not a valid field name."), "toto%");
+a = struct();
+assert_checkerror("a(""toto%"")", refMsg);
\ No newline at end of file