diff --git a/test/test_new_home.php b/test/test_new_home.php
new file mode 100644
index 0000000..1073be6
--- /dev/null
+++ b/test/test_new_home.php
@@ -0,0 +1,118 @@
+<?php
+require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");
+require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php");
+require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php");
+$App 	= new App();
+$Nav	= new Nav();
+$Menu 	= new Menu();
+include($App->getProjectCommon());
+$App->AddExtraHtmlHeader('<link rel="stylesheet" type="text/css" href="/default/style.css"/>');
+
+	$pageTitle 		= "SWTBot &ndash; UI Testing for SWT and Eclipse";
+
+	# Add page-specific Nav bars here
+	# Format is Link text, link URL (can be http://www.someothersite.com/), target (_self, _blank), level (1, 2 or 3)
+	# $Nav->addNavSeparator("My Page Links", 	"downloads.php");
+	# $Nav->addCustomNav("My Link", "mypage.php", "_self", 3);
+	# $Nav->addCustomNav("Google", "http://www.google.com/", "_blank", 3);
+
+	# Paste your HTML content between the ob_start/ob_end_clean markers!
+	ob_start();
+?>
+<div id="bigbuttons">
+<h3>Primary Links</h3>
+<ul>
+	<li><a id="buttonDownload" href="download.php" title="Download">Eclipse
+	Distribution, Update Site, Dropins</a></li>
+	<li><a id="buttonDocumentation" href="midcolumn_example.php"
+		title="Documentation">Tutorials, Examples, Videos, Reference Documentation</a></li>
+	<li><a id="buttonSupport" href="midcolumn_example.php" title="Download">Bug
+	Tracker, Newsgroup, Professional Support</a></li>
+	<li><a id="buttonInvolved" href="midcolumn_example.php" title="Getting Involved">CVS,
+	Workspace Setup, Wiki, Committers</a></li>
+</ul>
+</div>
+
+<div id="midcolumn">
+<h3>MyProject - use this header describe what it does</h3>
+<div id="introText">
+<p class="left">MyProject is a framework for development of cool stuff and
+more cool stuff. Just describe your project here very briefly. Use the center 
+section below for a screenshot, a screenshot collage or a screencast.</p>
+
+<p class="right">The Framework integrates with technology from
+Eclipse Modeling such as EMF, GMF, M2T and parts of EMFT. Development
+with MyProject is optimized for short turn-arounds, so that adding new
+features to an existing DSL is a matter of minutes. Still sophisticated
+programming languages can be implemented.</p>
+</div>
+
+ 
+
+<div id="screencast">
+<object width="640" height="480"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=8260921&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=DBD7EF&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=8260921&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=DBD7EF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="640" height="480"></embed></object>
+</div>
+
+<!-- 
+<h3>...and yet powerful</h3>
+ -->
+<div id="feature_1">
+
+<h4>Some cool feature</h4>
+<p>MyProject has this really cool feature that you describe here in few words, just as a teaser.</p>
+</div>
+
+<div id="feature_2">
+<h4>Another Feature</h4>
+<p>When working with MyProject, great things happen, and one of them is described here.</p>
+</div>
+
+<div id="feature_3">
+<h4>Another Feature</h4>
+<p>When working with MyProject, great things happen, and one of them is described here.</p>
+</div>
+
+<div id="feature_4">
+<h4>User Experience</h4>
+<p>
+Experiment with style.css to create columns for text, just the way you want it. This section 
+is a bit wider and can contain more words, even small logos or graphics to describe a neat feature in more detail.</p>
+</div>
+
+<div id="feature_more">
+<h4>and much more...</h4>
+<p>Read the MyProject <a href="/project/documentation.php">documentation</a> and join the discussion at the <a href="http://www.eclipse.org/forums/eclipse.newsgroup.name">forum</a> to understand how powerful MyProject is.</p>
+</div>
+
+</div>
+
+<div id="rightcolumn">
+
+<div>
+<h3>Current Status</h3>
+<p>Update this section occasionally to let your community know what's new and exciting with your project....</p>
+</div>
+
+<div id="headlines">
+<h3>New and Noteworthy</h3>
+<p>... or a link to your new and noteworthy.</p>
+</div>
+
+<div id="headlines">
+<h3>Headlines on the web</h3>
+<p>Project headlines...</p>
+</div>
+
+<div id="headlines">
+<h3>Another announcement</h3>
+<p>MyProject is pleased to announce...</p>
+</div>
+</div>
+<?php
+
+$html = ob_get_contents();
+ob_end_clean();
+
+	# Generate the web page
+	$App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
+?>
\ No newline at end of file
