Jump to: navigation, search

Platform UI/Component Area Testing

Platform UI Component Area Testing

The following lists items to test for each of the component areas in Platform UI.

Last updated: Tuesday, Mar 12, 2012

Component areas

Oleg Besedin #Decorators, #Linked Resources, #Preferences, #Properties Dialog, #Undo/Redo
Tod Creasey #Encodings
Susan Franklin #Dialogs, #JFace, #Error Handling, #Features, #Fonts,
Curtis Windatt #Perspectives, #Examples, #Import/Export, #RCP, #Responsiveness, #Wizards
Eric Moffatt #Cell Editors, #Coolbar, #Dynamic Plug-ins, #Help, #DND, #Model, #OLE, #Properties View, #Welcome
Micheal Rennie #About, #Bookmarks, #Markers, #Open Modes, #Tasks, #Viewers, #Working Sets
Remy Suen #Editor Management, #View Management
Francis Upton IV #Navigator
Paul Webster #Action Sets, #Capabilities, #Contributions, #Global Actions, #Key Bindings, #Multi-Page Editors, #Workbench
McQ #Outline

About

About dialog and System Summary Editor

  • about blurb message, including correct version and build number
  • feature buttons; tooltip shows feature name; pressing gives feature details
  • list of features (provider, name, version and id)
  • list of plugins (provider, name, version and id)
  • list of plugins per feature (provider, name, version and id)
  • column headings are fully visible (using default appearance settings)
  • sorting
  • configuration details (system summary) includes system properties, feature details, plugin details, changed preferences, update log, error log
  • open error log separately
  • open a large ( > 4 mb) log
  • details for features and plugins list name, version and id
  • all details are readable

ActionSets

  • initial order is consistent (plugin id order for groups and items)
  • order is consistent when action sets added (plugin id order in menus, order added in coolbars)
  • order is preserved when action sets removed and re-added
  • order is preserved across shutdown/restart
  • drop-down tool items and submenus, e.g. Debug
  • toggle items
  • retargetable actions (including label retargetable actions)
  • action set / part associations
  • correct visibility and enablement when switching between parts
  • correct visibility and enablement when switching between perspectives
  • see also manual component tests and manual scenario tests for Actions

Bookmarks

Bookmarks view and actions

  • add/remove in Bookmarks view
  • add in Navigator view (Edit / Add Bookmark)
  • add/remove in text editor (in ruler)
  • properties
  • sorting
  • settings persisted across shutdown/restart
  • sort order persisted if view closed/reopened
  • see also manual scenario tests for Bookmarks view

Capabilities

Capabilities/Activities

  • Preference page Workbench > Capabilities
  • Initial hiding of appropriate areas in the SDK

Cell Editors

Cell editors in Tasks view, Properties view or other views

  • cell editors activate properly in Tasks view
  • cell editors activate properly in Properties view
  • text cell editor
  • combo cell editor
  • checkbox cell editor
  • text is not clipped
  • view resizing clips cell editor

Contributions

ContributionManager, ContributionItem hierarchy, org.eclipse.jface.action, action contributions from plugin.xml

  • context menu contributions
  • view menu contributions
  • editor action contributions
  • object contributions

Coolbar

Coolbar support (including layout within coolbar)

  • initial order of cool items is consistent
  • initial order within cool items is consistent
  • drag to new line properly updates coolbars and workbench layout
  • placement remembered when action sets removed and re-added
  • added action sets appear after other action sets but before editor items
  • manually changing order of items
  • order of items persisted across shutdown/restart
  • correct ordering when action set A shares action set B's toolbar
  • correct layout (no chevrons ever) when adding/removing items (esp. shared items)
  • lock/unlock toolbars (global setting)

Decorators

Decorators mechanism and Label Decorations preference page

  • correct application of decorations in Navigator and other views/dialogs
  • minimal flicker
  • acceptable responsiveness
  • lightweight decorators
  • declarative decorators (plugin.xml only)
  • Label Decorations preference page
  • persistence of prefs
  • startup does not block on decorations

Dialogs

JFace dialogs

  • layout
  • default icons, titles and messages
  • button sizing
  • selection handling in FilteredList (e.g. Open Type dialog)

DND

Drag and Drop. Does not include dragging views and editors.

  • copy/move within Navigator
  • copy/move between Navigator and other views, e.g. Package Explorer
  • copy/move between Navigator and OS
  • cursor feedback
  • merging folders
  • prompt to overwrite existing files
  • read-only files (under VCM and not)
  • see #Linked Resources for linked files
  • no data loss for overwritten files (local history)
  • trim dragging
    • show the IntroBar by clicking Help->Welcome and then clicking on the big arrow in the upper/left
    • drag various parts of the trim to different locations, ensure that there are no errors or drag 'cheese'
    • test Progress Monitor docking, both through the menu and through drag operations
    • close and re-open the eclipse workspace, verify that the trim all appears where it was placed (NOTE: the IntroBar will not re-appear on the open, this is expected)

Dynamic Plug-ins

Test UI support for dynamic plug-ins

  • try to add a plugin, make sure it is there
  • add a plugin and verify the existence of the new piece in Eclipse with any of the following (can use combinations too):
  • perspective
  • view
  • editor
  • new wizard
  • perspective extension
  • action set
  • action set part association
  • working set
  • popup menu
  • preference
  • property page
  • font definitions
  • decorator
  • theme
  • To test adding a new plugin
    • run a self hosted Eclipse (Runtime Workbench) with the program argument "-console". The 'console' view of your original Eclipse should display a prompt "osgi>"
    • use the following commands at the osgi> prompt:
      • ss - gives a summary of all plugins present ('resolved' plugins are available in the self hosted Eclipse)
      • install reference:file:/<full path of plugin> - adds a plugin and gives you a bundle number (remember this number) (Example: install reference:file:/d:/EclipseEnvs/3.0/I20040529/eclipse/workspace/org.eclipse.ui.tests/data/org.eclipse.newPerspective1)
      • refresh <bundle number> - 'resolves' the plugin related to the bundle number (remembered from 'reference' command earlier)
    • NOTE: that for a plug-in to be available in Eclipse you must do both the reference and refresh commands. Use ss frequently to find out what state your plugin is in.

Editor Management

General editor management, not text editor specific

  • editor switching using tabs
  • editor switching using Ctrl+F6
  • editor switching using Ctrl+E
  • editors dialog, using menu and accelerator
  • close buttons on each tab
  • dirty state indication
  • save/save as/save all [0, 1, or many editors] [none dirty, some dirty]
  • close/close all/close others [0, 1, or many editors] [none dirty, some dirty]
  • prompt to save dialog (on close all)
  • dirty editors saved on build (when "Preferences > Workspace > Save automatically before build" is set)
  • editors shared across perspectives in same window
  • context menu on tabs (system menu); Alt+- accelerator
  • zoom/unzoom (stays zoomed when switching editors and using fast views)
  • resize/move (and accessibility)
  • customizable key bindings for all editor management actions
  • all editor prefs, including appearance prefs and file associations, but excluding encoding pref (see [Encoding])
  • editor navigation history
  • DnD to open file
  • lazy activation
  • open external file, restart workbench, the editor should still be open
  • see also manual component tests and manual scenario tests for Workbench Actions and Window Actions

Encoding

Encoding preference on Editors pref page

  • encoding pref is honoured by text editor
  • list of encodings is consistent with those in text editor's Edit menu

Error Handling

OutOfMemory, NPE etc. Exceptions that are not expected but need to be handled to make it robust.

run in low memory conditions run in low disk space conditions

Examples

The 3 workbench examples (multipageeditor, propertysheet, readmetool) but not javaeditor (owned by platform-text component)

run all examples verify all extensions in Readme example verify pages stay in sync in MPE example keyboard navigation in property sheet

Features

UI related to features, other than [About], e.g. product branding, default perspective, etc.

product name product icon default perspective

Font

Dealing with dialog/window fonts

Fonts preference page font settings honoured in text editor and dialogs, wizards, preference pages, property pages theme settings honoured

GlobalActions

Actions created in workbench action builder that are not directly related to other components

editor actions are covered in [Editor Mgmt] Cut, Copy, Paste Move, Rename, Refresh, Revert, Print Delete, Select All, Find/Replace, Add Bookmark, Add Task Go Into, Go To > Back / Forward / Up One Level Next, Previous Open Project, Close Project, Build Project, Rebuild Project tracking active part label retargetable actions (undo/redo) ISaveablePart customizable key bindings for all global actions see also manual component tests and manual scenario tests for Workbench Actions and Window Actions

Help

F1 help; missing or problems with content

F1 help mechanism for main menu actions F1 help mechanism for context menu actions F1 help mechanism for editors F1 help mechanism for views

Import/Export

Import/Export wizards

file system import/export zip file import/export merging folders prompt to overwrite existing files read-only files (under VCM and not) see [Linked Resources] for linked files no data loss for overwritten files (local history) import existing project see also manual component tests and manual scenario tests for Import and Export

JFace

Parts of JFace not covered by #Dialogs, #Preferences, #Viewers and #Wizards

JFace resources Font registry (preference pages) Colour registry (preference pages) Image registry ModalContext etc and progress monitoring

Key Bindings

Key bindings engine and preferences; requests to change key bindings, or keys not working.

default key bindings for workbench actions, including those on Keyboard Shortcuts menu Keys preference page key binding engine switching configurations add/remove/undefine key bindings [no existing binding, existing binding] accelerator text in menus accelerators not stolen from key listeners or widgets (delete, Ctrl+Up, Ctrl+Down, F2)

Linked Resources

Handling of linked resources in Navigator and New File/Folder wizards

linking UI on New File/Folder wizards Workbench > Linked Resources preference page handling of linked resources in import/export, copy/move/delete, DnD correct handling of linked resource delta in WorkbenchContentProvider (see also [Model]) Path Variables preference page: all settings

Markers

Issues related to markers that are not covered by [Tasks] and [Bookmarks], e.g. bugs related to MarkerImageProvider and MarkerHelp

MarkerImageProvider: verify that marker images in editor ruler are obtained via this MarkerHelp: see [Tasks view], MPE example in [Examples] MarkerResolutions: see [Tasks view], MPE example in [Examples]

Model

Anything related to org.eclipse.ui.model classes IWorkbenchAdapter, WorkbenchLabelProvider, WorkbenchContentProvider

use of IWorkbenchAdapter, WorkbenchLabelProvider, WorkbenchContentProvider in Navigator and other dialogs correct handling of deltas in WorkbenchContentProvider (see also [Linked Resources])

MPE

Bugs related to Multipage editor that are not [Editor Mgmt] and not editor specific.

Delegation of editor actions (Save, Save As, Save All, Close...) to nested text editor. Delegation of dirty state from nested text editor. Save from context menu in nested text editor. Contributed actions from nested text editor (e.g. Add Bookmark)

Navigator

Navigator view

Correct display of workspace contents Correct labels and icons for elements Cut/Copy/Paste/Delete/Rename/Refresh/Move Properties Build Project, Rebuild Project Go Into, etc. Collapse All variants for all actions: [0, 1 or more items] [project, folder, file] [opened or closed project] correct hooking of global actions merging folders (for copy/move) prompt to overwrite existing files (for copy/paste/move) prompt for new name if pasting over same file read-only files (under VCM and not) (for copy/move/delete/rename) see [Linked Resources] for linked files (for copy/move/delete/rename) no data loss for overwritten files (local history) (for copy/move/delete) New menu consistent with File/New and New on toolbar Link with Editor (persisted across shutdown, and also for next instance) Go To Resource, Open Resource sorting filters working sets combination of working sets and Go Into, etc. consistency with Package Explorer (context menu, toolbar, view menu, working sets UI) see also manual component tests and manual scenario tests for Navigator view

OLE

OLE support on Windows

embedding popular apps (Word, Excel etc.) do we still have the scrollbar bug with Word?

Open Modes

Single click, double click support

check each setting in Navigator and other views, preference pages, property pages post-selection delay for keyboard navigation in Navigator, preference pages and property pages

Outline

Outline view

see manual component tests and manual scenario tests for Outline view

Perspectives

Perspective management

open/close/close all from menu open perspective from shortcut bar current perspective indicated in window title, and accurately reflected in OS task tray and window switcher customize perspective dialog message when no perspectives open closing last part does not close perspective Perspectives preference page: all settings Dock perspective bar in all locations see also manual component tests and manual scenario tests for Layout and Actions

Preferences

Preferences dialog, field editors and workbench preference pages

Preferences action always enabled preferences dialog opens, initially with Workbench page selected (if first time in session) check overall dialog layout, appearance and labels change page, close, come back; should be on same page (same session only) focus always stays in page list when new pages selected tab once brings you to first tab stop in selected page dialog grows to fit page check all workbench pref pages for appearance, layout, accessibility (not function): Workbench, Appearance, Editors, File Associations, Fonts, Keys, Label Decorations, Local History, Path Variables, Perspectives, Startup, and Build Order function on Workbench page: test all except Open Mode (see [Open Modes]) function on Capabilities page: covered by [Capabilities] function on Color and Fonts page: test all function on Capabilities page: covered by [Capabilities] function on Appearance page: test all except tab positions (see [Editor Mgmt], [View Mgmt]) function on Editors page: covered by [Editor Mgmt] function on File Associations page: covered by [Editor Mgmt] function on Fonts page: covered by [Fonts] function on Keys page: covered by [Key Bindings] function on Label Decorations page: covered by [Decorators] function on Linke Resources page: covered by [Linked Resources] function on Local History page: test all function on Perspectives page: covered by [Perspectives] function on Startup and Shutdown page: test all (use example from Eduardo) see also manual component tests and manual scenario tests for Preferences

Properties dialog

Properties dialog

Properties action only enabled for single selection, iff element (or resource adapter) has registered pages select resource and choose Properties preferences dialog opens, initially with Info page selected (if first time in session) change page, close, come back; should be on same page (same session only) try again with different resource selected; previous page is still remembered if applicable, if not it reverts to first page focus always stays in page list when new pages selected tab once brings you to first tab stop in selected page dialog grows to fit page check all workbench property pages for appearance, layout, accessibility (not function): Info, Project References function on Info page: test all [Project, Folder, File] function on Project References page: test all [Project only] see also manual component tests and manual scenario tests for Preferences Dialog

Properties view

Properties view

see manual component tests and manual scenario tests for Properties view

Responsive UI

Background Jobs, Jobs Dialog, preferences

test that jobs running in the background do show up in status line test button in status line that is supposed to open progress view test progress view test performing jobs that lock resources (e.g. build) and then try to access those resources (e.g. delete) to get blocked job dialog test swithing preference under Workbench for jobs in background try options in dialog to show more details, or run in background

RCP

Workbench Advisor mechanism and lifecycle events Runtime compatibility layer not required Default appearance: "traditional" look to tabs and perspective bar Default window content configurability: hide/show menubar, coolbar, status line, fast view bar, perspective bar, progress indicator various combinations (esp. of fast view bar, perspective bar, progress indicator) shell style bits perspective specified by DEFAULT_PERSPECTIVE_ID pref overrides that specified by advisor (bug 55477) Custom window content Constrained layouts: fixed perspectives non-moveable/non-closeable views standalone views (with and without title) Multiple view instances: properly persisted and restored original being fixed does not imply others are fixed (bug 56098) Window > Customize Perspective in SDK ensure it does not create extra instances of actions in WorkbenchActionBuilder Presentations mechanism R2.1. presentation Custom status line Standalone JFace apps (bug 59867)

Tasks

Tasks view

add/remove in Tasks view add in Navigator view (Edit / Add Task) add/remove in text editor (in ruler) properties sorting filter settings dialog settings persisted across shutdown/restart sort order persisted if view closed/reopened see also manual component tests and manual scenario tests for Tasks View

View Mgmt

View management, including fast views

view switching using Ctrl+F7 view switching using Alt+Shift+Q (+ O, P, S, T, X, Y ...) close button on each active view view content description only appears when needed view toolbar wraps up to the right of tabs when possible view label adapts to small size: first omits icon, then trims label using elipsis at end toolbar splits onto second row if no space views shared across perspectives in same window context menu on title (system menu); Alt+- accelerator view menu: Ctrl+F10 accelerator zoom/unzoom resize/move (and accessibility) convert to/from fast view using DnD convert to/from fast view using system menu "Fast View" toggle button and minimize button on toolbar only appear when fast view convert from fast view using "Fast View" toggle button views outline animates to the fast view bar when making fast views minimize fast view using minimize button maximize fast view using the maximize button customizable key bindings for all view management actions (except Show View items) all view management prefs, including appearance prefs and view prefs on Perspectives page DnD to rearrange views lazy activation see also manual component tests and manual scenario tests for Layout and Actions

Viewers

JFace viewers

Adding new items adds them in sorted order if using viewer sorter TreeViewer: deleting an expanded element does not pass expanded state onto replacement element Replacing element having an icon with element having no icon correctly clears icon on item

Welcome

Welcome page support

see manual component tests and manual scenario tests for Welcome Editor [Wizards] - JFace wizards and workbench new item wizards (excluding import/export)

see manual component tests for Workbench Actions and manual scenario tests for New Wizards

Workbench

ui.plugin, Workbench, WorkbenchWindow

Window > New Window see also manual component tests and manual scenario tests for Layout, Actions, and Persistence

Working Sets

Working sets

working sets wizard working set filtering in Navigator working set filtering in Tasks view consistency of working set UI in Navigator and Package Explorer persistence of working sets and view filter settings

Undo/Redo

Integrated undo/redo

Text editor undo works as expected with different undo limits set (General>Editors>TextEditors>Undo history size) After performing a refactoring, its undo appears in Edit>Undo of Package Explorer and Navigator, as well as affected editors For refactorings that affect more than one file, the user is prompted on whether to proceed when undo is requested from a text editor Typing text after performing a refactoring in an editor: can still undo refactoring by undoing text changes first Typing text after performing a refactoring in an editor: undo from Package Explorer/Navigator fails gracefully due to changed file see also manual component tests for additional scenarios