|
What this is
Other links
The source code/* * Sun Public License Notice * * The contents of this file are subject to the Sun Public License * Version 1.0 (the "License"). You may not use this file except in * compliance with the License. A copy of the License is available at * http://www.sun.com/ * * The Original Code is NetBeans. The Initial Developer of the Original * Code is Sun Microsystems, Inc. Portions Copyright 1997-2003 Sun * Microsystems, Inc. All Rights Reserved. */ package complete.cvs_profile; import complete.GenericStub.GenericNode; import java.util.StringTokenizer; import junit.framework.Test; import junit.framework.TestSuite; import junit.textui.TestRunner; import org.netbeans.jellytools.TopComponentOperator; import org.netbeans.jellytools.modules.vcscore.VCSCommandsOutputOperator; import org.netbeans.jellytools.modules.vcscore.VCSCommandsInOutputOperator; import org.netbeans.jellytools.nodes.FilesystemNode; import org.netbeans.jellytools.nodes.Node; import org.netbeans.junit.NbTestSuite; import org.netbeans.test.oo.gui.jelly.vcsgeneric.cvs_profile.*; import util.Filter; public class JellyAddCommands extends CVSStub { public JellyAddCommands(String testName) { super(testName); } public static Test suite() { // complete.GenericStub.DEBUG = true; TestSuite suite = new NbTestSuite(); suite.addTest(new JellyAddCommands("configure")); suite.addTest(new JellyAddCommands("testEdit")); suite.addTest(new JellyAddCommands("testEditors")); suite.addTest(new JellyAddCommands("testUndoEdit")); suite.addTest(new JellyAddCommands("testNoEdit")); suite.addTest(new JellyAddCommands("testSetWatchers")); // suite.addTest(new JellyAddCommands("testLock")); // not testable on local cvs // suite.addTest(new JellyAddCommands("testUnlock")); // not testable on local cvs // suite.addTest(new JellyAddCommands("testViewBranches")); // not testable component suite.addTest(new JellyAddCommands("testDiffPrepare")); suite.addTest(new JellyAddCommands("testDefaultDiffGraphical")); // not fully covered suite.addTest(new JellyAddCommands("testDefaultDiffGraphicalTextual")); suite.addTest(new JellyAddCommands("testDefaultDiffTextual")); suite.addTest(new JellyAddCommands("testDefaultPatch")); suite.addTest(new JellyAddCommands("testUnmount")); return suite; } public static void main(java.lang.String[] args) { TestRunner.run(suite()); } static String username; GenericNode editdir, editfile; GenericNode lockdir, lockfile; GenericNode diffdir, difffile; protected void createStructure() { editdir = new GenericNode (root, "editdir"); editfile = new GenericNode (editdir, "editfile"); lockdir = new GenericNode (root, "lockdir"); lockfile = new GenericNode (lockdir, "lockfile"); diffdir = new GenericNode (root, "diffdir"); difffile = new GenericNode (diffdir, "difffile"); } public void configure () { super.configure(); } public void testEdit () { editdir.mkdirs (); editfile.save("Init"); refresh (root); addDirectory (editdir); addFile (editfile, "InitialState"); commitFile (editfile, null, "InitialCommit"); editfile.waitStatus("Up-to-date; 1.1"); editdir.cvsNode ().cVSEditingEdit(); CVSEditFolderAdvDialog edit = new CVSEditFolderAdvDialog (); edit.checkProcessDirectoriesRecursively(true); edit.checkSpecifyActionsForTemporaryWatch(true); edit.setTemporaryWatch(CVSEditFolderAdvDialog.ITEM_ALL); edit.oK (); edit.waitClosed (); editdir.waitHistory("Edit"); assertInformationDialog ("The file \"" + editdir.name () + "\" is prepared to edit."); } public void testEditors () { closeAllVCSOutputs(); editdir.cvsNode ().cVSEditingEditors(); CVSEditorsFolderAdvDialog ed = new CVSEditorsFolderAdvDialog (); ed.checkProcessDirectoriesRecursively(true); ed.oK(); ed.waitClosed (); editdir.waitHistory ("Editors"); VCSCommandsInOutputOperator coo = new VCSCommandsInOutputOperator ("Editors"); waitNoEmpty (coo.txtStandardOutput ()); String str = coo.txtStandardOutput().getText (); info.println (str); assertTrue ("Editor is not set on editfile: Output: " + str, str.startsWith (editfile.history ())); } public void testUndoEdit () { editfile.save ("Modification"); refresh (editdir); editfile.waitStatus ("Locally Modified; 1.1"); editdir.cvsNode().cVSEditingUndoEdit(); CVSUndoEditFolderAdvDialog undo = new CVSUndoEditFolderAdvDialog (); undo.checkProcessDirectoriesRecursively(true); undo.oK (); undo.waitClosed (); assertQuestionYesDialog ("Are you sure you want to revert the changes in these files: \"" + editfile.history () + "\"?"); editdir.waitHistory ("Undo Edit"); assertInformationDialog("Changes reverted in the file \"" + editdir.history () + "\"."); editfile.waitStatus ("Up-to-date; 1.1"); } public void testNoEdit () { editfile.cvsNode().cVSEditingUndoEdit(); assertInformationDialog ("No files has been changed or the edit command was not issued before."); } public void testSetWatchers () { GenericNode watchdir = new GenericNode (root, "watchdir"); GenericNode watchfile = new GenericNode (watchdir, "watchfile"); watchdir.mkdirs (); watchfile.save("Init"); refresh (root); addDirectory (watchdir); addFile (watchfile, "InitialState"); commitFile (watchfile, null, "InitialCommit"); watchfile.waitStatus ("Up-to-date; 1.1"); watchfile.cvsNode ().cVSWatchesSetWatch(); CVSWatchSetFileAdvDialog wa = new CVSWatchSetFileAdvDialog (); wa.checkCommit(true); wa.checkEdit(true); wa.checkUnedit(true); wa.oK (); wa.waitClosed (); watchfile.waitHistory ("Set Watch"); closeAllVCSOutputs (); watchfile.cvsNode ().cVSWatchesWatchers(); watchfile.waitHistory ("Watchers"); VCSCommandsInOutputOperator coo = new VCSCommandsInOutputOperator ("Watchers"); waitNoEmpty (coo.txtStandardOutput ()); String str = coo.txtStandardOutput().getText (); info.println (str); StringTokenizer st = new StringTokenizer (str, "\n"); int c = st.countTokens(); assertTrue ("Invalid watchers lines: Count: " + c, c == 1); str = st.nextToken(); info.println (str); assertTrue ("Watcher on watchfile not exists", str.startsWith (watchfile.name ())); c = str.indexOf ("edit"); if (c < 1 || str.charAt (c - 1) == 'n') c = -1; assertTrue ("Edit watcher does not exist", c >= 0); assertTrue ("Unedit watcher does not exist", str.indexOf ("unedit") >= 0); assertTrue ("Commit watcher does not exist", str.indexOf ("commit") >= 0); watchdir.cvsNode ().cVSWatchesSetWatch(); CVSWatchSetFolderAdvDialog war = new CVSWatchSetFolderAdvDialog (); war.setWatchRecursively(); war.checkCommit(false); war.checkEdit(false); war.checkUnedit(false); war.oK (); war.waitClosed (); watchdir.waitHistory ("Set Watch"); closeAllVCSOutputs (); watchdir.cvsNode ().cVSWatchesWatchers(); CVSWatchersFolderAdvDialog wars = new CVSWatchersFolderAdvDialog (); wars.checkProcessDirectoriesRecursively(true); wars.oK (); wars.waitClosed(); watchdir.waitHistory ("Watchers"); coo = new VCSCommandsInOutputOperator ("Watchers"); try { coo.btStandardOutput().waitComponentEnabled(); } catch (InterruptedException e) {} } /* cannot create test due to using of local cvs filesystem public void testLock () { lockdir.mkdirs (); lockfile.save("Init"); refresh (root); addDirectory (lockdir); addFile (lockfile, "InitialState"); commitFile (lockfile, null, "InitialCommit"); lockfile.waitStatus ("Up-to-date; 1.1"); lockfile.cvsNode ().cVSLockingLock(); CVSLockFileAdvDialog lock = new CVSLockFileAdvDialog (); lock.oK (); lock.waitClosed(); lockfile.waitHistory("Lock"); assertInformationDialog("The file \"" + lockfile.name () + "\" was locked successfully."); lockfile.save ("Mod"); refresh (lockdir); lockfile.waitStatus ("Locally Modified; 1.1"); commitFile (lockfile, null, "Trying to commit locked file"); // !!! do it - check for no commit } public void testUnlock () { // !!! do it } public void testViewBranches () { // !!! do it } */ public void testDiffPrepare () { diffdir.mkdirs (); difffile.save ("Line 1\nLine 3\nLine 5\n"); refresh (root); addDirectory(diffdir); addFile (difffile, "InitialState"); commitFile (difffile, null, "Commit1"); difffile.waitStatus ("Up-to-date; 1.1"); difffile.save ("Line 2\nLine 3\nLine 4\nLine 5\n"); commitFile (difffile, null, "Commit2"); difffile.waitStatus ("Up-to-date; 1.2"); difffile.save ("Line 1\nLine 2\nLine 3\nLine 4\nLine 5\n"); commitFile (difffile, null, "Commit3"); difffile.waitStatus ("Up-to-date; 1.3"); } public void testDefaultDiffGraphical () { difffile.cvsNode ().cVSDiffGraphical(); CVSGraphicalDiffFileAdvDialog gr = new CVSGraphicalDiffFileAdvDialog (); gr.oK(); gr.waitClosed (); assertInformationDialog ("No differences were found in " + difffile.name () + "."); difffile.waitHistory("Diff Graphical"); difffile.cvsNode ().cVSDiffGraphical(); gr = new CVSGraphicalDiffFileAdvDialog (); gr.setRevisionOrTag1("1.1"); gr.setRevisionOrTag2("1.2"); gr.oK (); gr.waitClosed (); difffile.waitHistory("Diff Graphical"); TopComponentOperator tco = new TopComponentOperator ("Diff: " + difffile.name ()); try { out.println ("!!!! ==== Comparing revisions: 1.1 and 1.2 ==== !!!!"); dumpDiffGraphicalGraphical (tco); } finally { tco.close(); waitIsShowing(tco.getSource()); } difffile.cvsNode ().cVSDiffGraphical(); gr = new CVSGraphicalDiffFileAdvDialog (); gr.setRevisionOrTag1("1.2"); gr.setRevisionOrTag2("1.3"); gr.oK (); gr.waitClosed (); difffile.waitHistory("Diff Graphical"); tco = new TopComponentOperator ("Diff: " + difffile.name ()); try { out.println ("!!!! ==== Comparing revisions: 1.2 and 1.3 ==== !!!!"); dumpDiffGraphicalGraphical (tco); } finally { tco.close(); waitIsShowing(tco.getSource()); } compareReferenceFiles(); } public void testDefaultDiffGraphicalTextual () { difffile.cvsNode ().cVSDiffGraphical(); CVSGraphicalDiffFileAdvDialog gr = new CVSGraphicalDiffFileAdvDialog (); gr.setRevisionOrTag1("1.1"); gr.setRevisionOrTag2("1.2"); gr.oK (); gr.waitClosed (); difffile.waitHistory("Diff Graphical"); TopComponentOperator tco = new TopComponentOperator ("Diff: " + difffile.name ()); try { out.println ("!!!! ==== Comparing revisions: 1.1 and 1.2 ==== !!!!"); dumpDiffGraphicalTextual (tco); } finally { tco.close(); waitIsShowing(tco.getSource()); } difffile.cvsNode ().cVSDiffGraphical(); gr = new CVSGraphicalDiffFileAdvDialog (); gr.setRevisionOrTag1("1.2"); gr.setRevisionOrTag2("1.3"); gr.oK (); gr.waitClosed (); difffile.waitHistory("Diff Graphical"); tco = new TopComponentOperator ("Diff: " + difffile.name ()); try { out.println ("!!!! ==== Comparing revisions: 1.2 and 1.3 ==== !!!!"); dumpDiffGraphicalTextual (tco); } finally { tco.close(); waitIsShowing(tco.getSource()); } compareReferenceFiles(); } public void testDefaultDiffTextual () { VCSCommandsInOutputOperator coo; String str; Filter filt = new Filter (); filt.addFilterAfter("RCS file: "); difffile.cvsNode ().cVSDiffTextual(); CVSTextualDiffFileAdvDialog diff = new CVSTextualDiffFileAdvDialog (); diff.oK(); diff.waitClosed (); difffile.waitHistory("Diff Textual"); closeAllVCSOutputs (); difffile.cvsNode ().cVSDiffTextual(); diff = new CVSTextualDiffFileAdvDialog (); diff.setRevisionOrTag1("1.1"); diff.setRevisionOrTag2("1.2"); info.println ("PASS3"); history.print(); diff.oK(); diff.waitClosed (); difffile.waitHistoryFailed("Diff Textual"); coo = new VCSCommandsInOutputOperator ("Diff Textual"); waitNoEmpty(coo.txtStandardOutput()); str = coo.txtStandardOutput ().getText (); info.println (str); out.println ("==== Diffing: 1.1 and 1.2 ===="); filt.filterStringLinesToStream(out, str); closeAllVCSOutputs (); difffile.cvsNode ().cVSDiffTextual(); diff = new CVSTextualDiffFileAdvDialog (); diff.setRevisionOrTag1("1.2"); diff.setRevisionOrTag2("1.3"); diff.oK(); diff.waitClosed (); difffile.waitHistoryFailed ("Diff Textual"); coo = new VCSCommandsInOutputOperator ("Diff Textual"); waitNoEmpty(coo.txtStandardOutput()); str = coo.txtStandardOutput ().getText (); info.println (str); out.println ("==== Diffing: 1.2 and 1.3 ===="); filt.filterStringLinesToStream(out, str); compareReferenceFiles (); } public void testDefaultPatch () { Filter filt = new Filter (); filt.addFilterAfter ("*** " + difffile.history () + ":1.2"); filt.addFilterAfter ("--- " + difffile.history ()); closeAllVCSOutputs (); difffile.cvsNode ().cVSPatch (); CVSPatchFileAdvDialog diff = new CVSPatchFileAdvDialog (); diff.oK(); diff.waitClosed (); difffile.waitHistory ("Patch"); VCSCommandsInOutputOperator coo = new VCSCommandsInOutputOperator ("Patch"); waitNoEmpty(coo.txtStandardOutput()); String str = coo.txtStandardOutput ().getText (); info.println (str); out.println ("==== Patch between: 1.2 and 1.3 ===="); filt.filterStringLinesToStream(out, str); compareReferenceFiles (); } public void testUnmount() { new FilesystemNode(repository.tree(), root.node ()).unmount(); new Node (repository.tree (), "").waitChildNotPresent(root.node ()); } } |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.