blob: 74badb11cbd23c3a419badc87518369277f66c07 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Language" content="en-us">
<meta http-equiv="Content-Type"
content="text/html; charset=windows-1252">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>Test Pass Two</title>
</head>
<body>
<h1>Test Pass Two: JDT UI, JDT Text, Platform Compare, Platform Text,
and Platform Search</h1>
<h3>Testers: Martin, Dani, Markus, David, Benjamin, Tobias, Tom, Dirk<br>
</h3>
<h2>Goal</h2>
<ul>
<li>test polish items that got added for RC1<br>
</li>
<li>test Java 5.0 functionality. Whenever you create some test code
please use 5.0 language features whenever possible. For example add a
type parameter to every new class, ...</li>
<li><font color="#000000">test corner cases</font></li>
<li>test setups which we typically don't use during development (for
example no Plug-in development)</li>
<li><font color="#000000">handling of error situations</font>
<ul>
<li><font color="#000000">watch log</font></li>
<li><font color="#000000">error messages</font></li>
</ul>
</li>
</ul>
<h2>Setup / Introduction</h2>
<h3><span style="font-weight: bold;">Build</span></h3>
&nbsp;&nbsp;&nbsp; S-3.1RC1-200505271300 (I20050527-1300)<br>
<h3>Platforms</h3>
<ul>
<li>Linux-GTK FedoraCore (Tom)</li>
<li>Mac OS (Tobias, Tuesday)<br>
</li>
<li>Windows XP (all others test)<br>
</li>
</ul>
<h3>General Items (everybody)</h3>
<ul>
<li>Whenever you have to fill in data in dialogs try to fool the
dialog by providing incomplete or bogus input</li>
<li>Watch for view updating (package explorer, browsing perspective,
outliner) when source content gets changed</li>
</ul>
<h3>Use of different fonts (everybody)</h3>
<ul>
<li>change font for text editor and dialogs to different font</li>
<li>check that dialogs are rendered correctly
<ul>
<li>specified dialog font is used</li>
<li>no buttons and labels clipped</li>
</ul>
</li>
</ul>
<h3>Test Multiple Monitor setup (Martin)</h3>
<ul>
<li>detached views</li>
<li>dialogs pop up on correct monitor</li>
</ul>
<h3>Workspace Setup</h3>
<p>Setup workspace in a way unusual compared to your normal setup.
Testing should take place in one of the following workspace setups. When
setting up the workspace test also the functionality to setup this
workspace style:</p>
<ul>
<li>use external projects (Dirk &amp; Martin)</li>
<li>use linked resources (Benjamin &amp; Tom)
<ul>
<li><font color="#000000">linked output folders</font></li>
<li><font color="#000000">linked source folders</font></li>
<li><font color="#000000">linked and nested source folders</font></li>
<li>test rendering in views<font color="#000000"></font></li>
<li><font color="#000000">linked class folders</font></li>
</ul>
</li>
<li>use multiple output folder (David)</li>
<li>use combination of exclusion &amp; inclusion filters (Tobias)</li>
<li>use user defined library containers (JUnit as a user defined
library) (Dani)
<ul>
<li>quick fixes for unbound user libraries</li>
<li>quick fixes for build path problems</li>
</ul>
</li>
<li>full source workspace (Markus)</li>
</ul>
<h3>Java Editor in Single Method mode (Dirk, Tom, Dani, David)</h3>
<ul>
<li>half of the team should test with editor in single edit mode</li>
<li>corner case
<ul>
<li>segmented mode, formatting, undo/redo</li>
</ul>
</li>
</ul>
<h3>Multiple Windows (Dani, Tom, Benjamin, Martin)</h3>
<ul>
<li>half of the team tests with multiple windows.</li>
<li>switch between windows for different actions</li>
<li>watch for wrong window popping to front</li>
<li>watch for wrong dialog parenting</li>
</ul>
<h3>Multiple Editor Areas (Dani, David, Martin)</h3>
<ul>
<li> test with multiple editor areas, i.e. multiple editor tab folders</li>
<li> watch for focus problems</li>
<li> watch for positioning problems when opening dialogs and info pops</li>
</ul>
<h3>Java Perspective / Browsing Perspective / Working Set mode</h3>
<ul>
<li>third of the team tests in browsing perspective (Martin,
Benjamin, Markus)<br>
</li>
<li>third of the team tests in Java perspective using project mode in
package explorer (Dirk, Dani, Tom)<br>
</li>
<li>third of the team tests in Java perspective using the working set
mode in the package explorer (Tobias, David)<br>
</li>
</ul>
<h3>Automatic workspace refresh (Tom, David, Martin)</h3>
<ul>
<li>half of the team tests with automatic workspace refresh enabled (<span
style="font-weight: bold;">Preferences &gt; Workbench &gt; Refresh</span>
workspace automatically</li>
</ul>
<h2>3.1 RC1 items</h2>
<h4>Bug verification (all)<br>
</h4>
<ul>
<li>Verify ALL bugs fixed during RC1 (<a
href="https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;product=JDT&amp;component=Text&amp;component=UI&amp;target_milestone=3.1+RC1&amp;long_desc_type=allwordssubstr&amp;long_desc=&amp;bug_file_loc_type=allwordssubstr&amp;bug_file_loc=&amp;keywords_type=allwords&amp;keywords=&amp;bug_status=RESOLVED&amp;emailtype1=substring&amp;email1=&amp;emailtype2=substring&amp;email2=&amp;bugidtype=include&amp;bug_id=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;cmdtype=doit&amp;order=Reuse+same+sort+as+last+time&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=">JDT/UI
&amp; JDT/Text</a>, <a
href="https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;product=Platform&amp;component=Text&amp;target_milestone=3.1+RC1&amp;long_desc_type=allwordssubstr&amp;long_desc=&amp;bug_file_loc_type=allwordssubstr&amp;bug_file_loc=&amp;keywords_type=allwords&amp;keywords=&amp;bug_status=RESOLVED&amp;emailtype1=substring&amp;email1=&amp;emailtype2=substring&amp;email2=&amp;bugidtype=include&amp;bug_id=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;cmdtype=doit&amp;order=Reuse+same+sort+as+last+time&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=">Platform/Text</a>,<a
href="https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;product=Platform&amp;component=Search&amp;target_milestone=3.1+RC1&amp;long_desc_type=allwordssubstr&amp;long_desc=&amp;bug_file_loc_type=allwordssubstr&amp;bug_file_loc=&amp;keywords_type=allwords&amp;keywords=&amp;bug_status=RESOLVED&amp;emailtype1=substring&amp;email1=&amp;emailtype2=substring&amp;email2=&amp;bugidtype=include&amp;bug_id=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;cmdtype=doit&amp;order=Reuse+same+sort+as+last+time&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=">Platform/Search</a>).</li>
</ul>
<h4>New class wizard (Dirk; FAQ Markus):</h4>
<ul>
<li>test code assist in interface list<br>
</li>
</ul>
<h4>New Open Type dialog (Markus; FAQ: Dirk)<br>
</h4>
<ul>
<li>Test new view menu in open type dialog</li>
<ul>
<li>test working set support (ensure that not to many types get
filtered)<br>
</li>
</ul>
<ul>
</ul>
</ul>
<h4>Quick Fix/Assist<span style="font-weight: bold;"> </span>(Ben,
Tobias; FAQ: Martin, Tobias)</h4>
<ul>
<li>Test new quick fixes to switch the compliance level or JRE to 5.0
when using 5.0 language constructs (note that a 1.5 JRE is required
which has to be added in the 'Installed JRE's' preference page)</li>
<li>Test new quick fixes for @SuppressWarnings annotation</li>
<li>Javadoc tags for type parameters (handled special. creates
&lt;T&gt;)</li>
<li>Test convert to enhanced for loop for iterators<br>
</li>
</ul>
<h4>New default line separate preference (Markus, Tom; FAQ: Dani &amp;
Tobias)</h4>
<ul>
<li>Check that all newly generated files respect the new line
delimiter setting avaible on project and workspace. Tests include all
new wizards, refactorings that create new files like extract method,
move member type to new file and NLS refactorings</li>
<li>Check that refactorings and source actions don't mess up line
delimiters (e.g respect existing line delimiters). &gt;&gt; Dani you
have a plug-in to check line delimiters. May be we should advertise it
and everybody should run it over its workspace from time to time.</li>
</ul>
<h4>Editor bound to Content type (Martin, Dani: FAQ: Dani)<br>
</h4>
<ul>
<li>for internal and external *.java files Java editor comes up</li>
<li>Associate file extension with Java editor</li>
<li>Binding other editors to *.java (for example Ant). Both must show
up in Open With...</li>
</ul>
<h4>Content assist with access restricitions (Martin, Dani: FAQ: Dani)<br>
</h4>
<ul>
<li>Test access restrictions for content assist (see Java
Editor-&gt;Code assist preferences). Note that you have to define some
access restrictions for the test project<br>
</li>
<li>Check that "access restricted" types don't show up in context
assist</li>
</ul>
<h4>Editor opening (Martin, Dirk: FAQ: Dani)</h4>
<ul>
<li>Try combinations of folding (on/off) and segemented mode (on/off)</li>
<li>Try single and double click open mode<br>
</li>
</ul>
<ul>
</ul>
<h2><a name="J2SE50"></a>J2SE 5.0</h2>
Note, when testing Java 5.0 feature don't forget to test parameterized
types that are subclasses of generic types as well as methods that use
type parameters and varargs. For example MyList extends
ArrayList&lt;String&gt; or &lt;X. void foo(X x, String...). The examples
below are a starting point of cases to check. The list IS NOT complete.
Try to come up with your own corner cases as well. A good overview what
to test is the J2SE 5.0 status <a
href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/jdt-ui-home/r3_1/j2se50/Status.html">document.</a><br>
<h4>Refactoring (David, Benjamin, Tom: coordinate the effort; FAQ:
Dirk, Markus, Tobias)<br>
</h4>
<ul>
<li>Rename <span style="font-weight: bold;">(Ben)</span><br>
</li>
<ul>
<li>annotations, annotation members (especially the special case
value), enum, enum member, type parameters, vararg parameters</li>
<li>with varargs, type parameters, generic &amp; parameterized
types in the signature (field, method, local)</li>
<li>rename of methods that are overridden or override/implement
other method. Focus on methods with varargs and type parameters<br>
</li>
</ul>
<li>Move CU/Type <span style="font-weight: bold;">(Ben)</span></li>
<ul>
<li>annotations, enum, generic &amp; parameterized types<br>
</li>
</ul>
<li>Move (method &amp; static members) <span
style="font-weight: bold;">(Ben)</span></li>
<ul>
<li>enums and annotations as members in types</li>
</ul>
<ul>
<li>signature with type parameters, varargs, parameterized types</li>
<li>methods in generic &amp; parameterized types</li>
<li>methods that refer to a static import or type parameters from
class<br>
</li>
</ul>
<li>Change method signature <span style="font-weight: bold;">(Ben)</span></li>
<ul>
<li>signature with type parameters, varargs, parameterized types</li>
<li>methods in annotations, enums, generic &amp; parameterized types</li>
</ul>
<li>Convert Anonymous to nested <span style="font-weight: bold;">(Ben)</span></li>
<ul>
<li>annotations, enum, generic &amp; parameterized types</li>
</ul>
<li>Move member type to new file <span style="font-weight: bold;">(Ben)</span></li>
<ul>
<li>annotations, enum, generic &amp; parameterized types</li>
<li>code that refers to static imports</li>
<li>code that refers to type parameters</li>
</ul>
<li>Pull Up &amp; PushDown<span style="font-weight: bold;"> (Tom)</span><br>
</li>
<ul>
<li>methods in generic &amp; parameterized types</li>
<li>methods that refer to a static import</li>
<li>methods with type parameters, varargs, parameterized types</li>
<li>between generic, normal and parameterized types</li>
<li>enums and annotations as members in types</li>
</ul>
<li>Extract Interface / Use Supertype where possible<span
style="font-weight: bold;"> (Tom)</span></li>
<ul>
<li>enum and annotations<br>
</li>
</ul>
<ul>
<li>generic and parameterized types</li>
<li>method with varargs, type parameters, parameterized types<br>
</li>
</ul>
<li>Generalize Type<span style="font-weight: bold;"> (Tom)</span></li>
<ul>
<li>enums and annotations</li>
<li>generic and parameterized types</li>
</ul>
<li>Extract/Inline Method<span style="font-weight: bold;"> (Tom)</span></li>
<ul>
<li>Code in generic &amp; parameterized types and enums<br>
</li>
<li>Code that refer to type parameters (from class and method)</li>
<li>vararg usages</li>
<li>code with references to static imports</li>
<li>code with autoboxing</li>
</ul>
<li>Extract/Inline local<span style="font-weight: bold;"> (Tom)</span></li>
<ul>
<li>expression which resolve to parameterized types, annotations,
enums&nbsp; and type parameters (or the concrete type for parameterized
types)</li>
</ul>
<li>Extract/Inline constant <span style="font-weight: bold;">(David)</span><br
style="font-weight: bold;">
</li>
<ul>
<li>in enums, annotations, generic and parameterized types</li>
</ul>
<li>Introduce parameter <span style="font-weight: bold;">(David)</span><br
style="font-weight: bold;">
</li>
<ul>
<li>expression which resolve to parameterized types, annotations,
enums&nbsp; and type parameters (or the concrete type for parameterized
types)<br>
</li>
<li>signature to be changed contains varargs, type parameters,
parameterized types</li>
</ul>
<li>Introduce Factory <span style="font-weight: bold;">(David)</span><br
style="font-weight: bold;">
</li>
<ul>
<li>for generic and parameterized types</li>
<li>destination type is generic or parameterized</li>
</ul>
<li>Convert local variable to field <span style="font-weight: bold;">(David)</span><br
style="font-weight: bold;">
</li>
<ul>
<li>declaring type is parameterized types, annotations, enums&nbsp;
and type parameters (or the concrete type for parameterized types)</li>
</ul>
<li>Self encapsulate field <span style="font-weight: bold;">(David)</span><br
style="font-weight: bold;">
</li>
<ul>
<li>field type is parameterized types, annotations, enums&nbsp; and
type parameter</li>
<li>in enums, parameterized types and generic types.</li>
</ul>
<li>Infer type arguments <span style="font-weight: bold;">(David)</span><br
style="font-weight: bold;">
</li>
<ul>
<li>test for collection classes</li>
<li>test for own generic classes</li>
<li>test for classes with n type parameters<br>
</li>
</ul>
</ul>
<h4>Source Actions (Dirk, Martin; FAQ: Tobias)<br>
</h4>
<div style="margin-left: 40px;">Don't forget to check the Javadoc for
the generated methods<br>
</div>
<ul>
<li>Organize import / add import</li>
<ul>
<li>organize import. Define static import groups in the preference</li>
<li>add import on Math.max should add a static import on max add
should remove Math in code.</li>
</ul>
<li>Override/Implement methods</li>
<ul>
<li>methods with type parameters, varargs, parameterized types</li>
<li>from generic and parameterized types</li>
<li>from annotations</li>
</ul>
<li>Generate Getter/Setter</li>
<ul>
<li>field type is parameterized types, annotations, enums&nbsp; and
type parameters</li>
<li>in enums, parameterized types and generic types</li>
</ul>
<li>Generate Delegate Methods</li>
<ul>
<li>field type is enum, annotation</li>
<li>field type is type parameter or parametrized type</li>
</ul>
<li>Generate Constructor Using fields</li>
<ul>
<li>field type is enum, annotation</li>
<li>field type is type parameter or parametrized type</li>
</ul>
<li>Add Constructor from Superclass</li>
<ul>
<li>super class is generic or parameterized type</li>
<li>constructor with type parameters, varargs, parameterized types</li>
</ul>
<li>Sort members</li>
<ul>
<li>members with type parameters, varargs, ...</li>
<li>types with enums, annotations, generic and parameterized types
as members<br>
</li>
<li>sort enum, annotations, generic and parameterized types<br>
</li>
</ul>
</ul>
<h4>Search (Tobias, Markus; FAQ: Markus, Martin, Dirk)</h4>
<ul>
<li>test searching for enums, annotations, generic types and methods,
parameterized types and methods and type variables</li>
<li>test new filters for incompatible and inexact matches</li>
</ul>
<h4>Java Editor (Dani, Tobias; FAQ: Tom)<br>
</h4>
<ul>
<li>new syntax colorings</li>
<ul>
<li>auto(un)boxed expressions</li>
<li>new keywords (enum, @interface)<br>
</li>
<li>annotations</li>
<li>annotation element references</li>
<li>parameter variables<br>
</li>
</ul>
<li>code assist</li>
<ul>
<li>enums</li>
<li>static imports<br>
</li>
<li>generics </li>
</ul>
<ul>
<li>type parameter proposals</li>
</ul>
<ul>
<li>enum constant proposals</li>
<li>annotations<br>
</li>
</ul>
<ul>
<li>argument guessing for parameterized types</li>
</ul>
<li>verify that the Java Outline displays new J2SE 5.0 constructs
correctly</li>
<li>verify that occurrence marking handles new J2SE 5.0 elements
correctly (check bugzilla first: there are already some bug reports)</li>
<li>verify that folding works correctly for J2SE 5.0 elements</li>
<li>test new 'foreach' template</li>
<li>hovers for new J2SE 5.0 constructs (e.g. hovering over
parametrized types)</li>
<li>format CUs with J2SE 5.0 constructs and verify that they get
correctly formatted according to the current formatter settings<br>
</li>
</ul>
<h2>New 3.1 Functionality (in addition to <a
href="../../../../../../new%20and%20noteworthy/whats-new-template.html">J2SE
5.0</a>)<br>
</h2>
<h4>Build Path (Dirk, David; FAQ: Martin)<br>
</h4>
<ul>
<li>Test new access rule user interface. Access rules are defined via
the build path. Don't test it for plug-in projects since PDE takes care
of access rule here</li>
<li>Test user interface for adding native libraries to the build path
(build path page, attribute of JARs and class folders)</li>
</ul>
<h4>Undo/Redo (Martin, Dani; FAQ: Dani, Dirk)<br>
</h4>
<ul>
<li>Test that <span style="font-weight: bold;">Refactor &gt;
Undo/Redo</span> is gone<br>
</li>
<li>Execute various refactorings from different views and check that <span
style="font-weight: bold;">Edit &gt; Undo</span> allows undoing the
refactoring (note that not all refactoring are undoable. So best test
rename, extract method, ..)</li>
<li>Test undo/redo of typing inside the editor (without mixing it
with refactoring undo)<br>
</li>
<li>Execute refactorings and change the state of affected resource
and check that the undo is no longer valid. State changes are: content
changes, bringing it out of sync with the workspace and changing
read-only state. Changing the state should not automatically flush the
undo stack anymore. Check that restoring the original state will allow
undoing the refactoring (if the file got modified and save in the Java
editor simply undo the text change. This will now restore the state).<br>
</li>
<li>Execute refactoring from within the Java editor and check that
the undos appear on the editor's undo stack. Test undo/redo of the
refactorings<br>
</li>
<li>Test mixing refactoring and typing in the editor and test
undo/redoing these.<br>
</li>
<li>Check that undoing a refactoring from withing the Java editor
should show a confirmation box when other resources than the file
currently being edited are affected by the undo (for example rename a
method that is referenced in a second CU and try yo undo it from the
editor that contains the declaration).</li>
<li>Check that undoing the last change remove the dirty indication in
the editor tab</li>
</ul>
<h4>Search (Dirk, David; FAQ: Martin)<br>
</h4>
<ul>
<li>Test text search</li>
<li>Focus searching in large file with regex patterns which spawn
multiple line - larger code blocks</li>
<li>Have an eye on performance</li>
</ul>
<h4>Preferences (Tom, Dani; FAQ: Martin)<br>
</h4>
<ul>
<li>Test that all JDT and Text preferences have meaningful keywords.<br>
</li>
</ul>
<ul>
</ul>
<h4>Text Editor (Ben, Markus; FAQ: Dani, Tom)<br>
</h4>
<ul>
<li>URL hyperlinking: verify that</li>
<ul>
<li>link is correctly indicated</li>
<li>clicking shows the URL in a browser</li>
</ul>
<li>open Properties dialog from active editor</li>
<li>test 'Convert Line Delimiter To' commands on active editor and on
a folder or project</li>
<li>test 'Remove Trailing Whitespace' command on active editor and on
a folder or project</li>
<li>test 'Word Completion' (Ctrl + /)</li>
<li>verify that the new undo history size preference correctly works</li>
<li>Use <span style="font-weight: bold;">Window &gt; New Editor</span>
on a text editor and verify that they behave property</li>
</ul>
<h4>Java Editor (Tobias, David; FAQ: Dani, Tom)<br>
</h4>
<ul>
<li>semantic coloring for deprecated members</li>
<li>new occurrence markings</li>
<ul>
<li>inherited methods</li>
<li>implements occurrences</li>
</ul>
<li>folding</li>
<ul>
<li>header folding: test different variants of headers<br>
</li>
</ul>
<ul>
<li>better caption when Javadoc or code is folded</li>
</ul>
<li>test that the browser widget is used for Javadoc information
presentation (F2)</li>
<ul>
<li>verify that performance is acceptable</li>
</ul>
<li>Code assist</li>
<ul>
<li>auto insertion behavior</li>
<li>parameter guessing correctness</li>
<li>type parameter guesses (e.g. in List&lt;String&gt; l= new
ArrayList&lt;??&gt; should guess something meaningfully for ??)</li>
<li>auto insert behavior</li>
</ul>
<li>auto-boxing coloring: verify that it colors the same places as
the compiler warns about (enable corresponding compiler warning)</li>
<li>Move lines - check performance</li>
<li>verify that new folding artwork looks good - try with different
fonts</li>
<ul>
<li>icons</li>
<li>line in vertical rule</li>
</ul>
<li>Use <span style="font-weight: bold;">Window &gt; New Editor</span>
on a Compilation Unit editor and verify that both behave property</li>
<li>Use <span style="font-weight: bold;">Window &gt; New Editor</span>
on a Class File editor and verify that both behave property</li>
</ul>
<h4>New Source Folder wizard page (Dirk, Ben; FAQ: Martin)<br>
</h4>
<ul>
<li>setup project on existing source using the new source folder
wizard page.</li>
<li>Source to setup should have:</li>
<ul>
<li>multiple source folders</li>
<li>need to exclude some portion of the code<br>
</li>
</ul>
</ul>
<h4></h4>
<ul>
</ul>
<h2>General items<br>
</h2>
<h4>Validate-Edit (Markus, Martin; FAQ: Dani)</h4>
<ul>
<li>Check-out code from the repository in CVS Watch/Edit mode (stores
file in read-only mode)</li>
<li>Test Editing, Source and Refactoring actions on files that are
read-only. Don't forget source actions like organize import or format on
packages and source folders.<br>
</li>
<li>Expected result: actions should complete without errors</li>
</ul>
<h4><font color="#000000">Workspace compatibility (Tobias, Tom)</font></h4>
Verify that an existing workspace can be started on the new version and
is fully functional. Check the .log for serious problems. Check
different settings of preferences.<br>
<ul>
<li>upgrade a 3.0 workspace to 3.1</li>
</ul>
</body>
</html>