<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head>
  <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"><title>3.2 RC2 Test Plan</title>
</head>
<body>
<h1>3.2 RC2 Test Grid</h1>
Test day: Wednesday, 2006-04-26<br>
Test Build: N20060426-0010 + plug-in export<br>
Components: JDT/Text, JDT/UI, Platform/Search, and Platform/Text<br>
Testers: Benno, Dani, Johannes, Markus, Martin, Tobias, Tom<br>

<h4>Goal</h4>
<ul>
  <li>verify features and bug fixes done for RC1 and RC2<br>
</li>
</ul>

<h4 style="color: rgb(255, 0, 0);">Verification of Bugs (ALL - this one has to be done first)</h4>
<span style="font-style: italic;">Before starting to verify a bug add a comment to the bug.</span><br>
<ul>
  <li><a href="https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;classification=Eclipse&amp;product=Platform&amp;component=Compare&amp;component=Search&amp;component=Text&amp;target_milestone=3.2+RC1&amp;target_milestone=3.2+RC2&amp;long_desc_type=allwordssubstr&amp;long_desc=&amp;bug_file_loc_type=allwordssubstr&amp;bug_file_loc=&amp;status_whiteboard_type=allwordssubstr&amp;status_whiteboard=&amp;keywords_type=allwords&amp;keywords=&amp;resolution=FIXED&amp;bug_severity=blocker&amp;bug_severity=critical&amp;bug_severity=major&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, Search, and Compare bugs blocker/critical/major, 3.2 RC1 + RC2</a></li>


<li><a href="https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;classification=Eclipse&amp;product=Platform&amp;component=Compare&amp;component=Search&amp;component=Text&amp;target_milestone=3.2+RC1&amp;target_milestone=3.2+RC2&amp;long_desc_type=allwordssubstr&amp;long_desc=&amp;bug_file_loc_type=allwordssubstr&amp;bug_file_loc=&amp;status_whiteboard_type=allwordssubstr&amp;status_whiteboard=&amp;keywords_type=allwords&amp;keywords=&amp;resolution=FIXED&amp;priority=P1&amp;priority=P2&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, Search, and Compare bugs P1/P2, 3.2 RC1 + RC2</a><p></p></li>

<li><a href="https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;classification=Eclipse&amp;product=JDT&amp;component=Text&amp;component=UI&amp;target_milestone=3.2+RC1&amp;target_milestone=3.2+RC2&amp;long_desc_type=allwordssubstr&amp;long_desc=&amp;bug_file_loc_type=allwordssubstr&amp;bug_file_loc=&amp;status_whiteboard_type=allwordssubstr&amp;status_whiteboard=&amp;keywords_type=allwords&amp;keywords=&amp;resolution=FIXED&amp;bug_severity=blocker&amp;bug_severity=critical&amp;bug_severity=major&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 Text &amp; JDT UI bugs blocker/critical/major, 3.2 RC1 + RC2</a></li>
  <li><a href="https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;classification=Eclipse&amp;product=JDT&amp;component=Text&amp;component=UI&amp;target_milestone=3.2+RC1&amp;target_milestone=3.2+RC2&amp;long_desc_type=allwordssubstr&amp;long_desc=&amp;bug_file_loc_type=allwordssubstr&amp;bug_file_loc=&amp;status_whiteboard_type=allwordssubstr&amp;status_whiteboard=&amp;keywords_type=allwords&amp;keywords=&amp;resolution=FIXED&amp;priority=P1&amp;priority=P2&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 Text &amp; JDT UI bugs P1/P2, 3.2 RC1 + RC2</a></li>


</ul>


<p></p>
<hr>
<h4>Content Assist (Markus, Johannes)<br>
</h4>
<ul>
  <li>Additional Info</li>
</ul>
<ol>
  <ol>
    <li>Try code assist and verify the additional info pops up with<br>
- attached javadoc (remote, local, dead remote web-server..., no internet)<br>
- attached source<br>
- nothing</li>
    <li>Verify correct size and position of the additional info popup<br>
- at all sides of the proposal popup (right, left, bottom)<br>
- after resizing the proposal popup (on win32)<br>
    </li>
  </ol>
</ol>
<ul>
  <li>Parameter Hints</li>
</ul>
<ol>
  <ol>
    <li>Try parameter hints display<br>
- visibility (show when a proposal is applied, hide when caret goes outside the parentheses)<br>
- parameter highlighting</li>
    <li>Try with method arguments that contain commas and parentheses:<br>
- array initializers<br>
- anonymous type creations<br>
- generic class instance creations</li>
  </ol>
</ol>
<h4><br>
</h4>
<h4>Sticky Ruler Hovers (Benno, Tobias)<br>
</h4>
<ul>
  <li>Hover over annotations in the left-hand-side ruler of the Java editor:<br>
- problem annotation hovers<br>
- projection hovers<br>
- quick diff hovers<br>
- live annotate hovers<br>
  </li>
</ul>
<ul>
  <li>when the editor has focus: press F2 to make the hovers sticky</li>
</ul>
<h4><br>
</h4>
<h4>Hover and Hyperlink Precsission (Martin, Tom)<br>
</h4>
<ul>
  <li>test that the hovers and hyperlink activation is correctly at word/identifier bounds</li>
</ul>
<br>
<h4>JUnit 4 (Tobias, Martin)<br>
</h4>
<h4><span style="font-weight: normal;">- launch JUnit 3.8.1 and JUnit 4 tests</span><br style="font-weight: normal;">
<span style="font-weight: normal;">- JUnit test case wizard</span><br style="font-weight: normal;">
<span style="font-weight: normal;">- quick fix when JUnit library is missing on build path</span><br>
</h4>
<h4><br>
</h4>
<h4>Menu polish: (Dani, Markus)<br>
</h4>
<ul>
  <li><span style="font-weight: normal;">test 'Copy Qualified Name' action</span></li>
  <ul>
    <li><span style="font-weight: normal;">test enablement</span></li>
    <li><span style="font-weight: normal;">test result</span><span style="font-weight: normal;"></span></li>
  </ul>
  <li><span style="font-weight: normal;">test 'Surround With' quick menu and actions</span></li>
  <ul>
    <li><span style="font-weight: normal;">test enablement</span></li>
    <li><span style="font-weight: normal;">test result</span></li>
  </ul>
  <li><span style="font-weight: normal;"></span><span style="font-weight: normal;">test that 'Find Occurrences' quick menu still works as before</span><span style="font-weight: normal;"></span></li>
  <li><span style="font-weight: normal;">All 'History' actions in the view menu (Search, Type Hierarchy, Call Hierarchy, JUnit) have been made consistent.</span><br>
  </li>
</ul>
<h4><br>
</h4>
<h4>Search (Tom, Dani)<span style="font-weight: normal;"></span></h4>
<h4><span style="font-weight: normal;">- Text search: Work on performance and better presentation of progress</span><br style="font-weight: normal;">
<span style="font-weight: normal;">- File Name Pattern Exclusion, bug 134627</span><br>
</h4>
<h4><br>
</h4>
<h4>Stress test refactoring scripting (Johannes, Benno)<br>
</h4>
<ul>
  <li>Test Replace JAR with various project setups: JAR within client project, JAR within workspace, external JAR in filesystem<br>
- verify that refactorings can be successfully executed<br>
- verify that refactoring preview only shows changes to be applied to the client project, and not the JAR on the build path</li>
  <li>Test creating and applying refactoring scripts<br>
- verify that all generated scripts can be successfully executed on
other workspaces (given the input elements of the refactorings exist in
the other workspace as well)</li>
  <li>play through the refactoring script scenario (perform a refactoring, save it as script and reapply it)</li>
  <li>play through the JAR with exports scenario (perform a
refactoring, save JAR with refactoring, replace old JAR with new JAR
(build <br>
  </li>
  <li>verify updated dialogs: History, JAR exporter</li>
  <li>try all refactorings and check if the labels in the history view make sense<br>
    <br>
  </li>
</ul>
<br>
<br>
<br>
</body></html>