cornercorner
FeaturesPluginsDocs & SupportCommunityPartners

Form Editor - Component Inspector Test Specification

Author: Jaromir Uhrik, Marek Grummich
Version: 5.0
Last update: 22.09.2005
Introduction: This is intended as tests of component Inspector.
Comment:

Table of Contents

Test suite 1: General

Purpose: Test assure Component Inspector funcionality as a component which cooperates with Source Editor , Explorer and Form Editor.
Setup: Start IDE with clear userdir. Create new project, Java Application (e.g. MyApplication) and create a new form (e.g JFrame) containg several components.

#Test caseDescription
1Assure the popup menu context
  1. Select component (top level component) and assure visual appearance of popup menu, enabling/disabling of appropriate/ unappropriate operations according to a popup menu context
RESULT:
2Assure the data transfer actions (clipboard, delete)
  1. Moving/Copying operation are not trivial like in the Explorer. Assure that properties of copied components persists (expect the unique properties e.g. Variable Name - check uniquity). Refer these changes with Source Editor
  2. Try to rename component. Set new name as name of existing component. Rename component to name of deleted component
  3. Try to select more components and (Cut/Copy) to another container. Cut/Copy container, and try to "nest" it, try it with (J)PopupMenu and (J)Menu
RESULT:
3Assure consistence with form sub tree of Form Data Object Node
  1. Every opened Form Data Object consists of class subnode and form subnode in Explorer (expand the form node in Explorer and expand Top-node in Component Inspector)
  2. Refer all changes in AWT tree of Component Inspector with the form subnode tree of Explorer. Verify their consistency. These two trees should be the same and operation over one tree should affect the other
  3. Open some form and assure there is new tab added into the editor pane. The name of the tab ends with [Form] suffix
RESULT:
4Assure consistence of Component Inspector and Form Window
  1. Traverse through tree
  2. By the selection of node (component or top level component) also its "mirror" component in Form Window is selected
  3. Also Component Inspector's built-in propertysheet should show properties of the selected components
RESULT:
5Change order
  1. Assure Change order in Component Inspector (in Top-node by Change order and in component by Move up/down )
  2. Check changes in Source Editor (for GridLayout, FlowLayout, CardLayout, BoxLayout, BorderLayout the order change visual appearance in Form Editor, but for another layout must stay without change)
RESULT:
6Go to actions
  1. Assure focus traverse (the focus must be moving in tree when pressing arrow up and arrow down key)
  2. Push Goto Source actions from popup menu
RESULT:The source editor for the form is focused.

Test suite 2: Basic properties tab

Purpose: Test the content of the Basic properties tab and assure the possibility of settings change.
Setup: Start IDE with clear userdir. Create new project, Java Application (e.g. MyApplication) and create a new form (e.g JFrame) containg several components. Create new JFrame form and open it.

#Test caseDescription
1Property Editors test
  1. Assure there are three categories of settings (for JFrame form) in the Basic Properties tab (Properties, Other Properties and Accessibility).
  2. Add the JButton into the form and assure there is one more category of Basic properties - Layout
  3. Color editor (background, foreground, gridcolor, ... ). Test all way to set color (Swatches, HSB, RGB, AWT palette, Swing palette, System palette)
  4. There is a special Property Editor for int[] (e.g. 'preferredSize' property of JButton) - you can enter only first value and this value is automatically copied into whole vector (it works only on the line) - check it (e.g. property maximumSize of JButton). Change values of type
    • String (e.g. 'text' property of JButton),
    • String[] (e.g. 'model' property of JList),
    • int (e.g. 'iconTextGap' property of JButton),
    • int[] (e.g. 'preferredSize' property of JButton),
    • float (e.g. 'alignmentX' property of JButton)
    Again, try to insert "weird" values to all types.
  5. Boolean - Click on the checkbox toggles the value to the opposite state.
  6. Font - Change Font, Font style and size
  7. Icon - Try to switch various Image sources (URL,File, Classpath) or No picture and check the generated code
  8. Border - Try to select all borders, set parameters and assure generated code. Try to invoke Border Editor for component which have defined itself border.(e.g. Label)
  9. MenuBar (top node)
  10. Insets (margin) - Try to set insets (Top, Left, Bottom, Right)
  11. Dimension (Minimum size, Preffered size, .. ) - Try to set dimension (Width, Height)
  12. Cursor (top node) - Open cursor editor and try to select one. Assure generate code
  13. Directory / file editor (select) - Select file or directory and assure generated code
  14. Model Editor (JComboBox model, JList model ) - Add items, Remove them, Edit them. change order of items by Move Up, Move Down
  15. Model Editor - JTable - Create table, add columns, rows, edit table cells, change Title, set editable, change size and set some dafult values, change place (Move left/right)
  16. ButtonGroup - (JButton, JToggleButton, JRadioButton, JCheckBox, JCheckBoxMenuItem, JRadioButtonMenuItem ) Try select and change buttonGroup property
RESULT:
2Assure setting properties
  1. Setting a property can be done via:
    • String Editor - write name (String)
    • Resource bundle (for type String ) pane
    • l
    • Form Connection panel - check the dialog In this dialog you can set :
    Value - set value ,
    Property - select property,
    Method Call - call method (with parameters) from class
    User Code - write own code
RESULT:
3Assure visual appearance of String Property Editor.
  1. Dialog is opened by clicking on "..." in Properties:
    • Edit - Change, enter text in Property Editor. Try this on editable and uneditable properties.Assure propagation of change to Source Editor. Some properties are write to source after set new value and push Enter.
    • Cancel - Value is not set to properties. Property Editor is closed, no dialog appears during this action.
    • OK - Value is set to properties. Property Editor is closed, no dialog appears during this action.
RESULT:
4Advanced button
  1. Assure action by Advanced button which invokes dialog which allows to insert Pre and Post Initialization Code
  2. Write some code and assure propagation to Source Editor and persistence of this code
RESULT:
5Check all tooltips
  1. Check tooltips over values (value is in tooltip description) and over properties (type and short description)
RESULT:
6Assure Property Editors' Dialog
  1. Assure next actions:
    • OK - confirmation,
    • Cancel - discard ( return to the original value ),
    • Default - set default value
RESULT:
7Assure change Property Editor.
  1. Try change property editor for any properties, set value, save and reopen file
  2. Assure that value change is reflected in Source Editor
RESULT:

Test suite 3: Events tab

Purpose: Events tab assure consistency between Component Inspector's Events tab and Explorer's Methods view and persistence of following changes. Save and reload the form again.
Setup: Start IDE with clear userdir. Create new project, Java Application (e.g. MyApplication) and create a new form (e.g JFrame) containg several components.

#Test caseDescription
1Assure click over name of the event
  1. Click over empty handler in the Event tab causes appearance of default value eg. jButton1ActionPerformed
RESULT:
2Assure make all possible handlers
  1. Make all possible handlers of some component (check performance, refreshing of editor, event tab, ... )
RESULT:
3Assure renaming of event handlers
  1. Rename the same event handler more than once and check changes. Use "forbidden" names ( keywords, numbers, ... ). Use existing names of event handlers
RESULT:
4Assure deleting of event handlers, delete the name of the event handler
  1. Delete an event handler of a component
  2. If the event handler is the last handler which is attached to the event then a dialog should be shown
  3. You can confirm deleting of the event handler ( including user code - assure it ) or let it be
  4. Rename event handler and delete the same handler
RESULT:
5Assure multi selection of event handlers
  1. Select 'Events' tab and display handlers of any event.
  2. One event can have only one active event handler (there could be other reasonable event handler which can be set as active)
  3. Assure adding, multiple selecting and removing these handlers and see generating of proper code
  4. Handler names are displayed in popup under the event
RESULT:

Test suite 4: Layouts category

Purpose: Layouts category in this test assure operation with layouts and their transformation.
Setup: Start IDE with clear userdir. Create new project, Java Application (e.g. MyApplication) and create a new form (e.g JFrame) containg several components.

#Test caseDescription
1Assure property of all
  1. Change a property and observe code and visual changes
RESULT:
2Assure layouts constraints
  1. Change a property and observe code and visual changes.
RESULT:
3Assure changes by Visual Development
  1. Change location of component by mouse in Form Editor and assure change value of properties in Layout category
  2. Change properties in GridBag Customizer and assure change value of properties in Layout category
RESULT:

Test suite 5: Code tab

Purpose: Code tab in this test assure Component Inspector funcionality as a component which generates some parts of code.
Setup: Start IDE with clear userdir. Create new project, Java Application (e.g. MyApplication) and create a new form (e.g JFrame) containg several components.

#Test caseDescription
1Assure Code Generation
  1. There are two choices Generate Code and Serialize
RESULT:
2Assure Post Creation Code, Custom Creation Code, Post Init Code, Pre Creation Code, Pre Init Code
  1. These properties determines the init an creation code of its component
  2. Create some code in all of this properties and assure changes in Source Editor, save and compile file
RESULT:
3Assure the Serialize To property
  1. You can specify the file into which the component will be serialized (the Code Generation property should be set to Serialize)
RESULT:
4Assure Variable Name
  1. Assure visual appearance after set new name
RESULT:
5Assure setting Top-node properties
  1. In Component Inspector select the main container node ([JFrame], [Frame] ...) and change properties :
    • Position and size - (Form position, Form Size, Form Size Policy)
    • Generating Code - (Generate Size, Generate Center, Generate Position)
    • Menu bar - add and remove code for setting a menu bar , change Menu bar and assure visual appearance
RESULT:

Test suite 6: Beans tests

Purpose:
Setup: Start IDE with clear userdir. Create new project, Java Application (e.g. MyApplication) and create a new form (e.g JFrame) containg several components.

#Test caseDescription
1Beans test
  1. Create beans by compilation of components (JPanel) add to Component Palette
  2. Try to add to frame (JForm), compile, save, reopen and assure created frame
RESULT:

Test suite 7: GridBag Customizer

Purpose:
Setup: Start IDE with clear userdir. Create new project, Java Application (e.g. MyApplication) and create a new form (e.g JFrame) containg several components.

#Test caseDescription
1Customizer and AWT
  1. Open form file with AWT components ( top-component)
  2. Move Form Editor window over all desktop pane
  3. Open more than one AWT frame and assure repainting crossovers forms
RESULT:
2Customize
  1. Open form file
  2. Add some components
  3. Set GridBagLayout and Customize layout
  4. In Customizer Dialog move components
  5. Set all properties
  6. Close/open file
  7. Assure code generation (GridBagConstraints)
  8. Add some container to form(set GridBagLayout for top-container)
  9. Push Design This Container (in Form window you can design selected container)
  10. Try to customize GridBagLayout of top-container
RESULT:

Generated: 2005 09 22 11:46
Companion
Projects:
MySQL Database Server   GlassFish Community: an Open Source Application Server   Open Solaris  Open JDK: an Open SourceJDK   Mobile & Embedded Community     Sponsored by 
Sponsored by Sun Microsystems