Bug 224708 - Ability to mark source folder as test sources

Change-Id: Iece5ac73324bd4b358f25354a51d961f93dd5794
diff --git a/bundles/org.eclipse.jdt.doc.user/reference/preferences/java/ref-preferences-appearance.htm b/bundles/org.eclipse.jdt.doc.user/reference/preferences/java/ref-preferences-appearance.htm
index 79fb8b1..16bd0ca 100644
--- a/bundles/org.eclipse.jdt.doc.user/reference/preferences/java/ref-preferences-appearance.htm
+++ b/bundles/org.eclipse.jdt.doc.user/reference/preferences/java/ref-preferences-appearance.htm
@@ -133,6 +133,23 @@
         <tr>
           <td valign="top">
             <p>
+              Use modified icons for test source folders and test dependencies
+            </p>
+          </td>
+          <td valign="top">
+            <p>
+              If enabled, modified icons are used in the package explorer, search results and other locations for test source folders (darker and with green package symbol) and test dependencies (just darker).
+            </p>
+          </td>
+          <td valign="top">
+            <p>
+              On
+            </p>
+          </td>
+        </tr>
+        <tr>
+          <td valign="top">
+            <p>
               Compress package name segments
             </p>
           </td>
diff --git a/bundles/org.eclipse.jdt.doc.user/reference/ref-properties-build-path.htm b/bundles/org.eclipse.jdt.doc.user/reference/ref-properties-build-path.htm
index e447e6e..b50bb9c 100644
--- a/bundles/org.eclipse.jdt.doc.user/reference/ref-properties-build-path.htm
+++ b/bundles/org.eclipse.jdt.doc.user/reference/ref-properties-build-path.htm
@@ -51,7 +51,7 @@
 			<td align="left" valign="top">Creates a new folder that links to an location outside of the workspace</td>
 		</tr>
 		<tr>
-			<td align="left" valign="top">Edit</td>
+			<td align="left" valign="top">Edit or Toggle</td>
 
 			<td align="left" valign="top">Allows to modify the currently selected
 			source folder or source folder attribute.</td>
@@ -96,11 +96,25 @@
 		</tr>
 		<tr>
 			<td align="left" valign="top">Native library location</td>
-
 			<td align="left" valign="top">Defines the folder that contains the native libraries
 			  (for example 'dll' or 'o' files) required at runtime by the sources in the source folder.
 			</td>
 		</tr>
+
+		<tr>
+			<td align="left" valign="top">Ignore optional compile problems</td>
+			<td align="left" valign="top">When set to 'Yes', all optional problems will not be reported by the compiler.</td>
+		</tr>
+
+		<tr>
+			<td align="left" valign="top">Contains test sources</td>
+			<td align="left" valign="top">When set to 'Yes', the sources in the folder are assumed to be test code, 
+			otherwise main code. When compiling main code, only other main code (from the current project or from other projects on the build path) is visible and only dependencies 
+			that are not configured to be visible for test code only. When compiling test code, all code on build path 
+			is visible. When compiling test code with Java 9, the unnamed module is assumed to be readable 
+			by the current module, so test dependencies that should not be mentioned in the <code>module-info.java</code> are accessible if they are put 
+			on the classpath.</td>
+		</tr>
 	</tbody>
 </table>
 
@@ -133,7 +147,7 @@
 		</tr>
 		
 		<tr>
-			<td align="left" valign="middle" width="20%">Edit</td>
+			<td align="left" valign="middle" width="20%">Edit or Toggle</td>
 
 			<td align="left" valign="top">Edit the classpath attribute of a required project.</td>
 		</tr>
@@ -169,6 +183,14 @@
 
 			<td align="left" valign="top">Specifies access rules for project contained in the library. This allows to hide content of a project.</td>
 		</tr>
+		<tr>
+			<td align="left" valign="top">Visible only for test sources</td>
+			<td align="left" valign="top">When set to 'Yes', the code reachable via the referenced project is only accessible when sources in sources folder marked to contain test code are compiled.</td>
+		</tr>
+		<tr>
+			<td align="left" valign="top">Without test code</td>
+			<td align="left" valign="top">When this is set to 'No', test code from the referenced project is not visible when compiling test code in the current project.</td>
+		</tr>
 	</tbody>
 </table>
 
@@ -229,7 +251,7 @@
         </tr>
 
         <tr>
-          <td align="left" valign="top">Edit</td>
+          <td align="left" valign="top">Edit or Toggle</td>
 
           <td align="left" valign="top">Allows you to modify the currently selected library entry or entry attribute</td>
         </tr>
@@ -293,6 +315,10 @@
 
 			<td align="left" valign="top">Specifies access rules for resources contained in the library. This allows to hide content of a library.</td>
 		</tr>
+		<tr>
+			<td align="left" valign="top">Visible only for test sources</td>
+			<td align="left" valign="top">When set to 'Yes', the code in the referenced library is only accessible when sources in source folders marked to contain test code are compiled.</td>
+		</tr>
 	</tbody>
 </table>