Bug 9141 fixed: There was extra empty lines in the console 68/3468/3
Calixte DENIZET [Wed, 9 Mar 2011 09:46:43 +0000 (10:46 +0100)]
Change-Id: Ic797058b27b820802fbda9210363ef76981705c3

scilab/CHANGES_5.3.X
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/console/SwingScilabConsole.java
scilab/modules/gui/tests/nonreg_tests/bug_9141.tst [new file with mode: 0644]

index 0639577..867ab6f 100644 (file)
@@ -78,6 +78,8 @@ Bug fixes:
 
 * bug 9128 fixed - In help page of dir(), infos about bytes field were missing.
 
+* bug 9141 fixed - An extra empty line was present in the console.
+
 * bug 9147 fixed - Javasci v1 was broken since the introduction of the
                    version 2.
 
index 9720060..d34f5cc 100644 (file)
@@ -38,6 +38,7 @@ import javax.swing.SwingUtilities;
 import javax.swing.event.ChangeEvent;
 import javax.swing.event.ChangeListener;
 import javax.swing.text.BadLocationException;
+import javax.swing.text.Document;
 import javax.swing.text.StyleContext;
 import javax.swing.text.StyledDocument;
 
@@ -231,12 +232,12 @@ public class SwingScilabConsole extends SciConsole implements SimpleConsole {
 
         // Remove last line returned given by Scilab (carriage return)
         try {
-            StyledDocument outputStyledDoc = this.getConfiguration().getOutputViewStyledDocument();
-            int lastEOL = outputStyledDoc.getText(0, outputStyledDoc.getLength()).lastIndexOf(StringConstants.NEW_LINE);
+            Document doc = ((JEditorPane) this.getConfiguration().getOutputView()).getDocument();
+            int lastEOL = doc.getText(0, doc.getLength()).lastIndexOf(StringConstants.NEW_LINE);
 
             // Condition added to avoid a "javax.swing.text.BadLocationException: Invalid remove" exception
-            if (lastEOL > 1 && (outputStyledDoc.getLength() - lastEOL) == 1) {
-                outputStyledDoc.remove(lastEOL, outputStyledDoc.getLength() - lastEOL);
+            if (lastEOL > 1 && (doc.getLength() - lastEOL) == 1) {
+                doc.remove(lastEOL, doc.getLength() - lastEOL);
             }
         } catch (BadLocationException e) {
             e.printStackTrace();
diff --git a/scilab/modules/gui/tests/nonreg_tests/bug_9141.tst b/scilab/modules/gui/tests/nonreg_tests/bug_9141.tst
new file mode 100644 (file)
index 0000000..fe0263a
--- /dev/null
@@ -0,0 +1,27 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011 - Calixte DENIZET
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- Non-regression test for bug 9141 -->
+// <-- INTERACTIVE TEST -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/9141
+//
+// <-- Short Description -->
+// An extra empty line was present in the console
+
+//Just type the following line
+for i=1:10
+a=1;
+end
+// you should see something like
+//
+//-->for i=1:10
+//-->a=1
+//-->end
+//
+//no empty lines between for..., a..., and end.
\ No newline at end of file