KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > java_editor_actions > JavaEditActionsTest


1 /*
2  * The contents of this file are subject to the terms of the Common Development
3  * and Distribution License (the License). You may not use this file except in
4  * compliance with the License.
5  *
6  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7  * or http://www.netbeans.org/cddl.txt.
8  *
9  * When distributing Covered Code, include this CDDL Header Notice in each file
10  * and include the License file at http://www.netbeans.org/cddl.txt.
11  * If applicable, add the following below the CDDL Header, with the fields
12  * enclosed by brackets [] replaced by your own identifying information:
13  * "Portions Copyrighted [year] [name of copyright owner]"
14  *
15  * The Original Software is NetBeans. The Initial Developer of the Original
16  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19
20 package java_editor_actions;
21
22 import java.awt.datatransfer.Transferable JavaDoc;
23 import java.awt.event.KeyEvent JavaDoc;
24 import java.io.File JavaDoc;
25 import java.io.FileOutputStream JavaDoc;
26 import java.io.IOException JavaDoc;
27 import java.io.OutputStream JavaDoc;
28 import java.io.PrintStream JavaDoc;
29 import java.util.Hashtable JavaDoc;
30 import javax.swing.text.BadLocationException JavaDoc;
31 import javax.swing.text.Document JavaDoc;
32 import javax.swing.text.JTextComponent JavaDoc;
33 import org.netbeans.jellytools.EditorOperator;
34 import org.netbeans.jemmy.operators.JEditorPaneOperator;
35 import editor_actions.EditorActionsTest;
36
37 /**
38  * Basic Edit Actions Test class.
39  * The base edit actions can be found at:
40  * http://editor.netbeans.org/doc/UserView/apdx_a_eshortcuts.html
41  *
42  * Test covers following actions:
43  *
44  * abbrev - expanding
45  * abbrev-reset [SHIFT-SPACE]
46  * comment [CTRL-SHIFT-T] (current line/ selection)
47  * copy-to-clipboard [CTRL-C, CTRL-INSERT]
48  * cut-to-clipboard [CTRL-X, SHIFT-DELETE]
49  * delete-next [DELETE]
50  * delete-previous [BACK_SPACE]
51  * format [CTRL-SHIFT-F] (selection/entire file)
52  * insert-tab [TAB] (selected/unselected)
53  * make-getter [CTRL-U G]
54  * make-is [CTRL-U I]
55  * make-setter [CTRL-U S]
56  * paste-formatted [CTRL-SHIFT-ENTER]
57  * paste-from-clipboard [SHIFT-INSERT, CTRL-V]
58  * redo [CTRL-Y]
59  * remove-line [CTRL-E]
60  * remove-line-begin [CTRL-U]
61  * remove-tab [SHIFT-TAB] (selected/unselected)
62  * remove-word [CTRL-W]
63  * remove-word-previous [CTRL-BACK_SPACE]
64  * remove-word-next [CTRL-DELETE]
65  * select-all [CTRL-A]
66  * shift-line-left [CTRL-D]
67  * shift-line-right [CTRL-T]
68  * split-line [CTRL-ENTER]
69  * start-new-line [SHIFT-ENTER]
70  * switch-case [ALT-U R] (selected/unselected)
71  * to-lower-case [ALT-U L] (selected/unselected)
72  * to-upper-case [ALT-U U] (selected/unselected)
73  * toggle-typing-mode [INSERT] (on/off)
74  * uncomment [CTRL-SHIFT-D] (current line/ selection)
75  * undo [CTRL-Z]
76  * word-match-next [CTRL-L]
77  * word-match-prev [CTRL-K]
78  *
79  * @author Martin Roskanin
80  */

81   public class JavaEditActionsTest extends JavaEditorActionsTest {
82
83     /** Creates a new instance of Main */
84     public JavaEditActionsTest(String JavaDoc testMethodName) {
85         super(testMethodName);
86     }
87     
88     
89     public void testEditActions(){
90         openDefaultProject();
91         openDefaultSampleFile();
92         try {
93         
94             EditorOperator editor = getDefaultSampleEditorOperator();
95             JEditorPaneOperator txtOper = editor.txtEditorPane();
96
97             // 00 ---------------------- test insert action -----------------
98
// 1. move to adequate place
99
editor.setCaretPosition(5, 17);
100             // 2. set insert Mode ON
101
txtOper.pushKey(KeyEvent.VK_INSERT);
102             // 3. type d
103
txtOper.typeKey('d');
104             // 4. set insert Mode OFF
105
txtOper.pushKey(KeyEvent.VK_INSERT);
106             // 5. type x
107
txtOper.typeKey('x');
108             // previous word ins|ert, with caret at | should be modified to
109
// insdxrt
110
// Compare document content to golden file
111
compareToGoldenFile(txtOper.getDocument());
112             //------------------------------------------------------------
113

114             // 01 -------- test delete word action. Caret in the middle of the word ---
115
// remove-word action has been removed. Changing test to delete selected word
116
editor.setCaretPosition(17, 20);
117             txtOper.pushKey(KeyEvent.VK_J, KeyEvent.ALT_DOWN_MASK);
118             txtOper.pushKey(KeyEvent.VK_DELETE);
119             compareToGoldenFile(txtOper.getDocument());
120             
121             // 02 -------- test delete previous word action. Caret after the word ------
122
// delete word - Caret after the word was removed
123
txtOper.pushKey(KeyEvent.VK_BACK_SPACE, KeyEvent.CTRL_DOWN_MASK);
124             compareToGoldenFile(txtOper.getDocument());
125
126             // 03 --------- test remove the current line --------------------
127
txtOper.pushKey(KeyEvent.VK_E, KeyEvent.CTRL_DOWN_MASK);
128             compareToGoldenFile(txtOper.getDocument());
129             
130             // 04 -- test Select the word the insertion point is on or
131
// -- deselect any selected text (Alt + j)
132
// -- after that test CUT action ---------------
133
editor.setCaretPosition(9, 24);
134             txtOper.pushKey(KeyEvent.VK_J, KeyEvent.ALT_DOWN_MASK);
135             cutCopyViaStrokes(txtOper, KeyEvent.VK_X, KeyEvent.CTRL_DOWN_MASK);
136             compareToGoldenFile(txtOper.getDocument());
137             
138             // 05 -- test PASTE ------
139
editor.setCaretPosition(11, 17);
140             txtOper.pushKey(KeyEvent.VK_V, KeyEvent.CTRL_DOWN_MASK);
141             compareToGoldenFile(txtOper.getDocument());
142             
143             // 06 -- test UNDO/REDO ----
144
int oldDocLenhth = txtOper.getDocument().getLength();
145             txtOper.pushKey(KeyEvent.VK_Z, KeyEvent.CTRL_DOWN_MASK);
146             waitMaxMilisForValue(WAIT_MAX_MILIS_FOR_UNDO_REDO, getFileLengthChangeResolver(txtOper, oldDocLenhth), Boolean.FALSE);
147             oldDocLenhth = txtOper.getDocument().getLength();
148             txtOper.pushKey(KeyEvent.VK_Z, KeyEvent.CTRL_DOWN_MASK);
149             waitMaxMilisForValue(WAIT_MAX_MILIS_FOR_UNDO_REDO, getFileLengthChangeResolver(txtOper, oldDocLenhth), Boolean.FALSE);
150             oldDocLenhth = txtOper.getDocument().getLength();
151             txtOper.pushKey(KeyEvent.VK_Y, KeyEvent.CTRL_DOWN_MASK);
152             waitMaxMilisForValue(WAIT_MAX_MILIS_FOR_UNDO_REDO, getFileLengthChangeResolver(txtOper, oldDocLenhth), Boolean.FALSE);
153             compareToGoldenFile(txtOper.getDocument());
154             
155             // 07 -- test CTRL+u -- first, delete the text to indentation level
156
txtOper.pushKey(KeyEvent.VK_U, KeyEvent.CTRL_DOWN_MASK);
157             compareToGoldenFile(txtOper.getDocument());
158
159             // 08 -- test CTRL+u -- delete the indentation level
160
txtOper.pushKey(KeyEvent.VK_U, KeyEvent.CTRL_DOWN_MASK);
161             compareToGoldenFile(txtOper.getDocument());
162             
163             // 09 -- test CTRL+u -- delete the line break
164
txtOper.pushKey(KeyEvent.VK_U, KeyEvent.CTRL_DOWN_MASK);
165             compareToGoldenFile(txtOper.getDocument());
166             
167             // 10 -- test delete action
168
txtOper.pushKey(KeyEvent.VK_DELETE);
169             compareToGoldenFile(txtOper.getDocument());
170
171             // 11 -- test delete selected block and selecting to end of the line
172
txtOper.pushKey(KeyEvent.VK_END, KeyEvent.SHIFT_DOWN_MASK);
173             txtOper.pushKey(KeyEvent.VK_DELETE);
174             compareToGoldenFile(txtOper.getDocument());
175             
176             // 12 -- test COPY action ---
177
editor.setCaretPosition(9, 15);
178             txtOper.pushKey(KeyEvent.VK_J, KeyEvent.ALT_DOWN_MASK);
179             cutCopyViaStrokes(txtOper, KeyEvent.VK_C, KeyEvent.CTRL_DOWN_MASK);
180             editor.setCaretPosition(10, 17);
181             txtOper.pushKey(KeyEvent.VK_V, KeyEvent.CTRL_DOWN_MASK);
182             compareToGoldenFile(txtOper.getDocument());
183             
184             // -- test Select All ---
185
txtOper.pushKey(KeyEvent.VK_A, KeyEvent.CTRL_DOWN_MASK);
186             if (txtOper.getSelectionStart() != 0 ||
187                 txtOper.getSelectionEnd() != txtOper.getDocument().getLength()){
188                 fail("Select all action fails. [start/end of selection] [docLength]: ["+
189                     txtOper.getSelectionStart()+"/"+txtOper.getSelectionEnd()+"] ["+txtOper.getDocument().getLength()+"]");
190             }
191             
192             // 13 -- test Shift+delete (CUT) and shift+insert (PASTE)---
193
editor.setCaretPosition(5, 17);
194             txtOper.pushKey(KeyEvent.VK_J, KeyEvent.ALT_DOWN_MASK);
195             cutCopyViaStrokes(txtOper, KeyEvent.VK_DELETE, KeyEvent.SHIFT_DOWN_MASK);
196             editor.setCaretPosition(13,8);
197             txtOper.pushKey(KeyEvent.VK_INSERT, KeyEvent.SHIFT_DOWN_MASK);
198             compareToGoldenFile(txtOper.getDocument());
199             
200             // 14 -- test ctrl+insert (COPY)---
201
editor.setCaretPosition(10, 20);
202             txtOper.pushKey(KeyEvent.VK_J, KeyEvent.ALT_DOWN_MASK);
203             cutCopyViaStrokes(txtOper, KeyEvent.VK_INSERT, KeyEvent.CTRL_DOWN_MASK);
204             editor.setCaretPosition(13,15);
205             txtOper.pushKey(KeyEvent.VK_INSERT, KeyEvent.SHIFT_DOWN_MASK);
206             compareToGoldenFile(txtOper.getDocument());
207             
208             // 15 -- test CTRL+K ----
209
editor.setCaretPosition(6, 21);
210             txtOper.pushKey(KeyEvent.VK_K, KeyEvent.CTRL_DOWN_MASK);
211             compareToGoldenFile(txtOper.getDocument());
212             
213             // 16 -- test CTRL+L ----
214
editor.setCaretPosition(10, 20);
215             //type space to change String to Str ing
216
txtOper.typeKey(' ');
217             editor.setCaretPosition(10, 23);
218             txtOper.pushKey(KeyEvent.VK_L, KeyEvent.CTRL_DOWN_MASK);
219             compareToGoldenFile(txtOper.getDocument());
220             
221             /// 17 -- test expanding abbreviation
222
editor.setCaretPosition(19, 12);
223             txtOper.typeKey('s');
224             txtOper.typeKey('t');
225             txtOper.pressKey(KeyEvent.VK_TAB);
226             compareToGoldenFile(txtOper.getDocument());
227             
228             // 18 -- test Insert space without expanding abbreviation (SHIFT+SPACE)
229
editor.setCaretPosition(20, 9);
230             txtOper.typeKey('s');
231             txtOper.typeKey('t');
232             txtOper.typeKey(' ');
233             compareToGoldenFile(txtOper.getDocument());
234             
235             /* __________________ Capitlization ___________________ */
236             
237             
238             // 19 -- w/o selection upper case ------
239
editor.setCaretPosition(13, 18);
240             txtOper.pushKey(KeyEvent.VK_U, KeyEvent.ALT_DOWN_MASK);
241             txtOper.pushKey(KeyEvent.VK_U);
242             compareToGoldenFile(txtOper.getDocument());
243             
244             // 20 -- selection upper case ------
245
txtOper.pushKey(KeyEvent.VK_J, KeyEvent.ALT_DOWN_MASK);
246             txtOper.pushKey(KeyEvent.VK_U, KeyEvent.ALT_DOWN_MASK);
247             txtOper.pushKey(KeyEvent.VK_U);
248             compareToGoldenFile(txtOper.getDocument());
249             
250             // 21 -- w/o selection lower case ------
251
editor.setCaretPosition(13, 18);
252             txtOper.pushKey(KeyEvent.VK_U, KeyEvent.ALT_DOWN_MASK);
253             txtOper.pushKey(KeyEvent.VK_L);
254             compareToGoldenFile(txtOper.getDocument());
255             
256             // 22 -- selection lower case ------
257
txtOper.pushKey(KeyEvent.VK_J, KeyEvent.ALT_DOWN_MASK);
258             txtOper.pushKey(KeyEvent.VK_U, KeyEvent.ALT_DOWN_MASK);
259             txtOper.pushKey(KeyEvent.VK_L);
260             compareToGoldenFile(txtOper.getDocument());
261             
262             // 23 -- w/o selection reverse case ------
263
editor.setCaretPosition(13, 18);
264             txtOper.pushKey(KeyEvent.VK_U, KeyEvent.ALT_DOWN_MASK);
265             txtOper.pushKey(KeyEvent.VK_R);
266             compareToGoldenFile(txtOper.getDocument());
267             
268             // 24 -- selection reverse case ------
269
txtOper.pushKey(KeyEvent.VK_J, KeyEvent.ALT_DOWN_MASK);
270             txtOper.pushKey(KeyEvent.VK_U, KeyEvent.ALT_DOWN_MASK);
271             txtOper.pushKey(KeyEvent.VK_R);
272             compareToGoldenFile(txtOper.getDocument());
273             
274             
275             /* __________________ Several Indentation Actions ___________________ */
276             
277
278             // 25 -- Shift left ------
279
editor.setCaretPosition(10, 9);
280             txtOper.pushKey(KeyEvent.VK_TAB, KeyEvent.SHIFT_DOWN_MASK);
281             compareToGoldenFile(txtOper.getDocument());
282             
283             // 26 -- insert tab ------
284
txtOper.pushKey(KeyEvent.VK_TAB);
285             compareToGoldenFile(txtOper.getDocument());
286             
287             // 27 -- Shift selection left ------
288
editor.setCaretPosition(9, 1);
289             //select method
290
txtOper.pushKey(KeyEvent.VK_DOWN, KeyEvent.SHIFT_DOWN_MASK);
291             txtOper.pushKey(KeyEvent.VK_DOWN, KeyEvent.SHIFT_DOWN_MASK);
292             txtOper.pushKey(KeyEvent.VK_DOWN, KeyEvent.SHIFT_DOWN_MASK);
293             // shift left
294
txtOper.pushKey(KeyEvent.VK_TAB, KeyEvent.SHIFT_DOWN_MASK);
295             compareToGoldenFile(txtOper.getDocument());
296             
297             // 28 -- Shift selection right ------
298
txtOper.pushKey(KeyEvent.VK_TAB);
299             compareToGoldenFile(txtOper.getDocument());
300             
301             // 29 -- Shift selection left (CTRL+D) ------
302
editor.setCaretPosition(9, 1);
303             //select method
304
txtOper.pushKey(KeyEvent.VK_DOWN, KeyEvent.SHIFT_DOWN_MASK);
305             txtOper.pushKey(KeyEvent.VK_DOWN, KeyEvent.SHIFT_DOWN_MASK);
306             txtOper.pushKey(KeyEvent.VK_DOWN, KeyEvent.SHIFT_DOWN_MASK);
307             // shift left
308
txtOper.pushKey(KeyEvent.VK_D, KeyEvent.CTRL_DOWN_MASK);
309             compareToGoldenFile(txtOper.getDocument());
310             
311             // 30 -- Shift selection right (CTRL+T) ------
312
txtOper.pushKey(KeyEvent.VK_T, KeyEvent.CTRL_DOWN_MASK);
313             compareToGoldenFile(txtOper.getDocument());
314             
315             //31 -- reformat the selection + testing BACK_SPACE----
316
//make a mess
317
editor.setCaretPosition(6, 5);
318             txtOper.typeKey(' ');
319             editor.setCaretPosition(9, 5);
320             txtOper.pushKey(KeyEvent.VK_BACK_SPACE);
321             editor.setCaretPosition(9, 1);
322             //select method
323
txtOper.pushKey(KeyEvent.VK_DOWN, KeyEvent.SHIFT_DOWN_MASK);
324             txtOper.pushKey(KeyEvent.VK_DOWN, KeyEvent.SHIFT_DOWN_MASK);
325             txtOper.pushKey(KeyEvent.VK_DOWN, KeyEvent.SHIFT_DOWN_MASK);
326             txtOper.pushKey(KeyEvent.VK_F, KeyEvent.SHIFT_DOWN_MASK | KeyEvent.CTRL_DOWN_MASK);
327             compareToGoldenFile(txtOper.getDocument());
328             
329             //32 -- reformat the entire file ----
330
// deselect
331
txtOper.setSelectionStart(1);
332             txtOper.setSelectionEnd(1);
333             // invoke formatter
334
txtOper.pushKey(KeyEvent.VK_F, KeyEvent.SHIFT_DOWN_MASK | KeyEvent.CTRL_DOWN_MASK);
335             compareToGoldenFile(txtOper.getDocument());
336
337             /* __________________ Extension Actions ___________________ */
338             
339             //33 -- Prefix the identifier with get ------
340
editor.setCaretPosition(20, 10);
341             txtOper.pushKey(KeyEvent.VK_U, KeyEvent.ALT_DOWN_MASK);
342             txtOper.pushKey(KeyEvent.VK_G);
343             compareToGoldenFile(txtOper.getDocument());
344             
345             //34 -- Prefix the identifier with set ------
346
txtOper.pushKey(KeyEvent.VK_U, KeyEvent.ALT_DOWN_MASK);
347             txtOper.pushKey(KeyEvent.VK_S);
348             compareToGoldenFile(txtOper.getDocument());
349             
350             //35 -- Prefix the identifier with is ------
351
txtOper.pushKey(KeyEvent.VK_U, KeyEvent.ALT_DOWN_MASK);
352             txtOper.pushKey(KeyEvent.VK_I);
353             compareToGoldenFile(txtOper.getDocument());
354             
355             //36 -- Comment out the current line ------
356
txtOper.pushKey(KeyEvent.VK_T, KeyEvent.CTRL_DOWN_MASK | KeyEvent.SHIFT_DOWN_MASK);
357             compareToGoldenFile(txtOper.getDocument());
358
359             //37 -- Remove comment from the current line ------
360
txtOper.pushKey(KeyEvent.VK_D, KeyEvent.CTRL_DOWN_MASK | KeyEvent.SHIFT_DOWN_MASK);
361             compareToGoldenFile(txtOper.getDocument());
362             
363             //38 -- Comment out the selected lines of code. ------
364
editor.setCaretPosition(19, 1);
365             //select method
366
txtOper.pushKey(KeyEvent.VK_DOWN, KeyEvent.SHIFT_DOWN_MASK);
367             txtOper.pushKey(KeyEvent.VK_DOWN, KeyEvent.SHIFT_DOWN_MASK);
368             txtOper.pushKey(KeyEvent.VK_DOWN, KeyEvent.SHIFT_DOWN_MASK);
369             txtOper.pushKey(KeyEvent.VK_T, KeyEvent.CTRL_DOWN_MASK | KeyEvent.SHIFT_DOWN_MASK);
370             compareToGoldenFile(txtOper.getDocument());
371
372             //39 -- Remove comment from the selected lines. ------
373
txtOper.pushKey(KeyEvent.VK_D, KeyEvent.CTRL_DOWN_MASK | KeyEvent.SHIFT_DOWN_MASK);
374             compareToGoldenFile(txtOper.getDocument());
375
376             // 40 -- Paste Formatted action ----------
377
//make a mess
378
editor.setCaretPosition(6, 1);
379             txtOper.typeKey(' ');
380             editor.setCaretPosition(7, 1);
381             txtOper.pushKey(KeyEvent.VK_DELETE);
382             editor.setCaretPosition(6, 1);
383             //select method
384
txtOper.pushKey(KeyEvent.VK_DOWN, KeyEvent.SHIFT_DOWN_MASK);
385             txtOper.pushKey(KeyEvent.VK_DOWN, KeyEvent.SHIFT_DOWN_MASK);
386             //copy
387
cutCopyViaStrokes(txtOper, KeyEvent.VK_C, KeyEvent.CTRL_DOWN_MASK);
388             editor.setCaretPosition(12, 1);
389             //paste formatted
390
txtOper.pushKey(KeyEvent.VK_V, KeyEvent.CTRL_DOWN_MASK | KeyEvent.SHIFT_DOWN_MASK);
391             compareToGoldenFile(txtOper.getDocument());
392             
393             // 41 -- Split a line (CTRL-ENTER)---
394
editor.setCaretPosition(15, 21);
395             txtOper.pushKey(KeyEvent.VK_ENTER, KeyEvent.CTRL_DOWN_MASK);
396             txtOper.typeKey('x');
397             compareToGoldenFile(txtOper.getDocument());
398             
399             // 42 -- Start a new line (SHIFT-ENTER) ---
400
editor.setCaretPosition(15, 15);
401             txtOper.pushKey(KeyEvent.VK_ENTER, KeyEvent.SHIFT_DOWN_MASK);
402             txtOper.typeKey('x');
403             compareToGoldenFile(txtOper.getDocument());
404
405             //------------- newly added action --------------
406

407             //43 -- remove previous word, caret at the middle of the word
408
editor.setCaretPosition(23, 15);
409             txtOper.pushKey(KeyEvent.VK_BACK_SPACE, KeyEvent.CTRL_DOWN_MASK);
410             compareToGoldenFile(txtOper.getDocument());
411             
412             //44 -- remove next word, caret at the middle of the word
413
editor.setCaretPosition(23, 7);
414             txtOper.pushKey(KeyEvent.VK_DELETE, KeyEvent.CTRL_DOWN_MASK);
415             compareToGoldenFile(txtOper.getDocument());
416
417             //45 -- remove previous word, caret after the word
418
editor.setCaretPosition(5, 14);
419             txtOper.pushKey(KeyEvent.VK_BACK_SPACE, KeyEvent.CTRL_DOWN_MASK);
420             compareToGoldenFile(txtOper.getDocument());
421             
422             //46 -- remove next word, caret before the word
423
editor.setCaretPosition(5, 10);
424             txtOper.pushKey(KeyEvent.VK_DELETE, KeyEvent.CTRL_DOWN_MASK);
425             compareToGoldenFile(txtOper.getDocument());
426
427             //47 -- remove previous word, caret at the middle of the first word in document
428
// #51866
429
editor.setCaretPosition(1, 5);
430             txtOper.pushKey(KeyEvent.VK_BACK_SPACE, KeyEvent.CTRL_DOWN_MASK);
431             compareToGoldenFile(txtOper.getDocument());
432             
433             //48 -- remove next word, caret at the middle of the last word in document
434
// #51866
435
editor.setCaretPosition(3, 4);
436             txtOper.pushKey(KeyEvent.VK_J, KeyEvent.ALT_DOWN_MASK);
437             cutCopyViaStrokes(txtOper, KeyEvent.VK_C, KeyEvent.CTRL_DOWN_MASK);
438             txtOper.pushKey(KeyEvent.VK_END, KeyEvent.CTRL_DOWN_MASK);
439             txtOper.pushKey(KeyEvent.VK_V, KeyEvent.CTRL_DOWN_MASK);
440             txtOper.pushKey(KeyEvent.VK_LEFT, 0);
441             txtOper.pushKey(KeyEvent.VK_LEFT, 0);
442             txtOper.pushKey(KeyEvent.VK_LEFT, 0);
443             txtOper.pushKey(KeyEvent.VK_DELETE, KeyEvent.CTRL_DOWN_MASK);
444             compareToGoldenFile(txtOper.getDocument());
445             
446         } finally {
447             closeFileWithDiscard();
448         }
449             
450     }
451     
452     
453 }
454
Popular Tags