<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>Eclipse Platform/Core</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="http://dev.eclipse.org/default_style.css" type="text/css">
</head>
<body>
<center>
	<font class=indextop>core</font><br>
	<font class=indexsub>the foundation of the platform</font><p></p>
	
  <a href="../../main.html">[home]</a> <a href="../../documents.html">[documents]</a> 
  <a href="../../downloads.html">[downloads]</a> <a href="../../resources.html">[resources]</a> 
  <a href="../../planning.html">[planning]</a> <a href="../../testing.html">[testing]</a> 
</center>
<br>
<table BORDER=0 CELLPADDING=2 WIDTH="100%" >
	<tr> 
		
    <td ALIGN=LEFT VALIGN=TOP COLSPAN="2" BGCOLOR="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">Eclipse 
      3.1 Test Plan</font></b></td>
	</tr>
	<tr> 
		
    <td ALIGN=RIGHT VALIGN=TOP WIDTH="2%"><img SRC="../../images/Adarrow.gif" BORDER=0 height=16 width=16></td>
    	
    <td WIDTH="98%"><b>Platform/Runtime (the REAL runtime - OSGi, bundles, extensions, 
      etc)</b> <ul>
        <li>configuration area 
          <ul>
            <li>read/only configurations</li>
            <li>run from locked (read-only) install</li>
            <li>shared configurations</li>
            <li>moving configurations</li>
          </ul>
        </li>
        <li>buddy loading</li>
        <li>message bundles</li>
        <li>JAR'd NL fragments (performance)</li>
        <li>eclipse.ini testing 
          <ul>
            <li>passing in VM args, etc</li>
          </ul>
        </li>
        <li>JNLP</li>
        <li>standalone OSGi</li>
      </ul>
      <p>&nbsp;</p></td>
	</tr>

    <td ALIGN=RIGHT VALIGN=TOP WIDTH="2%"><img SRC="../../images/Adarrow.gif" BORDER=0 height=16 width=16></td>
    	
    <td WIDTH="98%"><b>Platform/Runtime (the OTHER stuff - content type, jobs, 
      preferences, etc)</b> <ul>
        <li>content type
          <ul>
            <li>content type and nature association</li>
            <li>project specific content type settings</li>
            <li>sharing content type settings per project</li>
            <li>editors and content type associations</li>
            <li>detection for empty files, partial files, invalid files, etc (XML)</li>
          </ul>
        </li>
        <li>file encoding 
          <ul>
            <li>sharing encodings per project</li>
          </ul>
        </li>
      </ul>
      <p>&nbsp;</p></td>
	</tr>
    <td ALIGN=RIGHT VALIGN=TOP WIDTH="2%"><img SRC="../../images/Adarrow.gif" BORDER=0 height=16 width=16></td>
    <td WIDTH="98%"><b>Platform/Resources</b> <ul>
        <li>history store 
          <ul>
            <li>test migration of 3.0 projects</li>
            <li>manual testing - add/get/remove</li>
          </ul>
        </li>
        <li>property store 
          <ul>
            <li>test migration of 3.0 projects which are shared via CVS</li>
            <li>write test plug-in to excercise properties</li>
          </ul>
        </li>
        <li>background refresh on project creation</li>
        <li>creation of projects with weird names on Linux (colon, back-slash)</li>
        <li>project preferences 
          <ul>
            <li>loading project loads settings</li>
            <li>discover new settings</li>
          </ul>
        </li>
        <li>importing existing projects from archive files (discover name from 
          .project file) </li>
        <li>file permission 
          <ul>
            <li>executable bit on Linux</li>
            <li>archive bit on Windows</li>
          </ul>
        </li>
        <li>build triggers</li>
      </ul>
      <p>&nbsp;</p></td>
	</tr>
    <td ALIGN=RIGHT VALIGN=TOP WIDTH="2%"><img SRC="../../images/Adarrow.gif" BORDER=0 height=16 width=16></td>
    	
    <td WIDTH="98%"><b>PDE/Build</b> 
      <ul>
        <li>cross platform builds</li>
        <li>product builds</li>
        <li>branding on export</li>
        <li>generate JNLP files</li>
      </ul>
			<p>&nbsp;</p>
		</td>
	</tr>
</table>


</body>
</html>