Author: mkrueger
Date: 2008-02-18 06:37:51 -0500 (Mon, 18 Feb 2008)
New Revision: 96046
Added:
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor.Tests/Mono.TextEditor.Tests.DefaultEditActions/DocumentTests.cs
Modified:
trunk/monodevelop/main/src/addins/Mono.Texteditor/ChangeLog
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor.Tests/Mono.TextEditor.Tests.DefaultEditActions/CaretMoveTests.cs
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor.Tests/Mono.TextEditor.Tests.mdp
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor.Tests/Mono.TextEditor.Tests.pidb
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/TextEditor.cs
Log:
* Mono.TextEditor/TextEditor.cs: Changed scroll to caret a bit.
Modified: trunk/monodevelop/main/src/addins/Mono.Texteditor/ChangeLog
===================================================================
--- trunk/monodevelop/main/src/addins/Mono.Texteditor/ChangeLog 2008-02-18
11:12:34 UTC (rev 96045)
+++ trunk/monodevelop/main/src/addins/Mono.Texteditor/ChangeLog 2008-02-18
11:37:51 UTC (rev 96046)
@@ -1,5 +1,9 @@
2008-02-18 Mike Krüger <[EMAIL PROTECTED]>
+ * Mono.TextEditor/TextEditor.cs: Changed scroll to caret a bit.
+
+2008-02-18 Mike Krüger <[EMAIL PROTECTED]>
+
* Mono.TextEditor/DefaultEditActions.cs: Fixed tabs2spaces option.
2008-02-18 Mike Krüger <[EMAIL PROTECTED]>
Modified:
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/TextEditor.cs
===================================================================
---
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/TextEditor.cs
2008-02-18 11:12:34 UTC (rev 96045)
+++
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/TextEditor.cs
2008-02-18 11:37:51 UTC (rev 96046)
@@ -640,11 +640,11 @@
{
if (Caret.Line < 0 || Caret.Line >= Document.LineCount)
return;
- int yMargin = 2 * this.LineHeight;
+ int yMargin = 1 * this.LineHeight;
int xMargin = 10 * this.textViewMargin.CharWidth;
int caretPosition = Document.LogicalToVisualLine
(Caret.Line) * this.LineHeight;
- if (this.textEditorData.VAdjustment.Value >
caretPosition - yMargin) {
- this.textEditorData.VAdjustment.Value =
caretPosition - yMargin;
+ if (this.textEditorData.VAdjustment.Value >
caretPosition) {
+ this.textEditorData.VAdjustment.Value =
caretPosition;
} else if (this.textEditorData.VAdjustment.Value +
this.textEditorData.VAdjustment.PageSize - this.LineHeight < caretPosition +
yMargin) {
this.textEditorData.VAdjustment.Value =
caretPosition - this.textEditorData.VAdjustment.PageSize + this.LineHeight +
yMargin;
}
Modified:
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor.Tests/Mono.TextEditor.Tests.DefaultEditActions/CaretMoveTests.cs
===================================================================
---
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor.Tests/Mono.TextEditor.Tests.DefaultEditActions/CaretMoveTests.cs
2008-02-18 11:12:34 UTC (rev 96045)
+++
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor.Tests/Mono.TextEditor.Tests.DefaultEditActions/CaretMoveTests.cs
2008-02-18 11:37:51 UTC (rev 96046)
@@ -25,7 +25,6 @@
//
//
-
using System;
using NUnit.Framework;
@@ -34,20 +33,6 @@
[TestFixture()]
public class CaretMoveTests
{
- [Test()]
- public void TestCaretMoveUp ()
- {
- Mono.TextEditor.TextEditorData data = new
Mono.TextEditor.TextEditorData ();
-// data.Document.Buffer.Text = "1\n2\n3\n";
- Assert.AreEqual (0, 0);
- /*
- new CaretMoveUp ().Run (data);
- Assert.AreEqual (0, data.Caret.Line);
- Assert.AreEqual (0, data.Caret.Column);
- new CaretMoveUp ().Run (data);
- Assert.AreEqual (0, data.Caret.Line);
- Assert.AreEqual (0, data.Caret.Column);*/
- }
//
// [Test()]
// public void TestCaretMoveDown ()
@@ -89,5 +74,17 @@
// new CaretMoveRight ().Run (document, caret);
// Assert.AreEqual (4, caret.Column);
// }
+
+ [TestFixtureSetUp]
+ public void SetUp()
+ {
+ Gtk.Application.Init ();
+ }
+
+ [TestFixtureTearDown]
+ public void Dispose()
+ {
+ }
+
}
}
Added:
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor.Tests/Mono.TextEditor.Tests.DefaultEditActions/DocumentTests.cs
===================================================================
---
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor.Tests/Mono.TextEditor.Tests.DefaultEditActions/DocumentTests.cs
2008-02-18 11:12:34 UTC (rev 96045)
+++
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor.Tests/Mono.TextEditor.Tests.DefaultEditActions/DocumentTests.cs
2008-02-18 11:37:51 UTC (rev 96046)
@@ -0,0 +1,159 @@
+//
+// DocumentTests.cs
+//
+// Author:
+// Mike Krüger <[EMAIL PROTECTED]>
+//
+// Copyright (C) 2008 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using NUnit.Framework;
+
+namespace Mono.TextEditor.Tests
+{
+ [TestFixture()]
+ public class DocumentTests
+ {
+ [Test()]
+ public void TestDocumentCreation ()
+ {
+ Document document = new Mono.TextEditor.Document ();
+
+ string text =
+ "1234567890\n" +
+ "12345678\n" +
+ "1234567\n" +
+ "123456\n" +
+ "12345\n" +
+ "1234\n" +
+ "123\n" +
+ "12\n" +
+ "1\n" +
+ "\n";
+ document.Text = text;
+
+ Assert.AreEqual (text, document.Text);
+ Assert.AreEqual (11, document.LineCount);
+ }
+
+ [Test]
+ public void TestDocumentInsert ()
+ {
+ Document document = new Mono.TextEditor.Document ();
+
+ string top = "1234567890\n";
+ string text =
+ "12345678\n" +
+ "1234567\n" +
+ "123456\n" +
+ "12345\n" +
+ "1234\n" +
+ "123\n" +
+ "12\n" +
+ "1\n" +
+ "\n";
+
+ document.Text = top;
+ document.Insert (top.Length, text);
+ Assert.AreEqual (top + text, document.Text);
+ }
+
+ [Test]
+ public void TestDocumentRemove ()
+ {
+ Document document = new Mono.TextEditor.Document ();
+
+ string top = "1234567890\n";
+ string testText =
+ "12345678\n" +
+ "1234567\n" +
+ "123456\n" +
+ "12345\n" +
+ "1234\n" +
+ "123\n" +
+ "12\n" +
+ "1\n" +
+ "\n";
+ document.Text = top + testText;
+ document.Remove (0, top.Length);
+ Assert.AreEqual (document.Text, testText);
+
+ document.Remove (0, document.Length);
+ LineSegment line = document.GetLine (0);
+ Assert.AreEqual (0, line.Offset);
+ Assert.AreEqual (0, line.Length);
+ Assert.AreEqual (0, document.Length);
+ Assert.AreEqual (1, document.LineCount);
+ }
+
+ [Test]
+ public void TestDocumentBug1Test()
+ {
+ Document document = new Mono.TextEditor.Document ();
+
+ string top = "1234567890";
+ document.Text = top;
+
+ Assert.AreEqual (document.GetLine (0).Length,
document.Length);
+
+ document.Remove(0, document.Length);
+
+ LineSegment line = document.GetLine (0);
+ Assert.AreEqual(0, line.Offset);
+ Assert.AreEqual(0, line.Length);
+ Assert.AreEqual(0, document.Length);
+ Assert.AreEqual(1, document.LineCount);
+ }
+
+ [Test]
+ public void TestDocumentBug2Test()
+ {
+ Document document = new Mono.TextEditor.Document ();
+
+ string top = "123\n456\n789\n0";
+ string testText = "Hello World!";
+
+ document.Text = top;
+
+ document.Insert (top.Length, testText);
+
+ LineSegment line = document.GetLine (document.LineCount
- 1);
+
+ Assert.AreEqual (top.Length - 1, line.Offset);
+ Assert.AreEqual (testText.Length + 1, line.Length);
+ }
+
+ [TestFixtureSetUp]
+ public void SetUp()
+ {
+ Gtk.Application.Init ();
+ }
+
+ [TestFixtureTearDown]
+ public void Dispose()
+ {
+ }
+
+
+ }
+}
Modified:
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor.Tests/Mono.TextEditor.Tests.mdp
===================================================================
---
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor.Tests/Mono.TextEditor.Tests.mdp
2008-02-18 11:12:34 UTC (rev 96045)
+++
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor.Tests/Mono.TextEditor.Tests.mdp
2008-02-18 11:37:51 UTC (rev 96046)
@@ -17,6 +17,7 @@
<File name="Mono.TextEditor.Tests.DefaultEditActions" subtype="Directory"
buildaction="Compile" />
<File
name="Mono.TextEditor.Tests.DefaultEditActions/InsertNewLineTests.cs"
subtype="Code" buildaction="Compile" />
<File name="Mono.TextEditor.Tests.DefaultEditActions/CaretMoveTests.cs"
subtype="Code" buildaction="Compile" />
+ <File name="Mono.TextEditor.Tests.DefaultEditActions/DocumentTests.cs"
subtype="Code" buildaction="Compile" />
</Contents>
<References>
<ProjectReference type="Project" localcopy="True" refto="Mono.TextEditor"
/>
Modified:
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor.Tests/Mono.TextEditor.Tests.pidb
===================================================================
(Binary files differ)
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches