M4 Test Grid for JDT/UI and Text Components
Test day: Wednesday, December 15, 2004
Components: JDT/Text, JDT/UI, Platform/Search and Platform/Text
Testers: Martin Aeschlimann, Daniel Megert, Markus
Keller, Dirk
Baeumer, Erol Koc, Tobias Widmer, Tom Eicher, Kai-Uwe Maetzel and Christof Marti
Bug verification (all)
Verify P1 and P2 bugs fixed during M4:
Misc (Dirk, Kai)
- Hyperlink Support:
- verify that shared preferences work for Text editor
- verify URL hyperlinking in Text editor
- Occurrences in File:
- test Quick menu (Ctrl+Shift+U)
- verify that it is possible to reassign Ctrl+Shift+U to directly search occurrences in file
- Pasting:
- should insert elements in correct order
- Project wizard asks to change compliance to 5.0 if 5.0 JDK is detected
- test keyboard support to open Quick Outline view menu (Ctrl + F10)
Refactoring Part I (Martin, Tom)
- Rename JavaProject, Package, Field, Type:
- should
work with all 5.0 features (Rename Method / Change Method
Signature: do not work with 5.0 features due to missing generic search
engine)
- Rename Method and Change Method Signature:
- Test scenarios with overridden methods (only 1.4 code)
- verify that all ripple methods are found
- Change Method Signature:
- Change non-generic parameter types to parameterized types (e.g. List -> List<List<String>>)
- verify input checking in dialog
- Note: CMS does not yet work on methods whose header already contains parameterized types
- Extract Local Variable:
- should remember 'final' and 'replace all' settings from previous invocation
- Inline Local Variable:
- should work on enums and generic types
- Move Member Type To New File:
- should work on nested enums and annotations
- check for correct 'this' qualification
- Move Method:
- check correct deprecation message
- option to generate delegate
- visibility
- correct inlining
- correct adaption of Javadoc
- correct handling of binary references
- handling of vararg arguments
Refactoring Part II (Erol, Kai)
- Overall Refactorings:
- should be enabled on enums and annotations where reasonable
- Move Static Members:
- Extract Interface:
- should be enabled on classes and enums only
- correct interfaces from generic types with several type bounds
and wildcards (references to the refactored type are not yet updated to
the extracted interface in case of generic types)
- Push Down / Pull Up:
- no unused imports in moves between different compilation units
- visibility
- Extract method:
- test inside enums, anonymous enums, generic types and generic methods
- test extracting code that referes to a type parameter defined by the class
- test extracting code that referes to a type parameter defined by the method. Should generate a generic method.
- Inline method:
- test with enums and anoymous enums
- Self Encapsulate Field:
- test inside enums, anonymous enums, generic types
- test with field where the type is a type parameter
- Surround With try/catch:
- test inside enums, anonymous enums, generic types and generic methods
Quick Fix (Dani, Markus)
- change to 5.0 compliance when 5.0 constructs are used in 1.4 source
- change field to method (e.g., System.properties -> System.getProperties())
- type parameter Javadoc tags @param <A>
- Javadoc comment linked positions for comments, e.g., add missing param tag -> linked position after @param
- add unimplemented methods for generics and method type parameters
- general testing of quick fixes in generic types and enums
- Serial Version Quick Fix:
- should work on generic, anonymous and nested types
- correct generation of SUID
- handling of default VM arguments
Working Set Mode in Package Explorer (Dani, Martin)
- test configure dialog to select, rearrange and manage working sets (Package Explorer > view menu > Configure WS)
- test rearranging order of working sets using DnD
- test configuring working sets using DnD and Copy/Paste
- test working sets containg packages, source folders or CUs as elements
- change content of package & source folder and make sure the package explorer refreshes correctly
Preferences Rework Part I (Markus, Christof)
- test each and every preference page:
- verify that shared preferences are used by more than one editor
- verify that changing shared preferences updates open editors
- setup a workspace with many open editors (>10 Text plus
>10 Java editors) and change a shared preference; verify that it is not much slower than in 3.1 M3
- layout of text and Java editor pages
- hyperlinks on Java editor page:
- cursor & color change on hover
- focus drawing
- tooltips
- pressing the link
- keyboard selection
- verify 1/4 of all mnemonics (arrange with others)
Preferences Rework Part II (Erol, Tobias)
- context menu preference action in Java and text editors:
- overview ruler
- vertical ruler
- editor area
- Workbench > Editors > All Text Editors > Annotations preference page:
- Expandable Sections on Java editor preference pages:
- main page, content assist page
- Syntax Coloring page:
- enable / disable from the ruler context menu and the preference pages:
- Project specify settings:
- Code style, Formatter, Organize imports
- verify 1/4 of all mnemonics (arrange with others)
NLS Tooling (Tobias, Christof)
- Properties File Editor:
- test Navigate > Open (F3) to navigate from property key to its references
- test Ctrl+Click to navigate from property key to its references
- verify that syntax coloring also works with files that have other extension than *.properties
- verify that syntax coloring also works with external files
- Class File Editor:
- verify that NLS hover works
- verify that Ctrl+Click on NLS key navigates to Properties File Editor
Spelling (Dirk, Tom)
- verify in Java editor and Properties File editor:
- spelling annotations are shown for spelling errors (not in property keys)
- Quick Fix for spelling errors:
- change word (if there is a similar correct word)
- add word to dictionary
- always ignore word
- hovers are shown for spelling annotations
- enable
/ disable "Ignore sentence capitalization" and verify it works as
expected (General > Editors > All Text Editors > Spelling):
- install the accompanying test spelling engine plug-in and verify:
- there are 3 spelling engines on the preference page (General > Editors > All Text Editors > Spelling)
- Interval Engine provides an option
- enabling one of the additional engines works (check with editor)
- using invalid values for preferences:
- disables OK and Apply buttons
- disallows switching to another spelling engine or preference page
- unchecking "Enable Spelling" disables the spelling engine's preference block