| <!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>Smoke Test - JDT/UI, Text, Search</title> |
| <link rel="stylesheet" href="http://dev.eclipse.org/default_style.css" type="text/css"> |
| <style type="text/css"> |
| <!-- |
| li { margin-top: .1em; } |
| --> |
| </style> |
| |
| </head> |
| |
| <body> |
| <h1><font face="Arial,Helvetica">Smoke Test - JDT/UI, Text, Search</font></h1> |
| |
| <a name="part1"></a> |
| <h3>Part 1 (of <a href="#part2">2</a>)</h3> |
| |
| <h4>Setup</h4> |
| <ul> |
| <li>start eclipse<b>c</b>.exe with -consolelog -data X, where X is a new workspace i.e. points to not yet existent directory</li> |
| </ul> |
| |
| <i>Note: Keep an eye on the console for error messages.</i> |
| |
| <h4>Java Project Creation & Source Import</h4> |
| |
| <ul> |
| <li>Preferences > Java > <b>Installed JREs</b>: check detected system libraries & source attachment for rt.jar</li> |
| |
| <li> |
| <b>create</b> new Java project <b>JUnit</b>, verify: |
| <ul> |
| <li>the only open perspective is the Java perspective</li> |
| <li>the JUnit project contains a source folder 'src' and the JRE System Library</li> |
| <li><b>check the Java Build Path</b> by opening the properties page of the JUnit project: |
| <ul> |
| <li>the Java build path order should be the JRE System Library followed by the source folder</li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| |
| <li>import <a href="junit3.8.1src.zip">junit3.8.1src.zip</a> (143 kb) into <i>JUnit/src</i></li> |
| </ul> |
| |
| |
| <h4>Package Explorer, Open Type, Navigation</h4> |
| |
| <ul> |
| <li><b>verify the structure</b>: 12 packages with compilation units + empty package folder <i>junit.swingui.icons</i></li> |
| <li><b>double-click</b> on one of the <b>icons</b> |
| <ul><li>should open with the Internal Web Browser editor</li></ul> |
| </li> |
| <li>view menu > Package Presentation > <b>Hierarchical</b> |
| <ul><li>check that sub-packages are correctly displayed</li></ul> |
| </li> |
| <li>Navigate > <b>Open Type</b>, open <i>AllTests - junit.tests</i></li> |
| <li><b>Show In</b> > Package Explorer (Alt+Shift+W, P / Navigate menu / context menu)</li> |
| <li>enable <b>Link with Editor</b> |
| <ul><li>verify that it works</li></ul> |
| </li> |
| <li>drill down into the <i>rt.jar</i> and open <i>java > awt > <b>Adjustable.class</b> via <b>context menu > Open</b></i> |
| <ul><li>verify that the source for <i>Adjustable</i> shows up and is read-only</li></ul> |
| </li> |
| <li><b>select a method</b> in the Outline</li> |
| <li>File > <b>Close</b></li> |
| <li>click the <b>Back</b> arrow in the toolbar |
| <ul><li>verify that the previously selected method is selected again in the editor</li></ul> |
| </li> |
| <li>File > <b>Close All</b></li> |
| <li>open the <b>Java Browsing</b> perspective |
| <ul> |
| <li>select <i><b>JUnit > junit.extensions</b></i>, and double-click on <i><b>ExceptionTestCase</b></i></li> |
| <li>verify that the four views are now populated and the above elements selected</li> |
| <li>verify that the Java editor shows <i>ExceptionTestCase</i></li> |
| </ul> |
| </li> |
| <li><b>Quick Outline</b>, go to <i>run(TestResult) - junit.framework.Test</i></li> |
| <li><b>Quick Hierarchy</b></li> |
| <li>switch back to the <b>Java perspective</b></li> |
| </ul> |
| |
| |
| <h4>Editing</h4> |
| |
| <ul> |
| <li>open <i>junit > framework > <b>TestCase.java</b></i> from the Package Explorer</li> |
| <li>verify: |
| <ul> |
| <li>Java editor with <i>TestCase.java</i> is <b>active</b> and has <b>focus</b></li> |
| <li><b>Outline</b> view shows the <b>decorators</b> for abstract, constructor, implemented and overridden methods</li> |
| <li><b>syntax coloring</b> in the Java editor is OK |
| <ul> |
| <li>field <b>fName is blue</b></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| |
| <li><b>select method</b> in the Outline view |
| <ul> |
| <li>verify that it is revealed in the Java editor and the magnet shows up</li> |
| </ul> |
| </li> |
| |
| <li><b>reorder methods</b> via drag and drop in Outline view</li> |
| |
| <li>use <b>Java Content Assist</b> on some type argument</li> |
| <li>use <b>Javadoc Content Assist</b> inside a Javadoc comment</li> |
| |
| <li><b>Javadoc Hovers</b></li> |
| <li><b>Open Declaration (F3)</b></li> |
| <li><b>reconciling:</b> |
| <ul> |
| <li><b>add a method</b> |
| <ul> |
| <li>verify that it shows up in the Outline view</li> |
| </ul> |
| </li> |
| <li>add a <b>syntax error</b> |
| <ul> |
| <li>verify that the syntax error is underlined in red</li> |
| </ul> |
| </li> |
| <li>remove the syntax error</li> |
| <li>select the new method in the Outline view and select <b>Delete</b> from the context menu</li> |
| </ul> |
| </li> |
| |
| <li>Refactor > <b>Rename</b> a <b>local variable</b></li> |
| |
| <li><b>Tab</b> key (with/without selection)</li> |
| <li><b>Edit > Find/Replace...</b></li> |
| <li><b>Edit > Undo</b></li> |
| <li><b>File > Revert</b></li> |
| <li><b>Organize Imports</b></li> |
| <li><b>Source > Generate Getter/Setter</b></li> |
| |
| </ul> |
| |
| |
| <h4>Building</h4> |
| |
| <ul> |
| <li>rebuild the <i>JUnit</i> project (<b>Project > Clean...</b>) and choose <b>Clean all projects</b></li> |
| <li><b>no errors</b> should show up in the Problems view</li> |
| |
| <li><b>add a syntax error</b> and <b>Save</b></li> |
| |
| <li><b>errors</b> should show up in |
| <ul> |
| <li><b>Problems view</b></li> |
| <li><b>Package Explorer</b></li> |
| <li><b>Editor tab</b></li> |
| <li><b>Editor rulers</b></li> |
| <li><b>Editor text</b></li> |
| </ul> |
| </li> |
| <li>verify that the <b>error message</b> is shown in <b>hover</b> when moving the mouse over the marker</li> |
| <li>fix the error and save again |
| <ul> |
| <li>all the error markers and ticks should disappear</li> |
| </ul> |
| </li> |
| </ul> |
| |
| |
| <h4>Type Hierarchy</h4> |
| |
| <ul> |
| <li><b>on type</b>, e.g. <i>TestCase</i> |
| <ul> |
| <li><b>Subtype Hierarchy</b></li> |
| <li><b>Lock View and Show Members in Hierarchy</b></li> |
| <li><b>Open</b> method and type from hierarchy</li> |
| </ul> |
| </li> |
| <li><b>on package</b>, e.g. <i>junit.framework</i></li> |
| </ul> |
| |
| <h4>Call Hierarchy</h4> |
| <ul> |
| <li>on a method</li> |
| </ul> |
| |
| |
| <h4>Creation, Moving</h4> |
| |
| <ul> |
| <li>switch back to the Package Explorer view</li> |
| <li>use creation wizards: <b>New Package</b>, <b>New Class</b></li> |
| <li>move a class using <b>Refactor > Move...</b> and <b>drag&drop</b></li> |
| <li><b>Refactor > Rename</b> <i>TestCase.java</i> to <i>ToastCase.java</i> - click <b>Finish</b> on the dialog.</li> |
| <li>verify that there are <b>no compile errors</b></li> |
| <li><b>Undo (Ctrl+Z)</b></li> |
| </ul> |
| |
| |
| <h4>Launching / Debugging</h4> |
| |
| <ul> |
| <li><b>launch</b> <i>junit.samples/VectorTest.java</i> as <b>Java Application</b> |
| <ul> |
| <li>verify that the Console view opens and at the end shows:<br> |
| <code>OK (6 tests)</code></li> |
| </ul> |
| </li> |
| |
| <li>set a <b>breakpoint</b> and <b>debug</b> the <i>VectorTest</i> launch configuration |
| <ul> |
| <li>verify that the breakpoint is first unverified and then gets the check mark</li> |
| <li>Eclipse should ask to switch to Debug perspective</li> |
| </ul> |
| </li> |
| </ul> |
| |
| |
| <h4>Bugs</h4> |
| |
| <ul> |
| <li>verify a recently fixed |
| <a href="https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&classification=Eclipse&product=JDT&component=Text&component=UI&chfieldfrom=7d&chfieldto=Now&chfield=resolution&chfieldvalue=FIXED&bug_status=RESOLVED&order=bugs.bug_severity%2Cbugs.short_desc&cmdtype=doit"> |
| JDT{Text, UI}</a> bug |
| </li> |
| </ul> |
| |
| |
| |
| <hr> <!-- ================================== --> |
| |
| <a name="part2"></a> |
| <h3>Part 2</h3> |
| |
| <ul> |
| <li>set up workspace as in <a href="#part1">Part 1</a></li> |
| <li>switch back to the Java perspective</li> |
| </ul> |
| |
| |
| <h4>Search</h4> |
| |
| <ul> |
| <li>Text / File Search |
| <ul> |
| <li>open <b>Search</b> dialog by clicking the <b>tool bar button</b></li> |
| <li><b>File Search</b></li> |
| <li>Containing text: <i>TestCase</i></li> |
| <li>File name patterns: <b>Choose...</b>, check <i>*.java</i>, click <b>OK</b></li> |
| <li>click <b>Search</b></li> |
| <li>verify that: |
| <ul> |
| <li>Search view becomes <i>visible</i> and gets <i>focus</i></li> |
| <li>view title is <i>italic</i> during search</li> |
| <li>first <i>match revealed</i> in tree</li> |
| </ul> |
| </li> |
| <li>press <b>Ctrl+.</b> to go to the first match</li> |
| <li>verify that |
| <ul> |
| <li>file is <i>opened</i></li> |
| <li><i>marker</i> is at correct position</li> |
| <li><i>selection</i> is OK</li> |
| <li>editor did <i>not</i> take <i>focus</i></li> |
| </ul> |
| </li> |
| <li>turn the Search view into a fast view</li> |
| <li>in the Search view click the <b>Show Next Match</b> button (arrow down) to go to the next match |
| <ul> |
| <li>verify that the search view stays active and open</li> |
| </ul> |
| </li> |
| </ul> |
| <br> |
| </li> |
| |
| <li>Java Search |
| <ul> |
| <li>open <b>junit.framework.Assert</b></li> |
| <li><b>select method fail()</b> in Outline view</li> |
| <li>open Search dialog by pressing <b>Ctrl+H</b></li> |
| <li>verify that |
| <ul> |
| <li>the search string is <i>junit.framework.Assert.fail()</i></li> |
| <li><i>Method</i> and <i>References</i> radio button are checked</li> |
| </ul> |
| </li> |
| |
| <li>click <b>Search</b></li> |
| <li>verify that |
| <ul> |
| <li>old search result disappears</li> |
| <li>there are 25 search matches</li> |
| </ul> |
| </li> |
| <li>switch to the <b>previous</b> (text) search results in the Search view</li> |
| </ul> |
| </li> |
| </ul> |
| |
| |
| <h4>Refactoring</h4> |
| |
| <ul> |
| <li><b>Extract Method</b> |
| <ul> |
| <li>open <i>junit.swingui.AboutDialog</i> and select lines 63 to 67 (inclusive)</li> |
| <li><b>Refactor > Extract Method...</b> with <b>Preview ></b></li> |
| </ul> |
| </li> |
| |
| <li><b>Rename Method</b> |
| <ul> |
| <li>open <i>junit.framework.Test</i></li> |
| <li>select <i>Case</i> in the declaration of method <i>countTestCases()</i></li> |
| <li><b>Alt+Shift+R</b></li> |
| <li><b>Delete</b></li> |
| <li><b>Enter</b></li> |
| <li>verify: |
| <ul> |
| <li>progress shown in workbench window</li> |
| <li>no preview</li> |
| <li>no compile errors</li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| |
| <li><b>Undo</b> |
| <ul> |
| <li>verify that <b>Edit > Redo</b> is disabled in the workbench menu</li> |
| <li>select <b>Edit > Undo</b> from the workbench menu</li> |
| <li>verify that there are no compiler errors</li> |
| </ul> |
| </li> |
| |
| <li><b>Clean Up</b> |
| <ul> |
| <li><b>Source > Clean Up</b> the whole project</li> |
| <li><b>Use custom profile</b></li> |
| <li>check all clean ups on the <i>Code Style</i> tab</li> |
| <li>check all clean ups on the <i>Code Organizing</i> tab</li> |
| <li><b>Finish</b></li> |
| <li>verify that there are <b>no compiler errors</b></li> |
| </ul> |
| </li> |
| </ul> |
| |
| |
| <h4>Java Structure Compare</h4> |
| <ul> |
| <li><b>disable auto-build</b></li> |
| <li>select package <i>junit.runner</i></li> |
| <li><b>Show In > Navigator</b></li> |
| <li><b>copy <i>runner</i></b> into folder <i>junit</i> (name it <i>runner2</i>)</li> |
| <li>compare both folders (context menu: <b>Compare With > Each Other</b>) |
| <ul> |
| <li>Information dialog: <i>There are no differences between the selected inputs.</i></li> |
| </ul> |
| </li> |
| <li>in folder <i>runner2</i> <b>delete file <i>Sorter.java</i></b></li> |
| <li>in <i>runner</i> open <i><b>TestCaseClassLoader.java</b></i> and make these changes: |
| <ul> |
| <li><b>add</b> a new method <i>void foo(){}</i></li> |
| <li><b>delete</b> method <i>getResource(String)</i></li> |
| <li><b>change body</b> of the method <i>isExcluded(String)</i></li> |
| </ul> |
| </li> |
| <li><b>Save</b></li> |
| <li>compare both folders <i>runner</i> and <i>runner2</i> (context menu: <b>Compare |
| With > Each Other</b>)</li> |
| <li><b>verify</b> in compare editor: |
| <ul> |
| <li><b>addition</b> of <i>Sorter.java</i></li> |
| <li><b>change</b> in <i>TestCaseClassLoader.java</i></li> |
| <li>double-clicking <i>TestCaseClassLoader.java</i> shows <b>Java Structure Compare</b></li> |
| <li>selecting <i>isExcluded()</i> shows method compare</li> |
| </ul> |
| </li> |
| <li><b>close</b> the compare editor</li> |
| <li><b>delete</b> the <i>runner2</i> folder</li> |
| </ul> |
| |
| |
| <h4>Replace and Restore of Method from Local History</h4> |
| <ul> |
| <li>open <i><b>TestCaseClassLoader</b></i></li> |
| <li>in <b>Outline</b>, select method <i>isExcluded(String)</i></li> |
| <li><b>Replace With > Element from Local History...</b></li> |
| <li>on type <i>TestCaseClassLoader</i>, execute <b>Restore from Local History...</b></li> |
| </ul> |
| |
| |
| <h4> |
| JAR Packager</h4> |
| |
| <ul> |
| <li>select the <i>JUnit</i> project</li> |
| <li><b>context menu > Export...</b></li> |
| <li>select <b>Java > JAR file</b></li> |
| <li><b>export and verify</b> the exported .jar</li> |
| </ul> |
| |
| |
| <h4>JUnit Integration</h4> |
| <ul> |
| <li>in the Package Explorer, select <i>junit.samples.SimpleTest</i></li> |
| <li><b>context menu > Run As > JUnit Test</b> |
| <ul> |
| <li>verify that the JUnit view is opened and shows errors and failures</li> |
| </ul> |
| </li> |
| <li><b>double-click on a failure</b> in the Failure Trace |
| <ul> |
| <li>verify that the editor shows up and reveals the failure location</li> |
| </ul> |
| </li> |
| </ul> |
| |
| |
| <h4>Bugs</h4> |
| <ul> |
| <li>verify a recently fixed |
| <a href="https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&classification=Eclipse&product=Platform&component=Search&component=Text&chfieldfrom=7d&chfieldto=Now&chfield=resolution&chfieldvalue=FIXED&bug_status=RESOLVED&order=bugs.bug_severity%2Cbugs.short_desc&cmdtype=doit"> |
| Platform{Search, Text}</a> bug |
| </li> |
| </ul> |
| |
| </body> |
| </html> |