KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > popup_menus > MainMenuTest


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 popup_menus;
21
22 import java.awt.event.KeyEvent JavaDoc;
23 import java.io.File JavaDoc;
24 import java.io.FileOutputStream JavaDoc;
25 import java.io.IOException JavaDoc;
26 import java.io.OutputStream JavaDoc;
27 import java.io.PrintStream JavaDoc;
28 import java.util.Hashtable JavaDoc;
29 import javax.swing.text.AbstractDocument JavaDoc;
30 import javax.swing.text.JTextComponent JavaDoc;
31 import org.netbeans.jellytools.Bundle;
32 import org.netbeans.jellytools.EditorOperator;
33 import lib.EditorTestCase;
34 import org.netbeans.api.editor.fold.Fold;
35 import org.netbeans.api.editor.fold.FoldHierarchy;
36 import org.netbeans.editor.SettingsDefaults;
37 import org.netbeans.editor.SettingsNames;
38 import org.netbeans.editor.SettingsUtil;
39 import org.netbeans.jemmy.TimeoutExpiredException;
40 import org.netbeans.jemmy.operators.JEditorPaneOperator;
41 import org.netbeans.jemmy.operators.JTextComponentOperator;
42
43 /**
44  * Test behavior of main menus - Edit, View
45  * @author Martin Roskanin
46  */

47 public class MainMenuTest extends MenuTest {
48     
49     String JavaDoc xmlFile = "testMainMenu.xml";
50     
51     /** Creates a new instance of Main */
52     public MainMenuTest(String JavaDoc testMethodName) {
53         super(testMethodName);
54     }
55     
56     
57     public void testMainMenu(){
58         openDefaultProject();
59         openDefaultSampleFile();
60         try {
61             
62             EditorOperator editor = getDefaultSampleEditorOperator();
63             JTextComponentOperator text = new JTextComponentOperator(editor);
64             final JTextComponent JavaDoc target = (JTextComponent JavaDoc)text.getSource();
65             
66             
67             boolean lineNumberVisibleSetting = SettingsUtil.getBoolean(org.netbeans.editor.Utilities.getKitClass(target),
68                     SettingsNames.LINE_NUMBER_VISIBLE,
69                     SettingsDefaults.defaultLineNumberVisible);
70             
71             //enable line number
72
JEditorPaneOperator txtOper = editor.txtEditorPane();
73             txtOper.pushKey(KeyEvent.VK_V, KeyEvent.ALT_DOWN_MASK);
74             txtOper.pushKey(KeyEvent.VK_S);
75             
76             ValueResolver resolver = new ValueResolver(){
77                 public Object JavaDoc getValue(){
78                     return SettingsUtil.getValue(org.netbeans.editor.Utilities.getKitClass(target),
79                             SettingsNames.LINE_NUMBER_VISIBLE,
80                             Boolean.FALSE);
81                 }
82             };
83             
84             waitMaxMilisForValue(2000, resolver, Boolean.TRUE);
85             
86             lineNumberVisibleSetting = SettingsUtil.getBoolean(org.netbeans.editor.Utilities.getKitClass(target),
87                     SettingsNames.LINE_NUMBER_VISIBLE,
88                     SettingsDefaults.defaultLineNumberVisible);
89             
90             if (lineNumberVisibleSetting == false){
91                 log("Java editor set line number fails:"+org.netbeans.editor.Utilities.getKitClass(target));
92             }
93             
94             //assert lineNumberVisibleSetting == true;
95
assertTrue("Java editor - line numbers not visible", lineNumberVisibleSetting);
96             
97             openSourceFile(getDefaultSamplePackage(), xmlFile);
98             
99             EditorOperator editorXML = new EditorOperator(xmlFile);
100             JTextComponentOperator textXML = new JTextComponentOperator(editorXML);
101             final JTextComponent JavaDoc targetXML = (JTextComponent JavaDoc)textXML.getSource();
102             
103             //enable line number
104
JEditorPaneOperator txtOperXML = editorXML.txtEditorPane();
105             txtOperXML.pushKey(KeyEvent.VK_V, KeyEvent.ALT_DOWN_MASK);
106             txtOperXML.pushKey(KeyEvent.VK_S);
107             
108             ValueResolver resolverXML = new ValueResolver(){
109                 public Object JavaDoc getValue(){
110                     return SettingsUtil.getValue(org.netbeans.editor.Utilities.getKitClass(targetXML),
111                             SettingsNames.LINE_NUMBER_VISIBLE,
112                             Boolean.FALSE);
113                 }
114             };
115             
116             
117             waitMaxMilisForValue(2000, resolverXML, Boolean.TRUE);
118             
119             lineNumberVisibleSetting = SettingsUtil.getBoolean(org.netbeans.editor.Utilities.getKitClass(targetXML),
120                     SettingsNames.LINE_NUMBER_VISIBLE,
121                     SettingsDefaults.defaultLineNumberVisible);
122             
123             if (lineNumberVisibleSetting == false){
124                 log("XML editor set line number fails:"+org.netbeans.editor.Utilities.getKitClass(targetXML));
125             }
126             
127             // assert lineNumberVisibleSetting == true;
128
assertTrue("XML editor - line numbers not visible", lineNumberVisibleSetting);
129         } finally {
130             // now close XML file
131
try {
132                 //find editor
133
EditorOperator editor = new EditorOperator(xmlFile);
134                 editor.closeDiscard();
135             } catch ( TimeoutExpiredException ex) {
136                 log(ex.getMessage());
137                 log("Can't close the file:"+xmlFile);
138             }
139             
140             //and java file
141
closeFileWithDiscard();
142             
143             
144         }
145     }
146     
147     
148 }
149
Popular Tags