| # | Test case | Description |
| 1 | Modify file |
1. Switch to "Files" view and double click "Main.java [Up-to-date; 1.1.2.1] (MyBranch)" node. 2. Insert brand-new line somewhere into the file. 3. Delete some other line but not directly next to the new one. 4. Modify another line but not directly next to the ones mentioned above and Save the file.
|
|
|
RESULT:
The modified data node should change its annotation to "Main.java [Locally Modified; 1.1.2.1] (MyBranch)". |
| 2 | View differences |
1. Right click in the editor of "Main.java [Locally Modified; 1.1.2.1] (MyBranch)" file. 2. Select CVS | Diff Graphical action from popup menu.
|
|
Teardown: Close diff window in editor. |
|
|
RESULT:
All three differences must be highlighted in a special window with both versions of the file. New line is green, removed line is red and modified one is blue. Left pane should read "Revision 1.1.2.1" and right pane "Working File". |
| 3 | Commit file |
1. Right click "Main.java [Locally Modified; 1.1.2.1] (MyBranch)" data node. 2. Select CVS | Commit popup action. 3. Make sure that commit template was successfully loaded containing "Tag: MyBranch" and "Main.java" strings. 4. Setup "Three lines have changed." as Change Description and push OK button.
|
|
|
RESULT:
The file must change its annotation to "Main.java [Up-to-date; 1.1.2.2] (MyBranch)". |
| 4 | Inspect file |
1. Invoke CVS | Status command on the "Main.java [Up-to-date; 1.1.2.2] (MyBranch)" node and make sure that all the provided information is correct. 2. Push Get Tags button and verify that "MyBranch" was displayed as existing tag. 3. Invoke CVS | History | Log command on the same node and make sure that all provided information is correct. 4. Invoke CVS | History | History on the same node and make sure that text similar to "O 2004-06-11 12:20 +0000 jk110465 =.= D:\Tests\CVS\Work3/*" is printed in "VCS Output" window. 5. Invoke CVS | History | Annotate on the same node.
|
|
Teardown: Close all four windows in editor. |
|
|
RESULT:
Annotate window should be opened into editor. Verify that it is possible to highlight lines per revision and author. |
| 5 | Create conflict |
1. Press CTRL key while invoking CVS | Update... command on "Main.java [Up-to-date; 1.1.2.2] (MyBranch)" node. 2. Check Reset Sticky Tags/Dates option and push OK button. 3. Change some word at the line modified in the first test case and Save the file. 4. Invoke Show Versions command on "Main.java [Locally Modified; 1.1]" data node. 5. Expand "1.1 Initial revision." node. 6. Invoke Update popup menu action on "1.1.2 (MyBranch)" branch node in "Versioning" view.
|
|
Teardown: Delete the backup node ".#Main.java.1.1 [Ignored]". |
|
|
RESULT:
The data node should change to "Main.java [Merge Conflicts; 1.1.2.2] (MyBranch)" and should have warning badge (yellow triangle with exclamation mark). In addition to that, new backup node ".#Main.java.1.1 [Ignored]" should appear. |
| 6 | Resolve conflict |
1. Invoke Resolve Conflicts command from popup menu of "Main.java [Merge Conflicts; 1.1.2.2] (MyBranch)". 2. Merging tool must get opened in editor area highlighting the line with conflict. Left pane should read "Working File", right pane "Revision 1.1.2.2" and bottom should read "Merge Result". 3. Select left modification (the working one) and push Accept button above its pane. 4. Make sure that colors changed to blue or green and "Unresolved:" in top of the component says 0 conflicts. Push OK button and confirm your decision.
|
|
|
RESULT:
The data node should change back to "Main.java [Locally Modified; 1.1.2.2] (MyBranch)" and should have appropriate badge (plus sign in red circle). In addition, the merge tool must be closed. |
| 7 | Commit fix |
1. Invoke CVS | Commit command from popup menu of "Main.java [Locally Modified; 1.1.2.2] (MyBranch)" data node. 2. Type "My own version of the fix." into Enter Reason: textarea and push OK. 3. Expand "1.1.2 (MyBranch)" branch node.
|
|
|
RESULT:
The data node should change to "Main.java [Up-to-date; 1.1.2.3] (MyBranch)" and there should be new "1.1.2.3 My own version of the fix." revision created underneath. |
| 8 | Create patch |
1. Switch to "Files" view and invoke CVS | Patch action on "Main.java [Up-to-date; 1.1.2.3] (MyBranch)" node. 2. Check Revision or Tag option and use its Select... button to select "HEAD" revision. 3. Check Revision or Tag 2 option and use its Select... button to select "MyBranch" 1.1.0.2 revision. 4. Push OK button. Patch will be printed into "VCS Output" window. 5. Right click that area and choose Save To File... from popup menu. 6. Select some file to Save To File: textfield (e.g. "C:\patch.txt") and push OK.
|
|
|
RESULT:
Verify that the patch file was indeed created and contains the diff from "VCS Output" window. |
| 9 | Apply patch |
1. Switch to "Versioning" view and invoke Update action on "1.1 Initial revision." revision node of Main.java. 2. Right click "Main.java [Up-to-date; 1.1] (1.1)" file node and choose Tools | Apply Diff Patch... from popup menu. 3. Use browser to select the patch file and push Patch button. 4. You should be informed about successful patch application. Click Yes to view the changes.
|
|
Teardown: Close diff window in editor. |
|
|
RESULT:
Patch was applied if the node changed to "Main.java [Locally Modified; 1.1] (1.1)" and graphical diff component opened into editor highlighting the same lines as in the second test case. Check that both pulldown menus in top of the component work. |
| 10 | Remove file |
1. Switch to "Projects" view and expand "myapp.one.two" package node. 2. Invoke CVS | Remove action on "MyPanel.java [Up-to-date; 1.1]" data node. 3. Confirm your decision by clicking Yes in follow-up question dialog. 4. Check Proceed With Commit If Remove Succeeds option and push OK. 5. Verify that loaded commit template lists both "MyPanel.java" and "MyPanel.form" files and annotation of their nodes changed to "[Locally Removed; -1.1]". 6. Type "We don't need this panel anymore." into Enter Reason: textarea and push OK button.
|
|
|
RESULT:
Make sure that "MyPanel*" nodes disappeared from all views. |
| 11 | Release directory |
1. Invoke CVS | Release popup menu action on "myapp.one.two" package node. 2. Confirm your decision by clicking Yes button in follow-up question dialog. 3. Repeat steps 1 and 2 on "myapp.one" package node.
|
|
|
RESULT:
Make sure that both "one" and "two" package nodes disappeared from all views. |
| 12 | Import sources |
1. Right click "Source Packages" and choose New | Java Package... from popup menu. 2. Setup "one.two" as Package Name: and push Finish button. 3. Use New | JPanel Form... action on "one.two" package to create new "MyPanel" data node. 4. Use New | Java Class... action on "one.two" package to create new "MyClass" data node. 5. Select "one.two" package node and invoke Versioning | CVS | Global CVS Import... from main menu. 6. Setup "Initial import of sources." as Logging Message:. 7. Setup "my_prototype" as Vendor Tag:. 8. Setup "initial_import" as Release Tag: and push OK button.
|
|
|
RESULT:
Information dialog must show up confirming successful import. There should be "No conflicts created by this import" text displayed in "VCS Output" window and both new data nodes must get "[Up-to-date; 1.1.1.1]" annotation. |
| 13 | Export sources |
1. Switch to "Versioning" view and invoke CVS | Export on "src" node. 2. Use Browse... button to select some empty directory. 3. Setup "my_prototype" as Revision or Tag: and push OK.
|
|
|
RESULT:
"Command Export finished." message must be printed into IDE status bar. Make sure externally that "src.one.two" packages were exported including "MyPanel" and "MyClass" source files. "myapp" package must not be exported though. |