1 19 20 package complete; 21 22 import org.netbeans.jellytools.EditorOperator; 23 import org.netbeans.jellytools.NbDialogOperator; 24 import org.netbeans.jellytools.NewWizardOperator; 25 import org.netbeans.jellytools.TopComponentOperator; 26 import org.netbeans.jellytools.actions.OpenAction; 27 import org.netbeans.jellytools.modules.javacvs.output.AnnotateOutputOperator; 28 import org.netbeans.jellytools.modules.javacvs.output.LogOutputOperator; 29 import org.netbeans.jellytools.modules.javacvs.output.StatusOutputOperator; 30 import org.netbeans.jellytools.modules.vcscore.VCSCommandsOutputOperator; 31 import org.netbeans.jellytools.nodes.FilesystemNode; 32 import org.netbeans.jellytools.nodes.Node; 33 import org.netbeans.jellytools.util.StringFilter; 34 import org.netbeans.jemmy.operators.JTextFieldOperator; 35 import org.netbeans.test.oo.gui.jelly.javacvs.AnnotateDialog; 36 import org.netbeans.test.oo.gui.jelly.javacvs.CommitDialog; 37 import org.netbeans.test.oo.gui.jelly.javacvs.DiffDialog; 38 import org.netbeans.test.oo.gui.jelly.javacvs.LogDialog; 39 import org.netbeans.test.oo.gui.jelly.javacvs.RemoveDialog; 40 import org.netbeans.test.oo.gui.jelly.javacvs.StatusDialog; 41 import org.netbeans.test.oo.gui.jelly.vcscore.OutputOfVCSCommandsFrame; 42 43 public class AdditionalCommands extends JCVSStub { 44 45 public AdditionalCommands(String testName) { 46 super(testName); 47 } 48 49 public static junit.framework.Test suite() { 50 junit.framework.TestSuite suite = new org.netbeans.junit.NbTestSuite(); 52 suite.addTest(new AdditionalCommands("configure")); 53 suite.addTest(new AdditionalCommands("testStatusRefresh")); 54 suite.addTest(new AdditionalCommands("testRemove")); 55 suite.addTest(new AdditionalCommands("testLogInit")); 57 suite.addTest(new AdditionalCommands("testLogFileFull")); 58 suite.addTest(new AdditionalCommands("testLogFileStrict")); 59 suite.addTest(new AdditionalCommands("testLogDirectory")); 60 suite.addTest(new AdditionalCommands("testLogDirectoryRecursive")); 61 suite.addTest(new AdditionalCommands("testLogRestrictions")); 62 suite.addTest(new AdditionalCommands("testStatusInit")); 63 suite.addTest(new AdditionalCommands("testStatusFile")); 64 suite.addTest(new AdditionalCommands("testStatusFileIncludeTags")); 65 suite.addTest(new AdditionalCommands("testStatusDirectory")); 66 suite.addTest(new AdditionalCommands("testStatusDirectoryRecursive")); 67 suite.addTest(new AdditionalCommands("testAnnotateInit")); 68 suite.addTest(new AdditionalCommands("testAnnotateFileFull")); 69 suite.addTest(new AdditionalCommands("testAnnotateFileStrict")); 70 suite.addTest(new AdditionalCommands("testAnnotateDirectory")); 71 suite.addTest(new AdditionalCommands("testAnnotateDirectoryRecursive")); 72 suite.addTest(new AdditionalCommands("testAnnotateInvalid")); 73 suite.addTest(new AdditionalCommands("testAnnotateForce")); 74 suite.addTest(new AdditionalCommands("testDiffInit")); 75 suite.addTest(new AdditionalCommands("testDiffFile1Revision")); 76 suite.addTest(new AdditionalCommands("testDiffFile2Revisions")); 77 suite.addTest(new AdditionalCommands("testDiffFileIgnore")); 78 suite.addTest(new AdditionalCommands("testDiffFileFormat")); 79 suite.addTest(new AdditionalCommands("testUnmount")); 81 return suite; 82 } 83 84 public static void main(java.lang.String [] args) { 85 junit.textui.TestRunner.run(suite()); 86 } 87 88 GenericNode pac1, subpac1; 89 GenericNode aa1; 90 GenericNode log1, log2; 91 92 GenericNode pac2, subpac2; 93 GenericNode status1, status2; 94 95 GenericNode pac3, subpac3; 96 GenericNode anno1, anno2; 97 98 GenericNode pac4, subpac4; 99 GenericNode diff1, diff2; 100 101 protected void createStructure() { 102 pac1 = new GenericNode (root, "pac1"); 103 subpac1 = new GenericNode (pac1, "subpac1"); 104 105 aa1 = new GenericNode (subpac1, "Aa1", ".java"); 106 107 log1 = new GenericNode (subpac1, "log1", ".java"); 108 log2 = new GenericNode (subpac1, "log2", ".java"); 109 110 pac2 = new GenericNode (root, "pac2"); 111 subpac2 = new GenericNode (pac2, "subpac2"); 112 113 status1 = new GenericNode (subpac2, "status1", ".java"); 114 status2 = new GenericNode (subpac2, "status2", ".java"); 115 116 pac3 = new GenericNode (root, "pac3"); 117 subpac3 = new GenericNode (pac3, "subpac3"); 118 119 anno1 = new GenericNode (pac3, "anno1"); 120 anno2 = new GenericNode (subpac3, "anno2"); 121 122 pac4 = new GenericNode (root, "pac4"); 123 subpac4 = new GenericNode (pac4, "subpac4"); 124 125 diff1 = new GenericNode (subpac4, "diff1"); 126 diff2 = new GenericNode (subpac4, "diff2"); 127 } 128 129 public void configure () { 130 super.configure (); 131 if (!DEBUG) { 132 createStructure (); 133 134 subpac1.mkdirs (); 135 refresh (root); 136 pac1.waitStatus ("Local"); 137 addDirectory(pac1); 138 refresh (pac1); 139 subpac1.waitStatus ("Local"); 140 addDirectory(subpac1); 141 142 subpac2.mkdirs (); 143 refresh (root); 144 pac2.waitStatus ("Local"); 145 addDirectory(pac2); 146 refresh (pac2); 147 subpac2.waitStatus ("Local"); 148 addDirectory(subpac2); 149 150 createAddCommitFile (aa1, "Java Classes|Main"); 151 } 152 } 153 154 public void testStatusRefresh () { 155 aa1.waitStatus ("Up-to-date; 1.1"); 156 String file = loadFile(aa1.file ()); 157 try { 158 new OpenAction ().perform(aa1.jcvsNode ()); 159 EditorOperator eo = new EditorOperator (aa1.name () + " [Up-to-date; 1.1]"); 160 161 eo.txtEditorPane().typeText("// inserted line\n", 0); 162 eo.waitModified(true); 163 eo.save (); 164 eo.waitModified (false); 165 aa1.waitStatus ("LMod; 1.1"); 166 eo.deleteLine(1); 167 eo.waitModified (true); 168 eo.save (); 169 eo.waitModified (false); 170 172 refresh (pac1); 173 aa1.waitStatus ("LMod; 1.1"); 174 refresh (subpac1); 175 aa1.waitStatus ("Up-to-date; 1.1"); 176 } finally { 177 saveToFile(getWorkFilePath() + "/modfile1", loadFile (aa1.file ())); 178 aa1.save (file); 179 } 180 181 try { 182 aa1.save ("Modify"); 183 refresh (aa1); 184 aa1.waitStatus ("LMod; 1.1"); 185 } finally { 186 saveToFile(getWorkFilePath() + "/modfile2", loadFile (aa1.file ())); 187 aa1.save (file); 188 } 189 190 refresh (pac1); 191 aa1.waitStatus ("LMod; 1.1"); 192 refresh (subpac1); 193 aa1.waitStatus ("Up-to-date; 1.1"); 194 195 try { 196 aa1.save ("Modify"); 197 refresh (aa1); 198 aa1.waitStatus ("LMod; 1.1"); 199 } finally { 200 saveToFile(getWorkFilePath() + "/modfile3", loadFile (aa1.file ())); 201 aa1.save (file); 202 } 203 204 refreshRecursively(pac1); 205 aa1.waitStatus ("Up-to-date; 1.1"); 206 } 207 208 public void testRemove () { 209 GenericNode remfile = new GenericNode (subpac1, "remfile", ".java"); 210 createAddCommitFile (remfile, "Java Classes|Main"); 211 212 closeAllVCSWindows(); 213 remfile.jcvsNode ().jCVSRemove (); 214 RemoveDialog rem = new RemoveDialog (); 215 rem.runCommand (); 216 rem.waitClosed (); 217 218 OutputOfVCSCommandsFrame output = new OutputOfVCSCommandsFrame (); 219 dumpTable (output.tabJTable()); 220 remfile.waitStatus ("Up-to-date; 1.1"); 221 222 closeAllVCSWindows(); 223 remfile.jcvsNode ().jCVSRemove (); 224 rem = new RemoveDialog (); 225 checkCheckBox (rem.cbDeleteBeforeRemove()); 226 rem.runCommand (); 227 rem.waitClosed (); 228 229 output = new OutputOfVCSCommandsFrame (); 230 dumpTable (output.tabJTable()); 231 remfile.waitStatus ("LRemoved", false); 232 233 remfile.jcvsNode().jCVSCommit (); 234 CommitDialog com = new CommitDialog (); 235 com.runCommand(); 236 com.waitClosed (); 237 remfile.waitHistoryShort ("commit -m \"\""); 238 remfile.parent ().jcvsNode ().waitChildNotPresent(remfile.name ()); 239 } 240 241 public void testRemoveRecursively () { 242 } 244 245 public void testLogInit () { 246 createAddCommitFile(log1, "Java Classes|Empty"); 247 log1.waitStatus ("Up-to-date; 1.1"); 248 createAddCommitFile(log2, "Java Classes|Empty"); 249 log2.waitStatus ("Up-to-date; 1.1"); 250 251 log1.save ("modify - log 1 - 1.2"); 252 refresh (log1); 253 log1.waitStatus ("LMod; 1.1"); 254 commitFile(log1, null, "Desc - log 1 - 1.2"); 255 log1.waitStatus ("Up-to-date; 1.2"); 256 257 log2.save ("modify - log 2 - 1.2"); 258 refresh (log2); 259 log2.waitStatus ("LMod; 1.1"); 260 commitFile(log2, null, "Desc - log 2 - 1.2"); 261 log2.waitStatus ("Up-to-date; 1.2"); 262 263 addTagFile (log1, "branchtag", true); 264 log1.save ("modify - log 1 - branch - 1.2.1.1"); 265 refresh (log1); 266 log1.waitStatus ("LMod; 1.2"); 267 commitFile (log1, "branchtag", "Desc - log 1 - branchtag - 1.2.2.1"); 268 log1.waitStatus ("Up-to-date; 1.2.2.1"); 269 log1.waitVersion("branchtag"); 270 } 271 272 public void testLogFileFull () { 273 closeAllVCSWindows(); 274 log1.jcvsNode ().jCVSLog (); 275 LogDialog dia = new LogDialog (); 276 dia.runCommand(); 277 dia.waitClosed(); 278 log1.waitHistoryShort ("log"); 279 280 LogOutputOperator log = new LogOutputOperator (false, false, false); 281 log.dumpFile(out, "/cvsroot/test/jcvs/" + roothistoryshort); 282 283 compareReferenceFiles(); 284 } 285 286 public void testLogFileStrict () { 287 closeAllVCSWindows(); 288 log1.jcvsNode ().jCVSLog (); 289 LogDialog dia = new LogDialog (); 290 checkCheckBox (dia.cbNotRecursively()); 291 checkCheckBox (dia.cbDefaultBranchOnly()); 292 checkCheckBox (dia.cbNoTags()); 293 checkCheckBox (dia.cbHeaderAndDescriptionOnly()); 294 checkCheckBox (dia.cbHeaderOnly()); 295 dia.runCommand(); 296 dia.waitClosed(); 297 log1.waitHistoryShort ("log -b -t -h -N -l"); 298 299 LogOutputOperator log = new LogOutputOperator (false, true, true); 300 log.dumpFile(out, "/cvsroot/test/jcvs/" + roothistoryshort); 301 302 compareReferenceFiles(); 303 } 304 305 public void testLogDirectory () { 306 closeAllVCSWindows(); 307 pac1.jcvsNode ().jCVSLog (); 308 LogDialog dia = new LogDialog (); 309 checkCheckBox (dia.cbNotRecursively()); 310 dia.runCommand(); 311 dia.waitClosed(); 312 pac1.waitHistoryShort ("log -l"); 313 314 LogOutputOperator log = new LogOutputOperator (true, false, false); 315 log.txtContains().clearText (); 316 log.txtContains().enterText("Desc - log "); 317 log.dumpAll(out, "/cvsroot/test/jcvs/" + roothistoryshort); 318 319 compareReferenceFiles(); 320 } 321 322 public void testLogDirectoryRecursive () { 323 closeAllVCSWindows(); 324 pac1.jcvsNode ().jCVSLog (); 325 LogDialog dia = new LogDialog (); 326 dia.runCommand(); 327 dia.waitClosed(); 328 pac1.waitHistoryShort ("log"); 329 330 LogOutputOperator log = new LogOutputOperator (true, false, false); 331 log.txtContains().clearText (); 332 log.txtContains().enterText("Desc - log "); 333 log.dumpAll(out, "/cvsroot/test/jcvs/" + roothistoryshort); 334 335 compareReferenceFiles(); 336 } 337 338 public void testLogRestrictions () { 339 pac1.jcvsNode ().jCVSLog (); 340 LogDialog dia = new LogDialog (); 341 checkCheckBox (dia.cbNotRecursively()); 342 checkCheckBox (dia.cbDefaultBranchOnly()); 343 checkCheckBox (dia.cbNoTags()); 344 checkCheckBox (dia.cbHeaderAndDescriptionOnly()); 345 checkCheckBox (dia.cbHeaderOnly()); 346 checkCheckBox (dia.cbState()); 347 dia.txtState().clearText (); 348 dia.txtState().typeText ("STATE"); 349 checkCheckBox (dia.cbRevision()); 350 dia.txtRevision().clearText (); 351 dia.txtRevision().typeText ("REVISION"); 352 checkCheckBox (dia.cbDate()); 353 dia.txtDate().clearText (); 354 dia.txtDate().typeText ("DATE"); 355 checkCheckBox (dia.cbUser()); 356 dia.txtUser().clearText (); 357 dia.txtUser().typeText ("USER"); 358 359 JTextFieldOperator cvsSwitches = new JTextFieldOperator (dia, "log "); 360 assertEquals ("CVS Command String", "log -b -t -h -N -l -wUSER -rREVISION -sSTATE -dDATE ", cvsSwitches.getText ()); 361 dia.cancel(); 362 dia.waitClosed(); 363 } 364 365 public void testStatusInit () { 366 createAddCommitFile(status1, "Java Classes|Empty"); 367 status1.waitStatus ("Up-to-date; 1.1"); 368 createAddCommitFile(status2, "Java Classes|Empty"); 369 status2.waitStatus ("Up-to-date; 1.1"); 370 371 status1.save ("modify - status 1 - 1.2"); 372 refresh (status1); 373 status1.waitStatus ("LMod; 1.1"); 374 commitFile(status1, null, "Desc - status 1 - 1.2"); 375 status1.waitStatus ("Up-to-date; 1.2"); 376 377 status2.save ("modify - status 2 - 1.2"); 378 refresh (status2); 379 status2.waitStatus ("LMod; 1.1"); 380 commitFile(status2, null, "Desc - status 2 - 1.2"); 381 status2.waitStatus ("Up-to-date; 1.2"); 382 383 addTagFile (status1, "branchtag", true); 384 status1.save ("modify - status 1 - branch - 1.2.1.1"); 385 refresh (status1); 386 status1.waitStatus ("LMod; 1.2"); 387 commitFile (status1, "branchtag", "Desc - status 1 - branchtag - 1.2.2.1"); 388 status1.waitStatus ("Up-to-date; 1.2.2.1"); 389 status1.waitVersion("branchtag"); 390 } 391 392 public void testStatusFile () { 393 closeAllVCSWindows(); 394 status1.jcvsNode ().jCVSStatus (); 395 StatusDialog dia = new StatusDialog (); 396 dia.runCommand(); 397 dia.waitClosed(); 398 status1.waitHistoryShort ("status"); 399 400 StatusOutputOperator status = new StatusOutputOperator (false); 401 status.dumpFile(out, "/cvsroot/test/jcvs/" + roothistoryshort); 402 status.btGetTags().push (); 403 waitNoEmpty (status.tabExistingTags()); 404 status.dumpExistingTags(out); 405 406 compareReferenceFiles(); 407 } 408 409 public void testStatusFileIncludeTags () { 410 closeAllVCSWindows(); 411 status1.jcvsNode ().jCVSStatus (); 412 StatusDialog dia = new StatusDialog (); 413 checkCheckBox (dia.cbIncludeTagInfo()); 414 dia.runCommand(); 415 dia.waitClosed(); 416 status1.waitHistoryShort ("status -v"); 417 418 StatusOutputOperator status = new StatusOutputOperator (false); 419 status.dumpFile(out, "/cvsroot/test/jcvs/" + roothistoryshort); 420 421 compareReferenceFiles(); 422 } 423 424 public void testStatusDirectory () { 425 closeAllVCSWindows(); 426 pac2.jcvsNode ().jCVSStatus (); 427 StatusDialog dia = new StatusDialog (); 428 checkCheckBox (dia.cbIncludeTagInfo()); 429 checkCheckBox (dia.cbNotRecursively()); 430 dia.runCommand(); 431 dia.waitClosed(); 432 pac2.waitHistoryShort ("status -v -l"); 433 434 StatusOutputOperator status = new StatusOutputOperator (true); 435 status.dumpAll(out, "/cvsroot/test/jcvs/" + roothistoryshort); 436 437 compareReferenceFiles(); 438 } 439 440 public void testStatusDirectoryRecursive () { 441 closeAllVCSWindows(); 442 pac2.jcvsNode ().jCVSStatus (); 443 StatusDialog dia = new StatusDialog (); 444 checkCheckBox (dia.cbIncludeTagInfo()); 445 dia.runCommand(); 446 dia.waitClosed(); 447 pac2.waitHistoryShort ("status -v"); 448 449 StatusOutputOperator status = new StatusOutputOperator (true); 450 status.dumpAll(out, "/cvsroot/test/jcvs/" + roothistoryshort); 451 452 compareReferenceFiles(); 453 } 454 455 public void testAnnotateInit () { 456 subpac3.mkdirs (); 457 refresh (root); 458 pac3.waitStatus ("Local"); 459 addDirectory(pac3); 460 refresh (pac3); 461 subpac3.waitStatus ("Local"); 462 addDirectory(subpac3); 463 464 anno1.save ("Commit-1.1"); 465 refresh (anno1.parent ()); 466 anno1.jcvsNode(); 467 addFile(anno1, "Add-Desc-1.1"); 468 commitFile(anno1, null, "Commit-Desc-1.1"); 469 anno1.waitStatus ("Up-to-date; 1.1"); 470 addTagFile(anno1, "TagName", true); 471 anno1.save ("Commit-TagName"); 472 refresh (anno1.parent ()); 473 anno1.waitStatus ("LMod; 1.1"); 474 commitFile(anno1, "TagName", "Commit-Desc-TagName"); 475 anno1.waitStatus ("Up-to-date; 1.1.2.1"); 476 anno1.waitVersion ("TagName"); 477 478 anno2.save ("Commit-1.1 - Line1\nCommit-1.1 - Line2\nCommit-1.1 - Line4\nCommit-1.1 - Line5\n"); 479 refresh(anno2.parent ()); 480 anno2.jcvsNode(); 481 addFile (anno2, "InitialState"); 482 commitFile (anno2, null, "Commit_1.1"); 483 anno2.waitStatus ("Up-to-date; 1.1"); 484 anno2.save ("Commit-1.1 - Line1\nCommit-1.1 - Line2 - Modified-1.2\nCommit-1.2 - Line3 - Added-1.2\nCommit-1.1 - Line4\nCommit-1.1 - Line5 - Modified-1.2\n"); 485 commitFile (anno2, null, "Commit_1.2"); 486 anno2.waitStatus ("Up-to-date; 1.2"); 487 anno2.save ("Commit-1.3 - Line0 - Added-1.3\nCommit-1.1 - Line1\nCommit-1.1 - Line2 - Modified-1.2 - Modified-1.3\nCommit-1.2 - Line3 - Added-1.2\nCommit-1.1 - Line4\nCommit-1.1 - Line5 - Modified-1.2\n"); 488 commitFile (anno2, null, "Commit_1.3"); 489 anno2.waitStatus ("Up-to-date; 1.3"); 490 } 491 492 public void testAnnotateFileFull () { 493 closeAllVCSWindows (); 494 anno2.jcvsNode().jCVSAnnotate(); 495 AnnotateDialog dia = new AnnotateDialog (); 496 dia.runCommand(); 497 dia.waitClosed(); 498 anno2.waitHistoryShort ("annotate"); 499 500 AnnotateOutputOperator aoo = new AnnotateOutputOperator (false); 501 aoo.dumpFile (out, roothistoryshort); 502 503 compareReferenceFiles(); 504 } 505 506 public void testAnnotateFileStrict () { 507 AnnotateDialog dia; 508 AnnotateOutputOperator aoo; 509 510 closeAllVCSWindows (); 511 anno1.jcvsNode().jCVSAnnotate(); 512 dia = new AnnotateDialog (); 513 checkCheckBox(dia.cbDate()); 514 checkCheckBox(dia.cbRevisionTag()); 515 dia.txtRevisionTag().typeText ("TagName"); 516 checkCheckBox(dia.cbForceHead()); 517 dia.runCommand(); 518 dia.waitClosed(); 519 dia = null; 520 anno1.waitHistoryShort ("annotate -r TagName -D -f"); 521 522 aoo = new AnnotateOutputOperator (false); 523 aoo.dumpFile (out, roothistoryshort); 524 aoo = null; 525 526 compareReferenceFiles(); 527 } 528 529 public void testAnnotateDirectory () { 530 closeAllVCSWindows (); 531 pac3.jcvsNode().jCVSAnnotate(); 532 AnnotateDialog dia = new AnnotateDialog (); 533 checkCheckBox(dia.cbNotRecursively()); 534 dia.runCommand(); 535 dia.waitClosed(); 536 pac3.waitHistoryShort ("annotate -l"); 537 538 AnnotateOutputOperator aoo = new AnnotateOutputOperator (true); 539 aoo.dumpAll (out, roothistoryshort); 540 541 compareReferenceFiles(); 542 } 543 544 public void testAnnotateDirectoryRecursive () { 545 closeAllVCSWindows (); 546 pac3.jcvsNode().jCVSAnnotate(); 547 AnnotateDialog dia = new AnnotateDialog (); 548 dia.runCommand(); 549 dia.waitClosed(); 550 pac3.waitHistoryShort ("annotate"); 551 552 AnnotateOutputOperator aoo = new AnnotateOutputOperator (true); 553 aoo.dumpAll (out, roothistoryshort); 554 555 compareReferenceFiles(); 556 } 557 558 public void testAnnotateInvalid () { 559 closeAllVCSWindows (); 560 anno1.jcvsNode().jCVSAnnotate(); 561 AnnotateDialog dia = new AnnotateDialog (); 562 checkCheckBox(dia.cbDate()); 563 checkCheckBox(dia.cbRevisionTag()); 564 dia.txtRevisionTag().typeText ("InvalidTagName"); 565 checkCheckBox(dia.cbForceHead()); 566 dia.runCommand(); 567 dia.waitClosed(); 568 569 NbDialogOperator d = new NbDialogOperator ("CVS Error"); 570 d.close(); 571 d.waitClosed (); 572 } 573 574 public void testAnnotateForce () { 575 AnnotateDialog dia; 576 AnnotateOutputOperator aoo; 577 578 addTagFile (pac3, "NewTag", true); 579 GenericNode anno3 = new GenericNode (pac3, "anno3", ".java"); 580 createAddCommitFile(anno3, "Java Classes|Empty"); 581 582 out.println ("+=== No Force ===+"); 583 closeAllVCSWindows (); 584 pac3.jcvsNode().jCVSAnnotate(); 585 dia = new AnnotateDialog (); 586 checkCheckBox(dia.cbRevisionTag()); 587 dia.txtRevisionTag().typeText ("NewTag"); 588 checkCheckBox(dia.cbForceHead()); 589 dia.runCommand(); 590 dia.waitClosed(); 591 pac3.waitHistoryShort ("annotate -r NewTag -f"); 592 593 aoo = new AnnotateOutputOperator (true); 594 aoo.dumpAll (out, roothistoryshort); 595 596 out.println ("+=== Force HEAD ===+"); 597 closeAllVCSWindows (); 598 pac3.jcvsNode().jCVSAnnotate(); 599 dia = new AnnotateDialog (); 600 checkCheckBox(dia.cbRevisionTag()); 601 dia.txtRevisionTag().typeText ("NewTag"); 602 dia.runCommand(); 603 dia.waitClosed(); 604 pac3.waitHistoryShort ("annotate -r NewTag"); 605 606 aoo = new AnnotateOutputOperator (true); 607 aoo.dumpAll (out, roothistoryshort); 608 609 compareReferenceFiles(); 610 } 611 612 public void testDiffInit () { 613 subpac4.mkdirs (); 614 refresh (root); 615 pac4.waitStatus ("Local"); 616 addDirectory(pac4); 617 refresh (pac4); 618 subpac4.waitStatus ("Local"); 619 addDirectory(subpac4); 620 621 diff1.save ("Commit-1.1\nWhitespace Check\nSpace Changes Check\nCase-sensitive Check\nNewLines Check\nEnd of NewLines Check\n"); 622 refresh (diff1.parent ()); 623 diff1.jcvsNode(); 624 addFile(diff1, "Add-Desc-1.1"); 625 commitFile(diff1, null, "Commit-Desc-1.1"); 626 diff1.waitStatus ("Up-to-date; 1.1"); 627 diff1.save ("Commit-1.1\n Whitespace Check \nSpace Changes Check\ncASE-SENsitive Check\nNewLines Check\n\n\n\nEnd of NewLines Check\n"); 628 refresh (diff1.parent ()); 629 diff1.waitStatus ("LMod; 1.1"); 630 631 diff2.save ("Commit-1.1 - Line1\nCommit-1.1 - Line2\nCommit-1.1 - Line4\nCommit-1.1 - Line5\n"); 632 refresh(diff2.parent ()); 633 diff2.jcvsNode(); 634 addFile (diff2, "InitialState"); 635 commitFile (diff2, null, "Commit_1.1"); 636 diff2.waitStatus ("Up-to-date; 1.1"); 637 diff2.save ("Commit-1.1 - Line1\nCommit-1.1 - Line2 - Modified-1.2\nCommit-1.2 - Line3 - Added-1.2\nCommit-1.1 - Line4\nCommit-1.1 - Line5 - Modified-1.2\n"); 638 commitFile (diff2, null, "Commit_1.2"); 639 diff2.waitStatus ("Up-to-date; 1.2"); 640 diff2.save ("Commit-1.3 - Line0 - Added-1.3\nCommit-1.1 - Line1\nCommit-1.1 - Line2 - Modified-1.2 - Modified-1.3\nCommit-1.2 - Line3 - Added-1.2\nCommit-1.1 - Line4\nCommit-1.1 - Line5 - Modified-1.2\n"); 641 commitFile (diff2, null, "Commit_1.3"); 642 diff2.waitStatus ("Up-to-date; 1.3"); 643 } 644 645 public void dumpDiffGraphical (GenericNode node) { 646 TopComponentOperator tco = new TopComponentOperator ("Diff " + node.filename(0)); 647 out.println ("==== Diff: " + node.filename(0)); 648 try { 649 dumpDiffGraphical (tco); 650 } finally { 651 tco.close(); 652 waitIsShowing(tco.getSource()); 653 } 654 } 655 656 public void dumpDiffTextual (GenericNode node, String command) { 657 VCSCommandsOutputOperator coo = new VCSCommandsOutputOperator ("Diff"); 658 out.println ("==== Diff: " + node.filename(0)); 659 waitNoEmpty(coo.txtStandardOutput()); 660 String txt = coo.txtStandardOutput ().getText (); 661 info.println ("==== Diff: " + node.filename(0)); 662 info.println (txt); 663 StringFilter sf = new StringFilter (); 664 sf.addReplaceAllFilter("/cvsroot/test/jcvs/" + roothistoryshort, "<REPOSITORY_PREFIX>"); 665 sf.addReplaceFilter("*** " + node.history (), "", "*** " + node.history () + "<FILTERED>"); 666 sf.addReplaceFilter("--- " + node.history (), "", "--- " + node.history () + "<FILTERED>"); 667 sf.addReplaceFilter("+++ " + node.history (), "", "+++ " + node.history () + "<FILTERED>"); 668 printFiltered(txt, sf); 669 } 670 671 public void testDiffFile1Revision () { 672 DiffDialog dia; 673 674 diff2.jcvsNode ().jCVSDiff(); 675 dia = new DiffDialog (); 676 dia.txtRevision1().typeText ("1.1"); 677 dia.runCommand(); dia.waitClosed (); dia = null; 678 diff2.waitHistoryShort ("diff -r 1.1"); 679 out.println ("==== 1 revision ===="); 680 dumpDiffGraphical (diff2); 681 682 compareReferenceFiles(); 683 } 684 685 public void testDiffFile2Revisions () { 686 DiffDialog dia; 687 688 diff2.jcvsNode ().jCVSDiff(); 689 dia = new DiffDialog (); 690 dia.txtRevision1().typeText ("1.1"); 691 dia.txtRevision2().typeText ("1.2"); 692 dia.runCommand(); dia.waitClosed (); dia = null; 693 diff2.waitHistoryShort ("diff -r 1.1 -r 1.2"); 694 out.println ("==== 2 revisions ===="); 695 dumpDiffGraphical (diff2); 696 697 compareReferenceFiles(); 698 } 699 700 public void testDiffFileIgnore () { 701 DiffDialog dia; 702 703 diff1.jcvsNode ().jCVSDiff(); 704 dia = new DiffDialog (); 705 checkCheckBox (dia.cbIgnoreAllWhitespace()); 706 dia.runCommand(); dia.waitClosed (); dia = null; 707 diff1.waitHistoryShort ("diff -w"); 708 out.println ("==== cbIgnoneAllWhitespace ===="); 709 dumpDiffGraphical (diff1); 710 711 diff1.jcvsNode ().jCVSDiff(); 712 dia = new DiffDialog (); 713 checkCheckBox (dia.cbIgnoreBlankLines()); 714 dia.runCommand(); dia.waitClosed (); dia = null; 715 diff1.waitHistoryShort ("diff -B"); 716 out.println ("==== cbIgnoreBlankLines ===="); 717 dumpDiffGraphical (diff1); 718 719 diff1.jcvsNode ().jCVSDiff(); 720 dia = new DiffDialog (); 721 checkCheckBox (dia.cbIgnoreCase()); 722 dia.runCommand(); dia.waitClosed (); dia = null; 723 diff1.waitHistoryShort ("diff -i"); 724 out.println ("==== cbIgnoreCase ===="); 725 dumpDiffGraphical (diff1); 726 727 diff1.jcvsNode ().jCVSDiff(); 728 dia = new DiffDialog (); 729 checkCheckBox (dia.cbIgnoreSpaceChanges()); 730 dia.runCommand(); dia.waitClosed (); dia = null; 731 diff1.waitHistoryShort ("diff -b"); 732 out.println ("==== cbIgnoreSpaceChanges ===="); 733 dumpDiffGraphical (diff1); 734 735 diff1.jcvsNode ().jCVSDiff(); 736 dia = new DiffDialog (); 737 checkCheckBox (dia.cbIgnoreAllWhitespace()); 738 checkCheckBox (dia.cbIgnoreBlankLines()); 739 checkCheckBox (dia.cbIgnoreCase()); 740 checkCheckBox (dia.cbIgnoreSpaceChanges()); 741 dia.runCommand(); dia.waitClosed (); dia = null; 742 out.println ("==== Ignore All ===="); 743 assertInformationDialog("Diff showed no difference on the following file:"); 744 diff1.waitHistoryShort ("diff -w -B -i -b"); 745 746 compareReferenceFiles(); 747 } 748 749 public void testDiffFileFormat () { 750 DiffDialog dia; 751 752 closeAllVCSWindows(); 753 diff1.jcvsNode ().jCVSDiff(); 754 dia = new DiffDialog (); 755 checkCheckBox (dia.cbContextOutput()); 756 dia.runCommand(); dia.waitClosed (); dia = null; 757 out.println ("==== cbContextOutput ===="); 758 dumpDiffTextual (diff1, "diff -c"); 759 760 closeAllVCSWindows(); 761 diff1.jcvsNode ().jCVSDiff(); 762 dia = new DiffDialog (); 763 checkCheckBox (dia.cbUnifiedOutput()); 764 dia.runCommand(); dia.waitClosed (); dia = null; 765 out.println ("==== cbUnifiedOutput ===="); 766 dumpDiffTextual (diff1, "diff -u"); 767 768 compareReferenceFiles(); 769 } 770 771 public void testDiffDirectory () { 772 DiffDialog dia; 773 774 closeAllVCSWindows(); 775 pac4.jcvsNode ().jCVSDiff(); 776 dia = new DiffDialog (); 777 dia.runCommand(); dia.waitClosed (); dia = null; 778 out.println ("==== Recursively ===="); 779 dumpDiffTextual (pac4, "diff"); 780 781 closeAllVCSWindows(); 782 pac4.jcvsNode ().jCVSDiff(); 783 dia = new DiffDialog (); 784 checkCheckBox (dia.cbNotRecursively()); 785 dia.runCommand(); dia.waitClosed (); dia = null; 786 out.println ("==== NOT Recursively ===="); 787 dumpDiffTextual (pac4, "diff -l"); 788 789 compareReferenceFiles(); 790 } 791 792 public void testUnmount() { 793 new FilesystemNode(exp.repositoryTab().tree(), root.node ()).unmount(); 794 new Node (exp.repositoryTab ().tree (), "").waitChildNotPresent(root.node ()); 795 } 796 797 } 798 | Popular Tags |