1 19 20 package java_editor_actions; 21 22 import java.awt.datatransfer.Transferable ; 23 import java.awt.event.KeyEvent ; 24 import java.io.File ; 25 import java.io.FileOutputStream ; 26 import java.io.IOException ; 27 import java.io.OutputStream ; 28 import java.io.PrintStream ; 29 import java.util.Hashtable ; 30 import javax.swing.text.BadLocationException ; 31 import javax.swing.text.Document ; 32 import javax.swing.text.JTextComponent ; 33 import org.netbeans.jellytools.EditorOperator; 34 import org.netbeans.jemmy.operators.JEditorPaneOperator; 35 import editor_actions.EditorActionsTest; 36 37 81 public class JavaEditActionsTest extends JavaEditorActionsTest { 82 83 84 public JavaEditActionsTest(String 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 editor.setCaretPosition(5, 17); 100 txtOper.pushKey(KeyEvent.VK_INSERT); 102 txtOper.typeKey('d'); 104 txtOper.pushKey(KeyEvent.VK_INSERT); 106 txtOper.typeKey('x'); 108 compareToGoldenFile(txtOper.getDocument()); 112 114 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 txtOper.pushKey(KeyEvent.VK_BACK_SPACE, KeyEvent.CTRL_DOWN_MASK); 124 compareToGoldenFile(txtOper.getDocument()); 125 126 txtOper.pushKey(KeyEvent.VK_E, KeyEvent.CTRL_DOWN_MASK); 128 compareToGoldenFile(txtOper.getDocument()); 129 130 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 editor.setCaretPosition(11, 17); 140 txtOper.pushKey(KeyEvent.VK_V, KeyEvent.CTRL_DOWN_MASK); 141 compareToGoldenFile(txtOper.getDocument()); 142 143 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 txtOper.pushKey(KeyEvent.VK_U, KeyEvent.CTRL_DOWN_MASK); 157 compareToGoldenFile(txtOper.getDocument()); 158 159 txtOper.pushKey(KeyEvent.VK_U, KeyEvent.CTRL_DOWN_MASK); 161 compareToGoldenFile(txtOper.getDocument()); 162 163 txtOper.pushKey(KeyEvent.VK_U, KeyEvent.CTRL_DOWN_MASK); 165 compareToGoldenFile(txtOper.getDocument()); 166 167 txtOper.pushKey(KeyEvent.VK_DELETE); 169 compareToGoldenFile(txtOper.getDocument()); 170 171 txtOper.pushKey(KeyEvent.VK_END, KeyEvent.SHIFT_DOWN_MASK); 173 txtOper.pushKey(KeyEvent.VK_DELETE); 174 compareToGoldenFile(txtOper.getDocument()); 175 176 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 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 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 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 editor.setCaretPosition(6, 21); 210 txtOper.pushKey(KeyEvent.VK_K, KeyEvent.CTRL_DOWN_MASK); 211 compareToGoldenFile(txtOper.getDocument()); 212 213 editor.setCaretPosition(10, 20); 215 txtOper.typeKey(' '); 217 editor.setCaretPosition(10, 23); 218 txtOper.pushKey(KeyEvent.VK_L, KeyEvent.CTRL_DOWN_MASK); 219 compareToGoldenFile(txtOper.getDocument()); 220 221 editor.setCaretPosition(19, 12); 223 txtOper.typeKey('s'); 224 txtOper.typeKey('t'); 225 txtOper.pressKey(KeyEvent.VK_TAB); 226 compareToGoldenFile(txtOper.getDocument()); 227 228 editor.setCaretPosition(20, 9); 230 txtOper.typeKey('s'); 231 txtOper.typeKey('t'); 232 txtOper.typeKey(' '); 233 compareToGoldenFile(txtOper.getDocument()); 234 235 236 237 238 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 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 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 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 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 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 276 277 278 editor.setCaretPosition(10, 9); 280 txtOper.pushKey(KeyEvent.VK_TAB, KeyEvent.SHIFT_DOWN_MASK); 281 compareToGoldenFile(txtOper.getDocument()); 282 283 txtOper.pushKey(KeyEvent.VK_TAB); 285 compareToGoldenFile(txtOper.getDocument()); 286 287 editor.setCaretPosition(9, 1); 289 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 txtOper.pushKey(KeyEvent.VK_TAB, KeyEvent.SHIFT_DOWN_MASK); 295 compareToGoldenFile(txtOper.getDocument()); 296 297 txtOper.pushKey(KeyEvent.VK_TAB); 299 compareToGoldenFile(txtOper.getDocument()); 300 301 editor.setCaretPosition(9, 1); 303 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 txtOper.pushKey(KeyEvent.VK_D, KeyEvent.CTRL_DOWN_MASK); 309 compareToGoldenFile(txtOper.getDocument()); 310 311 txtOper.pushKey(KeyEvent.VK_T, KeyEvent.CTRL_DOWN_MASK); 313 compareToGoldenFile(txtOper.getDocument()); 314 315 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 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 txtOper.setSelectionStart(1); 332 txtOper.setSelectionEnd(1); 333 txtOper.pushKey(KeyEvent.VK_F, KeyEvent.SHIFT_DOWN_MASK | KeyEvent.CTRL_DOWN_MASK); 335 compareToGoldenFile(txtOper.getDocument()); 336 337 338 339 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 txtOper.pushKey(KeyEvent.VK_U, KeyEvent.ALT_DOWN_MASK); 347 txtOper.pushKey(KeyEvent.VK_S); 348 compareToGoldenFile(txtOper.getDocument()); 349 350 txtOper.pushKey(KeyEvent.VK_U, KeyEvent.ALT_DOWN_MASK); 352 txtOper.pushKey(KeyEvent.VK_I); 353 compareToGoldenFile(txtOper.getDocument()); 354 355 txtOper.pushKey(KeyEvent.VK_T, KeyEvent.CTRL_DOWN_MASK | KeyEvent.SHIFT_DOWN_MASK); 357 compareToGoldenFile(txtOper.getDocument()); 358 359 txtOper.pushKey(KeyEvent.VK_D, KeyEvent.CTRL_DOWN_MASK | KeyEvent.SHIFT_DOWN_MASK); 361 compareToGoldenFile(txtOper.getDocument()); 362 363 editor.setCaretPosition(19, 1); 365 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 txtOper.pushKey(KeyEvent.VK_D, KeyEvent.CTRL_DOWN_MASK | KeyEvent.SHIFT_DOWN_MASK); 374 compareToGoldenFile(txtOper.getDocument()); 375 376 editor.setCaretPosition(6, 1); 379 txtOper.typeKey(' '); 380 editor.setCaretPosition(7, 1); 381 txtOper.pushKey(KeyEvent.VK_DELETE); 382 editor.setCaretPosition(6, 1); 383 txtOper.pushKey(KeyEvent.VK_DOWN, KeyEvent.SHIFT_DOWN_MASK); 385 txtOper.pushKey(KeyEvent.VK_DOWN, KeyEvent.SHIFT_DOWN_MASK); 386 cutCopyViaStrokes(txtOper, KeyEvent.VK_C, KeyEvent.CTRL_DOWN_MASK); 388 editor.setCaretPosition(12, 1); 389 txtOper.pushKey(KeyEvent.VK_V, KeyEvent.CTRL_DOWN_MASK | KeyEvent.SHIFT_DOWN_MASK); 391 compareToGoldenFile(txtOper.getDocument()); 392 393 editor.setCaretPosition(15, 21); 395 txtOper.pushKey(KeyEvent.VK_ENTER, KeyEvent.CTRL_DOWN_MASK); 396 txtOper.typeKey('x'); 397 compareToGoldenFile(txtOper.getDocument()); 398 399 editor.setCaretPosition(15, 15); 401 txtOper.pushKey(KeyEvent.VK_ENTER, KeyEvent.SHIFT_DOWN_MASK); 402 txtOper.typeKey('x'); 403 compareToGoldenFile(txtOper.getDocument()); 404 405 407 editor.setCaretPosition(23, 15); 409 txtOper.pushKey(KeyEvent.VK_BACK_SPACE, KeyEvent.CTRL_DOWN_MASK); 410 compareToGoldenFile(txtOper.getDocument()); 411 412 editor.setCaretPosition(23, 7); 414 txtOper.pushKey(KeyEvent.VK_DELETE, KeyEvent.CTRL_DOWN_MASK); 415 compareToGoldenFile(txtOper.getDocument()); 416 417 editor.setCaretPosition(5, 14); 419 txtOper.pushKey(KeyEvent.VK_BACK_SPACE, KeyEvent.CTRL_DOWN_MASK); 420 compareToGoldenFile(txtOper.getDocument()); 421 422 editor.setCaretPosition(5, 10); 424 txtOper.pushKey(KeyEvent.VK_DELETE, KeyEvent.CTRL_DOWN_MASK); 425 compareToGoldenFile(txtOper.getDocument()); 426 427 editor.setCaretPosition(1, 5); 430 txtOper.pushKey(KeyEvent.VK_BACK_SPACE, KeyEvent.CTRL_DOWN_MASK); 431 compareToGoldenFile(txtOper.getDocument()); 432 433 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
|