SandBox3

NetBeans Subversion Support Test Specification for

Author: Peter Pis
Version: 1.0.0
Last update: 07.02.2007
Introduction: Subversion open source tool is one of the supported version control systems in the IDE. This document describes how SVN profile for NetBeans SVN Support module should be tested in order to know whether all of its functionality work correctly. All Test Suites should be performed with all access method types: "file:///", "svn://", "svn+ssh://", "http://" and "https://"
Comments:

Contents


Test suite: Setting up URL

Purpose: This suite tests whether it is possible to access valid Subversion repository using different types of connections.
Setup: Subversion command-line client version 1.3 or higher has to installed on tested platform.

  1. svn://
    1. Invoke Versioning | Subversion | Checkout... action from main menu. "Checkout" wizard shows up.
    2. Switch to Repository URL field and set it to e.g. "svn://localhost/svn"
    3. After setting up "svn://" connection type there should be visible "User", "Password" and "Proxy Configuration..." components.
    4. Setup username and password and verify functionality of "Proxy Configuration" dialog.
    • EXPECTED RESULT: Push Next button. Next dialog of "Checkout" wizard should show up. Verify that "Browse..." buttons are shown for "Repository Folder(s)", "Local Folder" and "Search" button for "Repository Revision" in this step of "Checkout" dialog. Push "Finish" button. Verify result of Checkout action.
  1. svn+ssh://
    • Setup: In case of windows platform "plink" application should have been installed.
    1. Invoke Versioning | Subversion | Checkout... action from main menu. "Checkout" wizard shows up.
    2. Switch to Repository URL field and set it to e.g. "svn+ssh://localhost/svn"
    3. After setting up "svn+ssh://" connection type there should be visible "User", "Password" and "Proxy Configuration..." components.
    4. Setup valid password.
    • EXPECTED RESULT: Push Next button. Next dialog of "Checkout" wizard should show up. Verify that "Browse" buttons are shown for "Repository Folder(s)", "Local Folder", "Repository Revision" and "Search" button in this step of "Checkout" dialog. Push "Finish" button. Verify result of Checkout action.
  1. file:///
    1. Invoke Versioning | Subversion | Checkout... action from main menu. "Checkout" wizard shows up.
    2. Switch to Repository URL field and set it to e.g. "file:///svnrepo"
    • EXPECTED RESULT: Push Next button. Next dialog of "Checkout" wizard should show up. Verify that "Browse" buttons are shown for "Repository Folder(s)", "Local Folder", "Repository Revision" and "Search" button in this step of "Checkout" dialog. Push "Finish" button. Verify result of Checkout action.
  1. http://
    1. Invoke Versioning | Subversion | Checkout... action from main menu. "Checkout" wizard shows up.
    2. Switch to Repository URL field and set it to e.g. "http://localhost/svnrepo"
    3. After setting up "http://" connection type there should be visible "User", "Password" and "Proxy Configuration..." components.
    4. Setup valid password.
    • EXPECTED RESULT: Push Next button. Next dialog of "Checkout" wizard should show up. Verify that "Browse" buttons are shown for "Repository Folder(s)", "Local Folder", "Repository Revision" and "Search" button in this step of "Checkout" dialog. Push "Finish" button. Verify result of Checkout action.
  1. https://
    1. Invoke Versioning | Subversion | Checkout... action from main menu. "Checkout" wizard shows up.
    2. Switch to Repository URL field and set it to e.g. "https://localhost/svnrepo"
    3. After setting up "https://" connection type there should be visible "User", "Password" and "Proxy Configuration..." components.
    4. Setup valid password.
    • EXPECTED RESULT: Push Next button. You will be asked for accept the certificate. Next dialog of "Checkout" wizard should show up. Verify that "Browse" buttons are shown for "Repository Folder(s)", "Local Folder", "Repository Revision" and "Search" button in this step of "Checkout" dialog. Push "Finish" button. Verify result of Checkout action.


Test suite: Importing new project

Purpose: The goal of this suite is to create new project and upload it to Subversion repository.
Setup: No setup is necessary.

  1. Project import
    1. Invoke File | New Project... from main menu.
    2. "New Project" wizard shows up. Choose e.g "General | Java Application" and push "Next" button.
    3. Setup name of the project, project location as desired and push "Finish" button.
    4. Switch to "Projects" view and select the root of the project.
    5. Invoke Versioning | Subversion | Import into Repository... from main menu.
    6. "Import" wizard shows up.
    7. Setup "Repository URL" as desired and all necessary fields for chosen access method and push "Next" button. All displayed components depend on access method type - see "Setting up URL".
    8. Push Browse... button. Verify that browsing through the repository is allowed. Verify also functionality of New Folder (it creates only virtual folders. Nothing is changed in the repository.)
    9. Enter some comment into "Import Message" field and push "Next" button. All displayed components depend on access method type - see "Setting up URL".
    10. 3rd step of Import wizard shows up. Verify whether you can change values in "Commit Action" column. (Add As Text, Add As Binary and Exclude From Commit).
    • EXPECTED RESULT: In "Output" tab verify whether "Import" and "Check out" command finished successfully. Now context commands on this project root in "Projects" view shouldn't contain "Import into Repository" action. All sources should be imported and subversion actions should be available.


Test suite: Standard development of project

Purpose: This suite tests the most often used commands of typical Subversion user.
Setup: No setup is necessary except steps from previous test suite.

  1. Update action
    1. Switch to "Files" view.
    2. Invoke Subversion | Update popup menu action on project root.
    • {{{1}}}
  1. File modifying
    1. Select e.g. "Main.java" file, modify it.
    2. Insert brand-new line somewhere into the file.
    3. Delete some other line but not directly next to the new line.
    4. Modify another line but not directly next to the lines mentioned above and Save the file.
    • EXPECTED RESULT: The file "Main.java" must change its foreground color to blue.
  1. File differences
    1. Select this file.
    2. Invoke Versioning | Subversion | Diff "Main.java" action from main menu.
    • EXPECTED 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. At the bottom of this component there is part for viewing properties differences.
  1. Files/Folders differences
    1. Create new package "xx.yy" in this project.
    2. Create new "java class" "NewClass" in package "xx.yy".
    3. Invoke Versioning | Subversion | Show "Project" Changes from main menu.
    4. Files should be listed in "Subversion" tab - "Main.java" and "NewClass". Also the new packages "xx.yy"should be displayed as New.
    5. Select the root of the project and invoke Subversion | Diff popup menu action.
    • EXPECTED RESULT: Special window is displayed. "Main.java, NewClass.java, xx, yy" should be contained in combobox field. Verify functionality of "UP" and "DOWN" arrows. (Arrow navigates among all differences on processed files). Verify functionality of "Diff" icon in "Subversion" tab - same result as for context command. "Diff all" component provides icons for "Refresh Status", "Update all" and "Commit all" action.
  1. Commit files/folders
    1. Switch to "Subversion" tab.
    2. Push "Commit all" icon.
    3. "Commit dialog" shows up. It should contain two files: "Main.java", "NewClass.java", and two folders "xx" and "yy". Enter some commit message and push "Commit" button.
    • EXPECTED RESULT: Verify that blue badges disappeared. Files and folders/packages should disappear from "Subversion" tab immediately too.
  1. Creation of patch
    1. Modify "Main.java" file and save it.
    2. Modify "NewClass.java" file and save it.
    3. Select project root and invoke Versioning | Subversion | Export "Project" Diff Patch... from main menu. Select desired output file for patch and confirm the dialog.
    • EXPECTED RESULT: Patch should be created in your chosen file. If this action is invoked on context that has no modified files, information dialog should be displayed only.
  1. Applying patch
    1. Switch to "Files" view and select project root.
    2. Invoke Versioning | Subversion | Revert Modifications from main menu or Subversion | Revert Modifications from popup menu. (Select "Revert Local Changes" option and push Revert button.)
    3. Make sure that all modified files are "uptodated" now.
    4. Select project root and invoke Tools | Apply Diff Patch... popup menu action.
    5. Answer "Yes" in question dialog to confirm watching differences.
    • EXPECTED RESULT: Verify that new tabs were opened into the editor for all patched files. Verify results generated by "Command-line Diff" and "Built-in Diff" engines. Verify results displayed by "Graphical Diff Viewer" and "Textual Diff Viewer" visualizers.
  1. Create conflict
    1. Modify "Main.java" file and save it.
    2. Invoke Versioning | Subversion | Check out... from main menu and setup the same parameters as for previous Suites but with different "Workfile location".
    3. Open the same project, modify "Main.java" class at the same line as in previous test suite, and commit it.
    4. Return to previous project, select the project root and invoke Subversion | Update with Dependencies popup menu action.
    • EXPECTED RESULT: "Conflicts warning" dialog should be displayed. Path to "Main.java" file should be indicated with red badges. This file should change its color to red too. Verify functionality of All, Local and Remote buttons in "Subversion" tab.
  1. Resolve conflict
    1. Invoke Subversion | Resolve conflicts popup menu action on "Main.java" node.
    2. Merging tool must get opened in editor area highlighting the line with conflict. Left pane should read "Working File", right pane "Remote File" 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.
    • EXPECTED RESULT: The data node should change back to "Main.java" and should have appropriate badge (blue badges for path). In addition, the merge tool must be closed.
  1. Delete file
    1. Switch to "Projects" view and expand "xx.yy" package node.
    2. Invoke Delete popup menu action on "NewClass.java" file node.
    3. Confirm your decision by clicking Yes in follow-up question dialog.
    4. File should disappear from all explorer views. It should appear in "Subversion" tab with "Locally Deleted" status.
    5. Select "NewClass.java" in "Subversion" tab and invoke Revert Delete action
    6. Confirm your decision by clicking Yes in follow-up question dialog.
    7. File should appear in all of explorer views.
    8. Invoke Delete popup menu action on "NewClass.java" file node again.
    9. Confirm your decision by clicking Yes in follow-up question dialog.
    10. Select "NewClass.java" in "Subversion" tab and invoke Commit...
    11. "Commit" dialog shows up. Fill commit message and push "Commit".
    • EXPECTED RESULT: File "NewClass.java" should disappear from all explorer views, and from "Subversion" tab.
  1. Delete Folder(s)
    1. Select package node that contains files.
    2. Invoke Delete popup menu action on package node.
    3. Confirm your decision by clicking Yes in follow-up question dialog.
    4. Select all deleted nodes in "Subversion" tab and invoke Revert Delete
    5. Confirm your decision by clicking Yes in follow-up question dialog.
    6. Package and its files should appear in all of explorer views.
    7. Repeat 2nd step.
    8. Confirm your decision by clicking Yes in follow-up question dialog.
    9. From "Subversion" push Commit button.
    • EXPECTED RESULT: Package with its content should disappear from all views.
  1. Project Deletion
    1. Create new project.
    2. Add this project into the source control. Invoke Versioning | Subversion | Show All Changes from main menu.
    3. Switch to "Projects" view, select project node and invoke Delete Project popup menu action. (Confirm dialog and delete also sources)
    • EXPECTED RESULT: All files should appear in "Subversion" view. These files should be in "Locally Deleted" status. Select all files in "Locally Deleted" state and invoke Revert Delete popup action from "Subversion" view. After successful action it should be allowed to open this project again.
  1. Exclude file from commit
    1. Create "JFrame" in "xx.yy" package.
    2. Invoke Subversion | Commit... on this JFrame in "Projects" view.
    3. Switch to "Subversion" tab, there should be listed "NewJFrame.java" and "NewJFrame.form" files. Select both the files and invoke Commit....
    4. "Commit" dialog should be displayed with these JFrame files. Change the "Commit Action" to "Exclude from Commit" for both files. Push "Commit" button.
    • EXPECTED RESULT: Both files have to be excluded from commit with no change of their statuses. Include in Commit action should be accessible in popup menu actions in "Subversion" tab and performing Include in Commit must return file to "committing" status.
  1. Ignore file
    1. Create new "Java class" ("NewClass2") into "xx.yy" package.
    2. Select this java file and invoke Subversion | Ignore .
    • EXPECTED RESULT: "NewClass2.java" should change its color to gray with Ignored annotations in all explorer views and it should disappear from "Subversion" tab.
  1. Ignore folders
    1. Create new "New Package" ("tt2") into "javaapplication" package.
    2. Select this "tt2" package and invoke Subversion | Ignore .
    • EXPECTED RESULT: "tt2" should disappear from "Subversion" view. Externally verify that ".svn" administrative directory of parent folder of "tt2" package contains file "dir-props" listing "tt2" package.
  1. Unignore file
    1. Select "NewClass2.java" in "Projects" view and invoke Subversion | Unignore popup menu action.
    2. "Subversion" tab should contain "NewClass2.java (Locally New)" files. Path to this should be indicated with blue badges.
    3. Select project root and invoke Versioning | Subversion | Commit All Files action from main menu.
    4. "Commit" dialog shows up, enter some commit message and push "Commit" button.
    • EXPECTED RESULT: File should disappear from "Subversion" tab. Font color of "NewClass2.java" file is black now. Externally verify that ".svn" administrative directory of parent folder of "NewClass2.java" package doesn't contain this file listed in "dir-props".
  1. Reverting modifications
    1. Open "NewClass2.java" to editor.
    2. Insert brand-new line somewhere into the file.
    3. Delete some other line but not directly next to the new line.
    4. Modify another line but not directly next to the lines mentioned above and Save the file. File name color should change to blue, verify the path indicating blue badges.
    5. Select "NewClass2.java" and invoke Subversion | Revert Modifications
    6. "Revert Modifications" dialog should show up. There are three choices: "Revert Local Changes", "Revert Modifications from Single Commit" and "Revert Modifications from Previous Commits". "Revision" should be enabled for second choice. "Starting Revision" and "Ending Revision" revision should be enabled for third choice only. This dialog provide also the functionality of rollbacking changes. For each of these fields "Search..." button should be available. You can also check "Remove newly added Files and Folders" checkbox for all three choices. That would result in deleting any newly added files.
    7. Push the "Revert" button.
    • EXPECTED RESULT: All changes should be reverted. Indicating badges should disappear. "NewClass2.java" file should not be listed in "Subversion" tab.
  1. Global actions
    1. Invoke Versioning | Subversion | Show All Changes action from main menu.
    2. Invoke Versioning | Subversion | Diff All Files action from main menu.
    3. Invoke Versioning | Subversion | Update All Files action from main menu.
    4. Invoke Versioning | Subversion | Commit All Files action from main menu.
    • EXPECTED RESULT: Verify functionality of all above mentioned commands.
  1. Actions in Projects view
    1. Add new package "aa" and new "Interface.java"
    2. Add new package "aa.bb" and new "NewClass.java"
    3. Invoke Subversion | Commit... on "aa" package.
    4. Commit dialog shows up. There should be "Interface.java" and "aa" listed in commit dialog. Push "Commit" button.
    5. Make sure that only "aa" and its file were added. Have a look in tab for SVN URL in "Output" window.
    • EXPECTED RESULT: Subversion actions invoked on packages "Projects" view shouldn't be performed recursively. Make sure that Update, Diff, Switch to Branch, Merge Changes From Branch, Export Diff Patch and Revert Modifications work correctly. In case of branching actions verify whether new files and folders are added/removed properly.
  1. Refactoring
    1. Select "Main.java" node and invoke Refactor | Rename... popup menu action on it.
    2. Enter new name for it and push "Next" button. Special window shows up, push Do Refactoring.
    3. File with new name should be listed in "Subversion" view as " Locally Renamed" and old one " Locally Deleted".
    4. Commit both files and verify whether new file inherited history by refactoring.
    5. Switch to "Files" view, select package "xx" and invoke Refactor | Rename... popup menu action on it.
    6. Enter new name "yy" for it and push "Next" button. Special window shows up, push "Do Refactoring".
    7. Make sure that all refactored nodes with new name are marked as " Locally Copied" (for directories only " New" is shown) in the "Subversion" tab. "yy" is " New", "NewClass" and "Main" from "yy" are " Locally Copied]". "NewClass" and "Main" from "xx" are " Locally Deleted]".
    • EXPECTED RESULT: Push Commit make sure that file nodes disappear. And all files/directories were committed as well.


Test suite: Working with Copies/Branches

Purpose: This suite tests work-flow with copies/branches.
Setup: No setup is necessary except steps from previous test suite.

  1. Copy/Branch creation
    1. Select project root and invoke Subversion | Copy to... popup menu action.
    2. Dialog for branching shows up. Setup "Copy to Repository Folder" (create new location for copy purpose). Push Browse button. Verify functionality of this component. Try to create new folder with use of New Folder button or through the popup menu on some node in "Repository Browser" component.
    3. Enter "Copy Description" field.
    4. Verify that "Switch to Copy" check box is displayed in dialog and check it.
    5. If this action was invoked on context with some modified files make sure that warning message is being displayed about locally modified files in context.
    • EXPECTED RESULT: Verify in "Output" tab whether project was branched properly. Nodes in explorer view should be annotated. If "Switch to Copy" was not checked, then sources shouldn't be switched to new created copy.
  1. Committing to branch
    1. Select the "Main.java" file, modify and save it.
    2. Invoke Subversion | Commit... popup menu action.
    3. Commit dialog shows up and there should be listed "Main.java" file and information about the commit - "Committing to "Project" branch". Push "Commit" button.
    • EXPECTED RESULT: Verify in "Output" tab whether the action finished successfully.
  1. Multiple branches
    1. Create new e.g. "NewInterface" in this project.
    2. Select project root and invoke Subversion | Commit... project from popup menu.
    3. Commit dialog shows up and there should be listed "NewInterface.java" file and information about the commit - "Committing to "Project" branch". Push the Commit button.
    4. Verify successful commit of new added file.
    5. Now select project root and invoke Subversion | Switch to Copy... popup menu action.
    6. Appropriate dialog shows up. Browse desired "Repository Folder" and desired "Revision" where "NewInterface" doesn't exist.
    7. "NewInterface" file should disappear from all views.
    8. Select again project root and invoke Subversion | Switch to Copy... popup menu action.
    9. Verify that "Repository File (Folder)" (depends on context it was invoked for) combo box, "Browse" button, "Repository Revision" text field and "Search" button were shown.
    10. Choose "Repository File/Folder", desired revision number and push Switch button.
    11. Verify whether "NewInterface" file appears in all views again.
    12. Select "Main.java" file and invoke Subversion | Switch to Copy... popup menu action.
    13. In the dialog setup "Repository File/Folder" for trunk and push the Switch button.
    14. Verify that file contains changes made in the trunk.
    15. Modify and save both "Main.java" and "NewInterface" file.
    16. Select the project root and invoke Versioning | Subversion | Commit "Project"... from the main menu.
    17. Dialog shows up, with these two files. There should be warning about attempt to commit to multiple branches - commit dialog now contains also "Branch" column - if there is nothing in the column, the file is to be commited to the trunk, otherwise to some branch (its name will be there).
    • EXPECTED RESULT: Verify that "Main.java" was committed to trunk and "NewInterface" was committed to "Copy" location. (Switch to both locations and verify changes.)
  1. Merge from branches
    1. Select the project root, invoke Subversion | Switch to Copy... action.
    2. In the dialog setup "Repository File/Folder" for trunk and push Switch button.
    3. All project sources should contain only "Trunk" changes.
    4. Create "NewInterface" and add new method to "NewInterface", save and commit it.
    5. Add new variable to "Main.java", save and commit it.
    6. Switch project to "new_copy".
    7. Open "Main.java" into the editor, modify the type of the variable created in step 5 at the same line. Save the file.
    8. Open "NewInterface" into the editor, modify the return value of the method created in step 4 at the same line. Save the file.
    9. Select project root invoke Subversion | Merge ... popup menu action.
    10. Dialog shows up. There are three choices for merging. Each of choice has descriptive picture. Verify all their components and functionality for each case. Push Merge button.
    11. Dialog shows up with the information that there were conflicts.
    • EXPECTED RESULT: Files in conflicts are displayed with red color in "Subversion" tab. Resolve all the conflicts.


Test suite: Subversion properties

Purpose: This suite tests editing of Subversion properties for files and packages.
Setup: Subversion versioned project needs to be opened.

  1. Opening Svn Properties Editor
    1. Select any SVN versioned file in "Projects" view and invoke Subversion | Svn Properties from its popup menu.
    • EXPECTED RESULT: New window labeled "Svn Properties Editor" should open in the middle of your screen. Verify that "Property Name" combo box, "Property Value" text area, "Browse", "Add", "Remove", "Refresh", "Cancel" and "Help" buttons, "Recursively" checkbox and a table with columns "Name" and "Value" are present.
  1. Adding file SVN properties
    • Setup: Steps from previous test case are required.
    1. Type something into the "Property Name" combobox. Note that you can use the combobox to choose from some typical Subversion properties. But you can also use your own name for them.
    2. Type something into the "Property Value" text area. Verify that you can use the "Browse" button to load text from any file into the text area.
    3. Push the "Add" button. Note that the "Recursively" checkbox is disabled, because you invoked the Svn Properties Editor on just one file and not on some pacage/folder.
    • EXPECTED RESULT: New SVN property should be present in the table. Verify that its name and value are those you entered in previous steps.
  1. Adding package SVN properties
    • Setup: Add at least one additional file into same package as main.java and commit it.
    1. Select the package that contains files "main.java" and those added in a setup of this test case and invoke Subversion | Svn Properties from its popup menu.
    2. Type something into the "Property Name" combobox and "Property Value" text area.
    3. Make sure that the "Recursively" checkbox is checked and push the "Add" button.
    • EXPECTED RESULT: New SVN property should be present in the table for the package. Verify that the same property is set for all its children nodes (files and packages). Note that property would be set only for the package itself, if you didn't check the "Recursively" checkbox.
  1. Removing SVN property
    • Setup: Follow previous test case.
    1. Select the package that contains files "main.java" and invoke Subversion | Svn Properties from its popup menu.
    2. In the table select the property added in previous test case and push the "Remove" button.
    • EXPECTED RESULT: The selected property should disappear from the table. Note that if the "Recursively" checkbox was checked, this property would be removed from all package children nodes.


Test suite: Archeology

Purpose: This suite tests "archeology" searching with various criteria.
Setup: No setup is necessary except steps from previous test suite.

  1. Search button
    1. Invoke Versioning | Subversion | Checkout... wizard from main menu.
    2. Setup valid "Repository URL" and proceed to 2nd step of "Checkout" wizard.
    3. Push Search... button.
    4. "Search Revisions" dialog shows up.
    5. "List Log Entries from" field and "List" button should be there. Push the "List" button.
    6. There should be listed records containing "Repository Revision Number", "User Name", "date and time" and "Commit Message" for each record in it.
    7. Select some record and push OK button.
    • EXPECTED RESULT: Verify that "Search Revisions" dialog was closed and "Repository Revision Number" was setup into "Revision:" field of "Checkout" wizard. This component is also accessible from "Switch Copy to", "Merge ...", "Revert Modifications" dialog. Verify them too.
  1. Annotations
    1. Select "Main.java" node and invoke Subversion | Show Annotations popup menu action.
    2. "Annotations" column and "Stripes" should be displayed around the editor area of this file.
    3. Select desired line (with revision e.g. "12").
    4. All lines with revision ("12") should be colored blue in "annotations" column. "Stripes" should show navigations to this revision too.
    5. Move mouse pointer over "Revision" column and invoke popup menu.
    • EXPECTED RESULT: There should be Diff 12 to 11, Revert Modifications... and Close Annotations actions listed in popup menu.
  1. Annotations actions
    1. Choose Diff... action.
    2. "Diff" tab should be opened into the editor for specified revisions.
    3. Choose Revert Modifications... action.
    4. This action should show "Revert Modifications" dialog. (See "Standard Workflow" test suite - "Revert modifications")
    5. Choose Close Annotations action.
    6. This action should hide annotation column and stripes too.
    • EXPECTED RESULT: Verify functionality on various revisions and navigations with the use of "Stripes".
  1. Search history
    1. Switch to "Projects" view and select project root.
    2. Invoke Subversion | Search History... popup menu action.
    • EXPECTED RESULT: "Search History" tab for this project should be displayed in editor area. Verify also functionality of "Browse" buttons next to "From" and "To" fields.
  1. Summary functionality
    1. Make sure that "Summary" toggle button is pushed.
    2. Push Search button.
    • EXPECTED RESULT: Verify that all files of the project are listed in "Summary" output area. All items there should contain "revision number", "username", "date", "file location", "file name", "commit message" and "Diff" and "Revert" link there.
  1. Summary actions
    1. Invoke popup menu on desired record in "Summary" section.
    2. There should be Diff to Previous Revision and Rollback Changes.
    • EXPECTED RESULT: Verify the functionality of each action. Behavior of these actions was described in Annotation actions section. Rollback Changes action can be invoked on multi selection that will rollback all differences among selected revisions.
  1. Diff functionality
    1. Select project root and invoke Subversion | Show History... popup menu action.
    2. Push Search button and then click "Diff" toggle button.
    • EXPECTED RESULT: Verify that table with list of files is displayed. Also area for "Diff" should be there.
  1. Diff actions
    1. Invoke popup menu on desired revision of the file in "Diff" section.
    2. There should be Rollback Changes action listed in popup menu.
    • EXPECTED RESULT: Verify the functionality of each action. Behavior of these actions was described in Annotation actions section. Rollback Changes action can be invoked on multi selection that will rollback all differences among selected revisions.
  1. Exploring revisions
    1. Select some file in this table that has more revisions and expand node.
    2. Select some revision.
    • EXPECTED RESULT: In "Diff" output area there should be displayed differences between selected and previous revision. On multi selection of two revisions of the same file there should be displayed differences between them. Differences should not be displayed for different files.
  1. Random search
    1. Invoke Subversion | Search History... on file, projects.
    • EXPECTED RESULT: Verify the functionality of "Search History" action on files, packages and project nodes. Verify that searched results meet searching criteria.


Test suite: Subversion Options

Purpose: This suite tests some configurable options of Subversion.
Setup: No setup is necessary.

  1. Invoking Subversion Options
    1. Invoke Tools | Options from main menu.
    2. Push "Miscellaneous" button.
    3. Expand "Subversion" node.
    • EXPECTED RESULT: Three buttons with description should display: "Browse", "Manage Connection Settings" and "Manage Status Labels".
  1. Setting up SVN executable path
    • Setup: Follow steps from "Invoking Subversion Options" test case.
    1. Push the "Browse" button.
    2. "Browse for the SVN Executable" dialog appears. Use it to locate SVN executable and press "OK" button.
    • EXPECTED RESULT: After confirmation (using "OK") button, NetBeans should be able to work with Subversion.
  1. Manage Connection Settings
    • Setup: Follow steps from "Invoking Subversion Options" test case.
    1. Push the "Manage Connection Settings" button.
    2. Dialog similar to "Checkout" dialog appears.
    3. You can remove any previously used Repository URL using the "Remove from History" button, change login information for the repository (User and Password), or change Proxy Configuration using appropriate button or text field. You have to confirm your changes by pressing the "OK" button
    • EXPECTED RESULT: Verify functionality of all mentioned functions in this dialog.
  1. Manage Labels
    • Setup: Follow steps from "Invoking Subversion Options" test case.
    1. Push the "Manage Status Labels" button.
    2. "Manage Labels" appears. Verify that it contains "Status Label Format" text field, buttons "Add...", "Up", "Down", "New", "Remove", "Reset to Defaults", "OK", "Cancel" and "help", and a table with two columns labeled "Repository Url Pattern" and "Folder Name".
    3. Push the "Add..." button. New window labeled "Select Variables" appears. You can choose any from offered variables and press "OK" button.
    4. Every time you add a variable, it is added at the end of the "Status Label Format" text field. You can also edit it by yourself. Explanation of all variables is displayed in the "Select Variables" window.
    5. The table and buttons "Up", "Down", "New" and "Remove" remove are all bound to the {folder} variable (functionality of these buttons is for moving and adding/removing lines in the table).
    6. Rows of the table are tested from first to last for matching regular expression in the "Repository Url Pattern". The first matching pattern is used its "Folder Name" column used for substitution for the {folder} variable. For example \2 means, that 2nd part of the regular expression will be used.
    7. Push the "Reset to Defaults" button and then "OK" button.
    • EXPECTED RESULT: Verify that status labels are as defined in previous steps. (It is necessary to have View


Generated: Wed Mar 28 15:55:11 CEST 2007

Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo