|
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.io.File; import java.util.StringTokenizer; import junit.framework.Test; import junit.framework.TestSuite; import junit.textui.TestRunner; import org.netbeans.jellytools.NbDialogOperator; import org.netbeans.jellytools.actions.Action; import org.netbeans.jellytools.actions.ActionNoBlock; import org.netbeans.jellytools.actions.DeleteAction; import org.netbeans.jellytools.modules.vcscore.GroupVerificationOperator; import org.netbeans.jellytools.modules.vcscore.VCSGroupsFrameOperator; import org.netbeans.jellytools.modules.vcscore.VersioningFrameOperator; import org.netbeans.jellytools.modules.vcsgeneric.nodes.CVSFileNode; import org.netbeans.jellytools.nodes.FilesystemNode; import org.netbeans.jellytools.nodes.Node; import org.netbeans.jellytools.properties.PropertySheetOperator; import org.netbeans.jellytools.properties.PropertySheetTabOperator; import org.netbeans.jellytools.properties.StringProperty; import org.netbeans.jemmy.operators.JTextFieldOperator; import org.netbeans.jemmy.util.PNGEncoder; import org.netbeans.junit.NbTestSuite; import org.netbeans.jellytools.modules.vcsgeneric.cvs_profile.*; public class JellyGroup extends CVSStub { public static final String TEST_GROUP = "TestGroup"; public static final String GROUP_DESCRIPTION = "Description of " + TEST_GROUP; public JellyGroup(String testName) { super(testName); } public static Test suite() { // complete.GenericStub.DEBUG = true; TestSuite suite = new NbTestSuite(); suite.addTest(new JellyGroup("configure")); // suite.addTest(new JellyGroup("testDefaultGroup")); // cause destabilization suite.addTest(new JellyGroup("testGroups")); suite.addTest(new JellyGroup("testAddToGroup")); suite.addTest(new JellyGroup("testCommitGroup")); suite.addTest(new JellyGroup("testVerifyGroupToAdd")); suite.addTest(new JellyGroup("testVerifyGroupNeedsUpdate")); suite.addTest(new JellyGroup("testVerifyGroupNotChanged")); suite.addTest(new JellyGroup("testUnmount")); return suite; } public static void main(java.lang.String[] args) { TestRunner.run(suite()); } static String tInitDir = "initdir"; GenericNode InitDir, Text1, Text2, Text3; static boolean text1InDefaultGroup = false; protected void prepareServer (String dir) { new File(dir + "/" + tInitDir).mkdirs(); } public void createStructure () { InitDir = new GenericNode (root, tInitDir); Text1 = new GenericNode (InitDir, "text1"); Text2 = new GenericNode (InitDir, "text2"); Text3 = new GenericNode (InitDir, "text3"); } public void prepareClient () { super.prepareClient (); Text1.save (""); Text2.save (""); refreshRecursively (root); Text1.cvsNode (); Text2.cvsNode (); InitDir.cvsNode ().cVSAdd(); CVSAddFolderAdvDialog add = new CVSAddFolderAdvDialog(); add.setFileDescription("Initial state"); add.addAllLocalFilesInFolderContents(); add.checkAddTheFolderContentsRecursively(true); add.oK(); //assertInformationDialog(null); InitDir.waitHistory ("Add"); Text1.waitStatus("Locally Added"); Text2.waitStatus("Locally Added"); InitDir.cvsNode ().cVSCommit(); CVSCommitFileAdvDialog com = new CVSCommitFileAdvDialog(); com.txtEnterReason().setCaretPosition(0); com.txtEnterReason().typeText("Initial commit"); com.oK(); com.waitClosed(); InitDir.waitHistory ("Commit"); Text1.waitStatus("Up-to-date; 1.1"); Text2.waitStatus("Up-to-date; 1.1"); } public void configure () { super.configure(); } public void testDefaultGroup () { closeAllVCSWindows(); openGroupsFrame(); Text1.cvsNode ().includeInVCSGroupDefaultGroup(); vgf.removeVCSGroup(DEFAULT_GROUP); new Node (vgf.treeVCSGroupsTreeView (), "").waitChildNotPresent(DEFAULT_GROUP); Text1.cvsNode ().includeInVCSGroupDefaultGroup(); Text1.cvsGroupNode (DEFAULT_GROUP); text1InDefaultGroup = true; } public void addVCSGroup (VCSGroupsFrameOperator vgf, String name) { new ActionNoBlock (null, "Add VCS Group").performPopup(new Node (vgf.treeVCSGroupsTreeView(), "")); NbDialogOperator dia = new NbDialogOperator ("Add VCS Group"); JTextFieldOperator text = new JTextFieldOperator (dia); text.clearText(); text.typeText(name); dia.ok (); dia.waitClosed(); } public void testGroups () { closeAllVCSWindows(); openGroupsFrame(); addVCSGroup(vgf, TEST_GROUP); // closeAllVCSWindows(); // stabilization // openGroupsFrame(); // stabilization addVCSGroup(vgf, "GroupToRename"); new Node (vgf.treeVCSGroupsTreeView (), "GroupToRename"); // closeAllVCSWindows(); // stabilization // openGroupsFrame(); // stabilization vgf.renameVCSGroup("GroupToRename", "RenamedGroup"); new Node (vgf.treeVCSGroupsTreeView (), "").waitChildNotPresent("GroupToRename"); new Node (vgf.treeVCSGroupsTreeView (), "RenamedGroup"); // closeAllVCSWindows(); // stabilization // openGroupsFrame(); // stabilization addVCSGroup(vgf, "GroupToRemove"); new Node (vgf.treeVCSGroupsTreeView (), "GroupToRemove"); // closeAllVCSWindows(); // stabilization // openGroupsFrame(); // stabilization vgf.removeVCSGroup("GroupToRemove"); new Node (vgf.treeVCSGroupsTreeView (), "").waitChildNotPresent("GroupToRemove"); } public void testAddToGroup () { // closeAllVCSWindows(); openGroupsFrame(); Text2.cvsNode ().includeInVCSGroup(TEST_GROUP); Text2.cvsGroupNode(TEST_GROUP); if (text1InDefaultGroup) Text1.cvsGroupNode (DEFAULT_GROUP); Text1.cvsNode ().includeInVCSGroup(TEST_GROUP); if (text1InDefaultGroup) new NbDialogOperator ("Question").yes (); Text1.cvsGroupNode (TEST_GROUP); new Node (vgf.treeVCSGroupsTreeView(), DEFAULT_GROUP).waitChildNotPresent(Text1.name ()); closeAllProperties(); new CVSFileNode (vgf.treeVCSGroupsTreeView(), TEST_GROUP).select (); // stabilization sleep (2000); // stabilization new CVSFileNode (vgf.treeVCSGroupsTreeView(), TEST_GROUP).properties (); PropertySheetOperator pso = new PropertySheetOperator (PropertySheetOperator.MODE_PROPERTIES_OF_ONE_OBJECT, TEST_GROUP); PropertySheetTabOperator pst = pso.getPropertySheetTabOperator("Properties"); new StringProperty(pst, "Description").setStringValue(GROUP_DESCRIPTION); sleep (2000); // stabilization //pso.close(); closeAllProperties(); new CVSFileNode (vgf.treeVCSGroupsTreeView(), TEST_GROUP).select (); // stabilization sleep (2000); // stabilization new CVSFileNode (vgf.treeVCSGroupsTreeView(), TEST_GROUP).properties (); pso = new PropertySheetOperator (PropertySheetOperator.MODE_PROPERTIES_OF_ONE_OBJECT, TEST_GROUP); pst = pso.getPropertySheetTabOperator("Properties"); info.println ("Group Name: " + new StringProperty(pst, "Group Name").getStringValue()); info.println ("Description: " + new StringProperty(pst, "Description").getStringValue()); //pso.close(); } public void testCommitGroup () { // closeAllVCSWindows(); openGroupsFrame(); refresh (InitDir); waitNodeStatus (vgf.treeVCSGroupsTreeView (), TEST_GROUP + "|" + Text1.name (), "Up-to-date; 1.1", true); waitNodeStatus (vgf.treeVCSGroupsTreeView (), TEST_GROUP + "|" + Text2.name (), "Up-to-date; 1.1", true); Text1.save ("text1"); Text2.save ("text2"); refresh (InitDir); waitNodeStatus (vgf.treeVCSGroupsTreeView (), TEST_GROUP + "|" + Text1.name (), "Locally Modified; 1.1", true); waitNodeStatus (vgf.treeVCSGroupsTreeView (), TEST_GROUP + "|" + Text2.name (), "Locally Modified; 1.1", true); new CVSFileNode (vgf.treeVCSGroupsTreeView (), TEST_GROUP).select (); // stabilization sleep (2000); // stabilization new CVSFileNode (vgf.treeVCSGroupsTreeView (), TEST_GROUP).cVSCommit (); CVSCommitFileAdvDialog co = new CVSCommitFileAdvDialog (); String str = co.txtEnterReason().getText (); info.println (str); StringTokenizer st = new StringTokenizer (str, "\n"); boolean validDescription = GROUP_DESCRIPTION.equals (st.nextToken()); // assertEquals("Invalid description in group commit dialog", GROUP_DESCRIPTION, st.nextToken()); if (!validDescription) try { PNGEncoder.captureScreen(getWorkDir().getAbsolutePath() + File.separatorChar + "invalidDesc.png"); } catch (Exception e) {} co.oK (); co.waitClosed (); waitCommand ("Commit", new GenericNode [] { Text1, Text2 }); waitNodeStatus (vgf.treeVCSGroupsTreeView (), TEST_GROUP + "|" + Text1.name (), "Up-to-date; 1.2", true); waitNodeStatus (vgf.treeVCSGroupsTreeView (), TEST_GROUP + "|" + Text2.name (), "Up-to-date; 1.2", true); closeAllVersionings(); // stabilization waitNodeStatus (vgf.treeVCSGroupsTreeView (), TEST_GROUP + "|" + Text1.name (), "Up-to-date; 1.2", true); // stabilization Text1.cvsGroupNode (TEST_GROUP).versioningExplorer(); // stabilization newVersioningFrame (); if (validDescription) Text1.cvsVersioningNode (" [Up-to-date; 1.2]|1.2 " + GROUP_DESCRIPTION); else Text1.cvsVersioningNode (" [Up-to-date; 1.2]|1.2"); closeAllVersionings(); // stabilization waitNodeStatus(vgf.treeVCSGroupsTreeView (), TEST_GROUP + "|" + Text2.name (), "Up-to-date; 1.2", true); // stabilization Text2.cvsGroupNode (TEST_GROUP).versioningExplorer(); // stabilization vfo = new VersioningFrameOperator (); // stabilization if (validDescription) Text2.cvsVersioningNode (" [Up-to-date; 1.2]|1.2 " + GROUP_DESCRIPTION); else Text2.cvsVersioningNode (" [Up-to-date; 1.2]|1.2"); // assertTrue ("Invalid description in group commit dialog", validDescription); // fails due to issue #28679 } public void testVerifyGroupToAdd () { // closeAllVCSWindows(); openGroupsFrame(); Text3.save ("text3"); refresh (InitDir); Text3.cvsNode ().includeInVCSGroup(TEST_GROUP); Text3.cvsGroupNode (TEST_GROUP); new Action (null,"Verify").performPopup (new Node (vgf.treeVCSGroupsTreeView (), TEST_GROUP)); GroupVerificationOperator gvo = new GroupVerificationOperator (); //sleep (2000); dumpVerifyGroupTable (gvo.tabLocalFilesToAdd()); // gvo.tabLocalFilesToAdd().waitCell (tText3, 0, 0); // gvo.tabLocalFilesToAdd().waitCell (tInitDir, 0, 1); gvo.checkAddFilesToRepository(true); gvo.addAllFiles(); gvo.btCorrectGroup().pushNoBlock(); CVSAddFileAdvDialog add = new CVSAddFileAdvDialog (); add.oK(); Text3.waitHistory ("Add"); waitNodeStatus (vgf.treeVCSGroupsTreeView (), TEST_GROUP + "|" + Text3.name (), "Locally Added", false); compareReferenceFiles(); } public void testVerifyGroupNeedsUpdate () { // closeAllVCSWindows(); openGroupsFrame (); new DeleteAction ().performPopup ( Text2.cvsNode () ); assertConfirmObjectDeletionYes (null); Text2.cvsGroupNode (TEST_GROUP); waitNodeStatus (vgf.treeVCSGroupsTreeView(), TEST_GROUP + "|" + Text2.name (), "Needs Update", false); new Node (vgf.treeVCSGroupsTreeView (), TEST_GROUP).select (); // stabilization sleep (2000); // stabilization new Action (null,"Verify").performPopup (new Node (vgf.treeVCSGroupsTreeView (), TEST_GROUP)); GroupVerificationOperator gvo = new GroupVerificationOperator (); //sleep (2000); dumpVerifyGroupTable (gvo.tabFilesNeedsUpdate()); gvo.checkSynchronizeWorkingCopyWithRepository(true); gvo.updateAllFiles(); gvo.btCorrectGroup().pushNoBlock(); CVSUpdateFileAdvDialog up = new CVSUpdateFileAdvDialog (); up.oK (); Text2.waitHistory ("Update"); waitNodeStatus (vgf.treeVCSGroupsTreeView (), TEST_GROUP + "|" + Text2.name (), "Up-to-date", false); compareReferenceFiles(); } public void testVerifyGroupNotChanged () { // closeAllVCSWindows(); openGroupsFrame(); new Action (null,"Verify").performPopup (new Node (vgf.treeVCSGroupsTreeView (), TEST_GROUP)); GroupVerificationOperator gvo = new GroupVerificationOperator (); //sleep (2000); dumpVerifyGroupTable (gvo.tabNotChangedFiles()); gvo.checkRemoveFilesFromGroup(true); gvo.removeAllFiles(); gvo.btCorrectGroup().pushNoBlock(); new Node (vgf.treeVCSGroupsTreeView (), TEST_GROUP).waitChildNotPresent(Text1.name ()); new Node (vgf.treeVCSGroupsTreeView (), TEST_GROUP).waitChildNotPresent(Text2.name ()); Text3.cvsGroupNode(TEST_GROUP); compareReferenceFiles(); } public void testUnmount() { // closeAllVCSWindows(); openGroupsFrame (); Text1.cvsNode ().includeInVCSGroup(TEST_GROUP); Text2.cvsNode ().includeInVCSGroup(TEST_GROUP); Text1.cvsGroupNode (TEST_GROUP); Text2.cvsGroupNode (TEST_GROUP); Text3.cvsGroupNode (TEST_GROUP); new FilesystemNode(repository.tree(), root.node ()).unmount(); new Node (repository.tree (), "").waitChildNotPresent(root.node ()); Text1.cvsGroupNode (TEST_GROUP, " (Broken link)"); Text2.cvsGroupNode (TEST_GROUP, " (Broken link)"); Text3.cvsGroupNode (TEST_GROUP, " (Broken link)"); } } |
... 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.