* Bug 5381 (+NR test): with UTF8, m*printf() shortened the output 58/19458/3
Samuel GOUGEON [Fri, 6 Oct 2017 22:47:19 +0000 (00:47 +0200)]
  http://bugzilla.scilab.org/5381

Change-Id: I3263896a55d8f6b9daf8ac337cbc1a9f7cbffb0a

scilab/CHANGES.md
scilab/modules/output_stream/tests/nonreg_tests/bug_5381.dia.ref [new file with mode: 0644]
scilab/modules/output_stream/tests/nonreg_tests/bug_5381.tst [new file with mode: 0644]

index 5abcb97..47736e3 100644 (file)
@@ -368,6 +368,7 @@ the [development mailing list](dev@lists.scilab.org) for a particular toolbox.
 * [#4276](http://bugzilla.scilab.org/show_bug.cgi?id=4276): `strsubst` replaced the first occurence in regex mode.
 * [#5248](http://bugzilla.scilab.org/show_bug.cgi?id=5248): The graphical entity picker was out of work.
 * [#5278](http://bugzilla.scilab.org/show_bug.cgi?id=5278): obsolete `xset()` was still used in scripts, macros, tests and help pages.
+* [#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.
 * [#7652](http://bugzilla.scilab.org/show_bug.cgi?id=7652): Inserting `list("")` in a cells array could be erroneous.
diff --git a/scilab/modules/output_stream/tests/nonreg_tests/bug_5381.dia.ref b/scilab/modules/output_stream/tests/nonreg_tests/bug_5381.dia.ref
new file mode 100644 (file)
index 0000000..d4b80c5
--- /dev/null
@@ -0,0 +1,27 @@
+// =============================================================================
+// 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 -->
+// <-- Non-regression test for bug 5381 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/5381
+//
+// <-- Short Description -->
+// With UTF-8 inputs, msprintf(), mprintf() and fprintf() output were shortened
+//
+assert_checkequal(msprintf("% 6s", "é"), "     é");
+assert_checkequal(msprintf("% 6s", "éé"), "    éé");
+mprintf("% 6s", "é");
+     é
+mprintf("% 6s", "éé");
+    éé
+fd = mopen(TMPDIR+'/bug_5381.txt','wt');
+mfprintf(fd, "% 6s\n", "é")
+mfprintf(fd, "% 6s\n", "éé")
+mclose(fd);
+t = mgetl(TMPDIR+'/bug_5381.txt');
+assert_checkequal(t, ["     é";"    éé"]);
diff --git a/scilab/modules/output_stream/tests/nonreg_tests/bug_5381.tst b/scilab/modules/output_stream/tests/nonreg_tests/bug_5381.tst
new file mode 100644 (file)
index 0000000..77025d7
--- /dev/null
@@ -0,0 +1,29 @@
+// =============================================================================
+// 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 -->
+
+// <-- Non-regression test for bug 5381 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/5381
+//
+// <-- Short Description -->
+// With UTF-8 inputs, msprintf(), mprintf() and fprintf() output were shortened
+//
+
+assert_checkequal(msprintf("% 6s", "é"), "     é");
+assert_checkequal(msprintf("% 6s", "éé"), "    éé");
+
+mprintf("% 6s", "é");
+mprintf("% 6s", "éé");
+
+fd = mopen(TMPDIR+'/bug_5381.txt','wt');
+mfprintf(fd, "% 6s\n", "é")
+mfprintf(fd, "% 6s\n", "éé")
+mclose(fd);
+t = mgetl(TMPDIR+'/bug_5381.txt');
+assert_checkequal(t, ["     é";"    éé"]);