2
// DeleteActionTests.cs
5
// Mike Krüger <mkrueger@novell.com>
7
// Copyright (c) 2009 Novell, Inc (http://www.novell.com)
9
// Permission is hereby granted, free of charge, to any person obtaining a copy
10
// of this software and associated documentation files (the "Software"), to deal
11
// in the Software without restriction, including without limitation the rights
12
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13
// copies of the Software, and to permit persons to whom the Software is
14
// furnished to do so, subject to the following conditions:
16
// The above copyright notice and this permission notice shall be included in
17
// all copies or substantial portions of the Software.
19
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
28
using NUnit.Framework;
30
namespace Mono.TextEditor.Tests.Actions
33
public class DeleteActionTests : TextEditorTestBase
36
public void TestBackspace ()
38
var data = Create (@"1234$567890");
39
DeleteActions.Backspace (data);
40
Check (data, @"123$567890");
44
public void TestBackspaceCase1 ()
46
var data = Create (@"$1234567890");
47
DeleteActions.Backspace (data);
48
Check (data, @"$1234567890");
52
public void TestDelete ()
54
var data = Create (@"1234$567890");
55
DeleteActions.Delete (data);
56
Check (data, @"1234$67890");
60
public void TestBackspaceDeleteCase1 ()
62
var data = Create (@"1234567890$");
63
DeleteActions.Delete (data);
64
Check (data, @"1234567890$");
68
public void TestDeleteCaretLine ()
70
var data = Create (@"1234567890
73
DeleteActions.CaretLine (data);
74
Assert.AreEqual (@"1234567890
75
1234567890", data.Document.Text);
79
public void TestDeleteCaretLineWithFoldings ()
81
var data = Create (@"1234567890
86
DeleteActions.CaretLine (data);
87
Assert.AreEqual (@"1234567890
88
1234567890", data.Document.Text);
92
public void TestDeleteCaretLineWithFoldingsCase2 ()
94
var data = Create (@"1234567890
99
DeleteActions.CaretLine (data);
100
Assert.AreEqual (@"1234567890
101
1234567890", data.Document.Text);
106
public void TestDeleteCaretLineToEnd ()
108
var data = Create (@"1234567890
111
DeleteActions.CaretLineToEnd (data);
112
Assert.AreEqual (@"1234567890
114
1234567890", data.Document.Text);
118
public void TestDeleteCaretLineToEndWithFoldings ()
120
var data = Create (@"1234567890
125
DeleteActions.CaretLineToEnd (data);
126
Assert.AreEqual (@"1234567890
128
1234567890", data.Document.Text);
134
public void TestDeletePreviousWord ()
136
var data = Create (@" word1 word2 word3$");
137
DeleteActions.PreviousWord (data);
138
Check (data, @" word1 word2 $");
139
DeleteActions.PreviousWord (data);
140
Check (data, @" word1 $");
141
DeleteActions.PreviousWord (data);
146
public void TestDeletePreviousSubword ()
148
var data = Create (@" SomeLongWord$");
149
DeleteActions.PreviousSubword (data);
150
Check (data, @" SomeLong$");
151
DeleteActions.PreviousSubword (data);
152
Check (data, @" Some$");
153
DeleteActions.PreviousSubword (data);
158
public void TestDeleteNextWord ()
160
var data = Create (@" $word1 word2 word3");
161
DeleteActions.NextWord (data);
162
Check (data, @" $ word2 word3");
163
DeleteActions.NextWord (data);
164
Check (data, @" $ word3");
165
DeleteActions.NextWord (data);
170
public void TestDeleteNextSubword ()
172
var data = Create (@" $SomeLongWord");
173
DeleteActions.NextSubword (data);
174
Check (data, @" $LongWord");
175
DeleteActions.NextSubword (data);
176
Check (data, @" $Word");
177
DeleteActions.NextSubword (data);