changeset 4189:8a1f6a036b8c

Fixed paths in WebView unit tests; reenabled :web:test task
author peterz
date Fri, 05 Jul 2013 20:24:43 +0400
parents b1dee19fdc2e
children 3bde7459ce4d
files build.gradle modules/web/src/test/java/html/RT30835.html modules/web/src/test/java/html/RT9969.html modules/web/src/test/java/html/dom.html modules/web/src/test/java/html/guimark2-vector.html modules/web/src/test/java/html/h1.html modules/web/src/test/java/html/h2.html modules/web/src/test/java/html/h3.html modules/web/src/test/java/html/h4.html modules/web/src/test/java/html/ipsum.html modules/web/src/test/java/javafx/scene/web/BindingTest.java modules/web/src/test/java/javafx/scene/web/DOMTest.java modules/web/src/test/java/javafx/scene/web/HistoryTest.java modules/web/src/test/java/javafx/scene/web/JavaScriptBridgeTest.java modules/web/src/test/java/javafx/scene/web/LeakTest.java modules/web/src/test/java/javafx/scene/web/LoadNotificationsTest.java modules/web/src/test/java/javafx/scene/web/LoadTest.java modules/web/src/test/java/javafx/scene/web/MiscellaneousTest.java modules/web/src/test/java/javafx/scene/web/WebViewTest.java modules/web/src/test/resources/html/RT30835.html modules/web/src/test/resources/html/RT9969.html modules/web/src/test/resources/html/dom.html modules/web/src/test/resources/html/guimark2-vector.html modules/web/src/test/resources/html/h1.html modules/web/src/test/resources/html/h2.html modules/web/src/test/resources/html/h3.html modules/web/src/test/resources/html/h4.html modules/web/src/test/resources/html/ipsum.html
diffstat 26 files changed, 377 insertions(+), 370 deletions(-) [+]
line wrap: on
line diff
--- a/build.gradle	Fri Jul 05 17:09:28 2013 +0400
+++ b/build.gradle	Fri Jul 05 20:24:43 2013 +0400
@@ -2320,7 +2320,14 @@
     }
     compileJava.exclude "com/sun/javafx/webkit/drt/**/*"
 
-    test.enabled = false
+    test {
+        classpath += files("../../../artifacts/sdk/rt/lib/ext/jfxrt.jar")
+        doFirst {
+            classpath.each { p ->
+                print "Test CLASSPATH: ${p.getPath()}\n"
+            }
+        }
+    }
     
     task generateHeaders(dependsOn: compileJava) {
         doLast {
--- a/modules/web/src/test/java/html/RT30835.html	Fri Jul 05 17:09:28 2013 +0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta http-equiv="Refresh" content="100; URL=ipsum.html" />
-</head>
-<body>
-</body>
-</html>
--- a/modules/web/src/test/java/html/dom.html	Fri Jul 05 17:09:28 2013 +0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-<!doctype html>
-<html>
-<head>
-    <title>DOM Tests</title>
-    <style media="screen">
-        @import url('imported-styles.css');
-
-        body {background-color: red}
-
-        @media screen
-        {
-            p.test {font-family:verdana,sans-serif;font-size:14px;}
-        }
-        @media print
-        {
-            p.test {font-family:times,serif;font-size:10px;}
-        }
-        @media screen,print
-        {
-            p.test {font-weight:bold;}
-        }
-    </style>
-    <link rel="stylesheet" type="text/css" href="imported-styles.css">
-</head>
-<body onclick="document.body.className='testClass';" style="background-color: blue" class="bodyClass">
-
-<!-- used by testEmptyTextContent -->
-<p id="empty-paragraph" align="left"></p>
-
-<!-- used by insert/append/remove/replace tests -->
-<p id="p1">Things <b>do</b> change</p>
-<p id="p2">Again <i>and</i> again</p>
-
-<!-- used by testNodeTypes -->
-<p id="showcase-paragraph">
-text<!--comment--><span class="spanclass">spantext</span></p>
-<img src="file:///C:/test.png" alt="test image">
-
-<label for="unittype">Select unit type:</label>
-<select id="unittype" name="unittype">
-    <option value="1"> Miner </option>
-    <option value="2"> Puffer </option>
-    <option value="3" selected> Snipey </option>
-    <option value="4"> Max </option>
-    <option value="5"> Firebot </option>
-</select>
-
-</body>
-</html>
--- a/modules/web/src/test/java/html/guimark2-vector.html	Fri Jul 05 17:09:28 2013 +0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,231 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<title>GUIMark 2 - HTML5 Vector Test</title>
-<meta http-equiv="content-type" content="text/html; charset=UTF-8">
-<script type="text/javascript">
-var meter;
-var fps;
-var results;
-var draw;
-
-var chartWidth = 1200;
-var chartHeight = 600;
-var highestStock = 200;
-var totalMinutes = 480;
-var chartXSpread;
-var chartYSpread;
-var a = new Array();
-var b = new Array();
-var c = new Array();
-var d = new Array();
-var e = new Array();
-
-function init(){
-	var canvas = document.getElementById('canvas');
-	draw = canvas.getContext('2d');
-	chartXSpread = chartWidth/totalMinutes;
-	chartYSpread = chartHeight/highestStock;
-	meter = new FPSMeter();
-	fps = document.getElementById("current");
-	results = document.getElementById("results");
-	setInterval("processFrame()", 17);
-}
-
-function processFrame(){
-	draw.clearRect(0,0,chartWidth,chartHeight);
-	draw.beginPath();
-	draw.lineWidth = 1;
-	draw.strokeStyle = "#666666";
-
-	var xCoord;
-	var yCoord;
-	for(var x=0; x<=totalMinutes; x+=40){
-		xCoord = x*chartXSpread+0.5;
-		draw.moveTo(xCoord, 0);
-		draw.lineTo(xCoord, chartHeight);
-	}
-	for(var y=0; y<=highestStock; y+=20){
-		yCoord = y*chartYSpread+0.5;
-		draw.moveTo(0, yCoord);
-		draw.lineTo(chartWidth, yCoord);
-	}
-	draw.stroke();
-	draw.closePath();
-
-	fillStockData(a, 180);
-	fillStockData(b, 140);
-	fillStockData(c, 100);
-	fillStockData(d, 60);
-	fillStockData(e, 20);
-
-	graphStockData(a, b, "#FF00FF", "rgba(255, 176, 255, 0.6)");
-	graphStockData(b, c, "#FF0000", "rgba(255, 176, 176, 0.6)");
-	graphStockData(c, d, "#FF6600", "rgba(255, 216, 176, 0.6)");
-	graphStockData(d, e, "#0000FF", "rgba(176, 176, 255, 0.6)");
-	graphStockData(e, null, "#00FF00", "rgba(176, 255, 176, 0.6)");
-	
-	updatePerformance();
-}
-
-function fillStockData(data, region){
-	var diff = 15;
-	var low = region-(diff/2);
-	var i = 0;
-	var stock;
-	
-	if(data.length == 0){
-		while(i <= totalMinutes){
-			stock = new StockVO(i, Math.random()*diff+low);
-			data.push(stock);
-			i++;
-		}
-	}else{
-		while(i <= totalMinutes){
-			stock = data[i];
-			stock.minute--;
-			i++;
-		}
-		stock = data.shift();
-		stock.minute = totalMinutes;
-		stock.value = Math.random()*diff+low;
-		data.push(stock);
-	}
-}
-
-function graphStockData(topData, bottomData, line, fill){
-	var stock;
-	var xCoord;
-	var yCoord;
-	var i = 0;
-	
-	draw.beginPath();
-	draw.strokeStyle = line;
-	draw.lineWidth = 2;
-	draw.lineCap = "round";
-	draw.lineJoin = "round";
-	draw.fillStyle = fill;
-
-	stock = topData[i];
-	xCoord = stock.minute*chartXSpread;
-	yCoord = chartHeight-stock.value*chartYSpread;
-	draw.moveTo(xCoord, yCoord);
-
-	while(++i < topData.length){
-		stock = topData[i];
-		xCoord = stock.minute*chartXSpread;
-		yCoord = chartHeight-stock.value*chartYSpread;
-		draw.lineTo(xCoord, yCoord);
-	}
-	draw.stroke();
-	
-	if(bottomData != null){
-		i = bottomData.length;
-		while(--i > -1){
-			stock = bottomData[i];
-			xCoord = stock.minute*chartXSpread;
-			yCoord = chartHeight-stock.value*chartYSpread;
-			draw.lineTo(xCoord, yCoord);
-		}
-	}else{
-		draw.lineTo(chartWidth, chartHeight);
-		draw.lineTo(0, chartHeight);
-	}
-	draw.fill();
-	draw.closePath();
-}
-
-function updatePerformance(){
-	meter.increment();
-	fps.innerHTML = "Current: "+meter.getFramerate()+" fps";
-	if(testRunning){
-		continueTest();
-	}
-}
-
-//test runner
-var testBegin = 0;
-var testData = [];
-var testRunning = false;
-function startTest(){
-	testBegin = TimeUtil.getTimer();
-	testRunning = true;
-	testData = [];
-	results.innerHTML = "Running..."
-}
-function continueTest(){
-	var time = TimeUtil.getTimer();
-	testData.push(time);
-	if(time-testBegin > 10000){
-		testRunning = false;
-		var output = testData.length/(time-testBegin)*1000;
-		results.innerHTML = "Test Average: "+FPSMeter.formatNumber(output)+" fps"
-	}
-}
-
-//additional classes
-function StockVO(minute, value){
-	this.minute = minute;
-	this.value = value;
-}
-
-function FPSMeter(){
-	var sampleFPS = 0;
-	var lastSampledTime = 0;
-	var sampleFrames = 0;
-	
-	this.sampleDuration = 500;
-	this.increment = function(){
-		sampleFrames++;
-	}
-	this.getFramerate = function(){
-		var diff = TimeUtil.getTimer()-lastSampledTime;
-		if(diff >= this.sampleDuration){
-			var rawFPS = sampleFrames/(diff/1000);
-			sampleFPS = FPSMeter.formatNumber(rawFPS);
-			sampleFrames = 0;
-			lastSampledTime = TimeUtil.getTimer();
-		}
-		return sampleFPS;
-	}
-}
-FPSMeter.formatNumber = function(val){
-	//format as XX.XX
-	return Math.floor(val*100)/100;
-}
-
-TimeUtil = {
-	startTime: new Date().getTime(),
-	getTimer: function(){
-		return new Date().getTime()-TimeUtil.startTime;
-	}
-}
-</script>
-<style type="text/css">
-.header {
-	font-family: Arial, Helvetica, sans-serif;
-	font-size: 15px;
-	font-weight: bold;
-	width: 1200px;
-	height: 30px;
-	background-color: #C0C4DF;
-}
-.header>div {
-	padding: 6px;
-	display: inline-block;
-}
-</style>
-</head>
-
-<body onload="init()" style="margin:0px;">
-	<div class="header">
-		<div style="width:300px">GUIMark - Vector Chart Test</div>
-
-		<div><input type="button" value="Start Test" onclick="startTest()"/></div>
-		<div id="current" style="width:140px">Current: 10 fps</div>
-		<div id="results"></div>
-	</div>
-	<canvas id="canvas" width="1200" height="600"></canvas>
-
-</body>
-</html>
--- a/modules/web/src/test/java/html/h1.html	Fri Jul 05 17:09:28 2013 +0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-<!doctype html>
-<html>
-<head><title>1</title></head>
-<body>
-<p>This is the page #1</p>
-</body>
-</html>
--- a/modules/web/src/test/java/html/h2.html	Fri Jul 05 17:09:28 2013 +0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-<!doctype html>
-<html>
-<head><title>2</title></head>
-<body>
-<p>This is the page #2</p>
-</body>
-</html>
--- a/modules/web/src/test/java/html/h3.html	Fri Jul 05 17:09:28 2013 +0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-<!doctype html>
-<html>
-<head><title>3</title></head>
-<body>
-<p>This is the page #3</p>
-</body>
-</html>
--- a/modules/web/src/test/java/html/h4.html	Fri Jul 05 17:09:28 2013 +0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-<!doctype html>
-<html>
-<body>
-<p>This is the page #4</p>
-</body>
-</html>
--- a/modules/web/src/test/java/html/ipsum.html	Fri Jul 05 17:09:28 2013 +0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-<!doctype html>
-<html>
-<head><title>Lorem Ipsum</title></head>
-<body>
-<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
-
-<p>Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.
-
-<p>Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.
-
-<p>Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.
-
-<p>Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis.
-
-<p>At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, At accusam aliquyam diam diam dolore dolores duo eirmod eos erat, et nonumy sed tempor et et invidunt justo labore Stet clita ea et gubergren, kasd magna no rebum. sanctus sea sed takimata ut vero voluptua. est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat. 
-
-<p>Consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
-
-</body>
-</html>
--- a/modules/web/src/test/java/javafx/scene/web/BindingTest.java	Fri Jul 05 17:09:28 2013 +0400
+++ b/modules/web/src/test/java/javafx/scene/web/BindingTest.java	Fri Jul 05 20:24:43 2013 +0400
@@ -104,7 +104,7 @@
         title.bind(web.titleProperty());
         loc.bind(web.locationProperty());
 
-        load(new File("test/html/ipsum.html"));
+        load(new File("src/test/resources/html/ipsum.html"));
         assertSame("WebEngine.document", web.getDocument(), doc.get());
         assertSame("WebEngine.title",    web.getTitle(),    title.get());
         assertSame("WebEngine.location", web.getLocation(), loc.get());
--- a/modules/web/src/test/java/javafx/scene/web/DOMTest.java	Fri Jul 05 17:09:28 2013 +0400
+++ b/modules/web/src/test/java/javafx/scene/web/DOMTest.java	Fri Jul 05 20:24:43 2013 +0400
@@ -28,7 +28,7 @@
 public class DOMTest extends TestBase {
 
     @Test public void testEmptyTextContent() {
-        final Document doc = getDocumentFor("test/html/dom.html");
+        final Document doc = getDocumentFor("src/test/resources/html/dom.html");
         submit(new Runnable() { public void run() {
             Element emptyP = doc.getElementById("empty-paragraph");
             String textContent = emptyP.getTextContent();
@@ -37,7 +37,7 @@
     }
 
     @Test public void testAppendChild() {
-        final Document doc = getDocumentFor("test/html/dom.html");
+        final Document doc = getDocumentFor("src/test/resources/html/dom.html");
         submit(new Runnable() { public void run() {
             Node p1 = doc.getElementById("p1");
             NodeList c1 = p1.getChildNodes();
@@ -67,7 +67,7 @@
     }
 
     @Test public void testInsertBeforeEnd() {
-        final Document doc = getDocumentFor("test/html/dom.html");
+        final Document doc = getDocumentFor("src/test/resources/html/dom.html");
         submit(new Runnable() { public void run() {
             Node p1 = doc.getElementById("p1");
             NodeList c1 = p1.getChildNodes();
@@ -106,7 +106,7 @@
     }
 
     @Test public void testInsertBefore() {
-        final Document doc = getDocumentFor("test/html/dom.html");
+        final Document doc = getDocumentFor("src/test/resources/html/dom.html");
         submit(new Runnable() { public void run() {
             Node p1 = doc.getElementById("p1");
             NodeList c1 = p1.getChildNodes();
@@ -131,7 +131,7 @@
     }
 
     @Test public void testReplaceChild() {
-        final Document doc = getDocumentFor("test/html/dom.html");
+        final Document doc = getDocumentFor("src/test/resources/html/dom.html");
         submit(new Runnable() { public void run() {
             Node p1 = doc.getElementById("p1");
             NodeList c1 = p1.getChildNodes();
@@ -158,7 +158,7 @@
     }
 
     @Test public void testRemoveChild() {
-        final Document doc = getDocumentFor("test/html/dom.html");
+        final Document doc = getDocumentFor("src/test/resources/html/dom.html");
         submit(new Runnable() { public void run() {
             Node p = doc.getElementById("p1");
             NodeList c = p.getChildNodes();
@@ -176,7 +176,7 @@
     }
 
     @Test public void testRemoveChildWithEventHandler() {
-        final Document doc = getDocumentFor("test/html/dom.html");
+        final Document doc = getDocumentFor("src/test/resources/html/dom.html");
         submit(new Runnable() { public void run() {
             Node p = doc.getElementById("p1");
             NodeList c = p.getChildNodes();
@@ -203,7 +203,7 @@
     }
 
     @Test public void testNodeTypes() {
-        final Document doc = getDocumentFor("test/html/dom.html");
+        final Document doc = getDocumentFor("src/test/resources/html/dom.html");
         submit(new Runnable() { public void run() {
             Element p = doc.getElementById("showcase-paragraph");
             assertEquals("P element's node type", Node.ELEMENT_NODE, p.getNodeType());
@@ -234,7 +234,7 @@
     }
 
     @Test public void testNodeTypification() {
-        final Document doc = getDocumentFor("test/html/dom.html");
+        final Document doc = getDocumentFor("src/test/resources/html/dom.html");
         submit(new Runnable() { public void run() {
             NodeList inputsp = doc.getElementsByTagName("p");
             HTMLParagraphElement elp = (HTMLParagraphElement) inputsp.item(0);
@@ -247,7 +247,7 @@
     }
 
     @Test public void testEventListenerCascade() {
-        final Document doc = getDocumentFor("test/html/dom.html");
+        final Document doc = getDocumentFor("src/test/resources/html/dom.html");
         submit(new Runnable() { public void run() {
             HTMLDocument htmlDoc = (HTMLDocument)doc;
             final HTMLBodyElement body = (HTMLBodyElement)htmlDoc.getBody();
@@ -315,7 +315,7 @@
     }
 
     @Test public void testDOMWindowAndStyleAccess() {
-        final Document doc = getDocumentFor("test/html/dom.html");
+        final Document doc = getDocumentFor("src/test/resources/html/dom.html");
         submit(new Runnable() { public void run() {
             HTMLDocument htmlDoc = (HTMLDocument)doc;
             final HTMLBodyElement body = (HTMLBodyElement)htmlDoc.getBody();
@@ -332,7 +332,7 @@
     }
 
     @Test public void testDOMCSS() {
-        final Document doc = getDocumentFor("test/html/dom.html");
+        final Document doc = getDocumentFor("src/test/resources/html/dom.html");
         submit(new Runnable() { public void run() {
             StyleSheetList shl = ((HTMLDocumentImpl)doc).getStyleSheets();
             for (int i = 0; i < shl.getLength(); ++i ) {
--- a/modules/web/src/test/java/javafx/scene/web/HistoryTest.java	Fri Jul 05 17:09:28 2013 +0400
+++ b/modules/web/src/test/java/javafx/scene/web/HistoryTest.java	Fri Jul 05 20:24:43 2013 +0400
@@ -51,10 +51,10 @@
         });        
         
         // [1*]
-        checkLoad(new File("test/html/h1.html"), 1, 0, "1");
+        checkLoad(new File("src/test/resources/html/h1.html"), 1, 0, "1");
                         
         // [1, 2*]
-        checkLoad(new File("test/html/h2.html"), 2, 1, "2");
+        checkLoad(new File("src/test/resources/html/h2.html"), 2, 1, "2");
         
         //
         // check the list update
@@ -70,7 +70,7 @@
         });        
         
         // [1, 2, 3*]
-        checkLoad(new File("test/html/h3.html"), 3, 2, "3");
+        checkLoad(new File("src/test/resources/html/h3.html"), 3, 2, "3");
         
         ensureValueChanged(entriesChanged, "entries not changed after load");
         
@@ -112,7 +112,7 @@
             }
         });
         waitLoadFinished();
-        check(new File("test/html/h2.html"), 3, 1, "2");
+        check(new File("src/test/resources/html/h2.html"), 3, 1, "2");
                 
         ensureValueChanged(dateChanged, "date not changed after go(-1)");
         ensureValueChanged(indexChanged, "index not changed after go(-1)");
@@ -128,7 +128,7 @@
             }
         });
         waitLoadFinished();
-        check(new File("test/html/h3.html"), 3, 2, "3");
+        check(new File("src/test/resources/html/h3.html"), 3, 2, "3");
         
         submit(new Runnable() {
             public void run() {
@@ -137,7 +137,7 @@
             }
         });
         waitLoadFinished();
-        check(new File("test/html/h1.html"), 3, 0, "1");
+        check(new File("src/test/resources/html/h1.html"), 3, 0, "1");
         
         submit(new Runnable() {
             public void run() {
@@ -163,7 +163,7 @@
             }
         });
         waitLoadFinished();
-        check(new File("test/html/h3.html"), 3, 2, "3");
+        check(new File("src/test/resources/html/h3.html"), 3, 2, "3");
         
         submit(new Runnable() {
             public void run() {
@@ -186,7 +186,7 @@
             }
         });
         // [2, 3, 1*]
-        checkLoad(new File("test/html/h1.html"), 3, 2, "1");
+        checkLoad(new File("src/test/resources/html/h1.html"), 3, 2, "1");
         
         submit(new Runnable() {
             public void run() {
@@ -208,9 +208,9 @@
         waitLoadFinished();
         
         // [2, 1*]
-        checkLoad(new File("test/html/h1.html"), 2, 1, "1");
+        checkLoad(new File("src/test/resources/html/h1.html"), 2, 1, "1");
         // [2, 1, 3*]
-        checkLoad(new File("test/html/h3.html"), 3, 2, "3");
+        checkLoad(new File("src/test/resources/html/h3.html"), 3, 2, "3");
         
         submit(new Runnable() {
             public void run() {
@@ -225,14 +225,14 @@
         //
         
         // [2, 3*]
-        checkLoad(new File("test/html/h3.html"), 2, 1, "3");
+        checkLoad(new File("src/test/resources/html/h3.html"), 2, 1, "3");
 
         //
         // check the date update on reload
         //
         
         // [2, 3, 4*]
-        load(new File("test/html/h4.html"));
+        load(new File("src/test/resources/html/h4.html"));
         
         history.getEntries().get(history.getCurrentIndex()).lastVisitedDateProperty().addListener(newDateListener());
         
--- a/modules/web/src/test/java/javafx/scene/web/JavaScriptBridgeTest.java	Fri Jul 05 17:09:28 2013 +0400
+++ b/modules/web/src/test/java/javafx/scene/web/JavaScriptBridgeTest.java	Fri Jul 05 20:24:43 2013 +0400
@@ -17,7 +17,7 @@
     }
     
     public @Test void testJSBridge1() throws InterruptedException {
-        final Document doc = getDocumentFor("test/html/dom.html");
+        final Document doc = getDocumentFor("src/test/resources/html/dom.html");
         final WebEngine web = getEngine();
         
         submit(new Runnable() { public void run() {
@@ -113,7 +113,7 @@
     }
 
     public @Test void testJSBridge3() throws InterruptedException {
-        //final Document doc = getDocumentFor("test/html/dom.html");
+        //final Document doc = getDocumentFor("src/test/resources/html/dom.html");
         final WebEngine web = getEngine();
 
         submit(new Runnable() { public void run() {
@@ -185,7 +185,7 @@
     }
 
     @Test public void testJSBridge5() throws InterruptedException {
-        final Document doc = getDocumentFor("test/html/dom.html");
+        final Document doc = getDocumentFor("src/test/resources/html/dom.html");
         final WebEngine web = getEngine();
 
         submit(new Runnable() { public void run() {
--- a/modules/web/src/test/java/javafx/scene/web/LeakTest.java	Fri Jul 05 17:09:28 2013 +0400
+++ b/modules/web/src/test/java/javafx/scene/web/LeakTest.java	Fri Jul 05 20:24:43 2013 +0400
@@ -24,7 +24,7 @@
 
     @Ignore // RT-26710: javafx.scene.web.LeakTest hangs
     @Test public void testOleg() throws InterruptedException{
-        final String URL = new File("test/html/guimark2-vector.html").toURI().toASCIIString();
+        final String URL = new File("src/test/resources/html/guimark2-vector.html").toURI().toASCIIString();
         final int CYCLE_COUNT = 16;
         final int CYCLE_LENGTH = 5;
         final CountDownLatch latch = new CountDownLatch(CYCLE_COUNT);
--- a/modules/web/src/test/java/javafx/scene/web/LoadNotificationsTest.java	Fri Jul 05 17:09:28 2013 +0400
+++ b/modules/web/src/test/java/javafx/scene/web/LoadNotificationsTest.java	Fri Jul 05 20:24:43 2013 +0400
@@ -25,7 +25,7 @@
     AssertionError assertion;
 
     @Test public void testSuccessfulLoad() {
-        testFile("test/html/ipsum.html");
+        testFile("src/test/resources/html/ipsum.html");
     }
 
     @Test public void testFailedLoad() {
--- a/modules/web/src/test/java/javafx/scene/web/LoadTest.java	Fri Jul 05 17:09:28 2013 +0400
+++ b/modules/web/src/test/java/javafx/scene/web/LoadTest.java	Fri Jul 05 20:24:43 2013 +0400
@@ -35,7 +35,7 @@
     }
 
     @Test public void testLoadGoodUrl() {
-        final String FILE = "test/html/ipsum.html";
+        final String FILE = "src/test/resources/html/ipsum.html";
         load(new File(FILE));
         WebEngine web = getEngine();
 
@@ -153,7 +153,7 @@
         });
         
         String scriptUrl =
-                new File("test/html/invoke-alert.js").toURI().toASCIIString();
+                new File("src/test/resources/html/invoke-alert.js").toURI().toASCIIString();
         String html =
                 "<html>\n" +
                 "<head><script src=\"" + scriptUrl + "\"></script></head>\n" +
--- a/modules/web/src/test/java/javafx/scene/web/MiscellaneousTest.java	Fri Jul 05 17:09:28 2013 +0400
+++ b/modules/web/src/test/java/javafx/scene/web/MiscellaneousTest.java	Fri Jul 05 20:24:43 2013 +0400
@@ -74,7 +74,7 @@
         submit(new Runnable() { public void run() {
             getEngine().getLoadWorker().stateProperty().addListener(listener);
         }});
-        String location = new File("src/test/java/html/RT30835.html")
+        String location = new File("src/test/resources/html/RT30835.html")
                 .toURI().toASCIIString().replaceAll("^file:/", "file:///");
         load(location);
         assertEquals(1, records.size());
--- a/modules/web/src/test/java/javafx/scene/web/WebViewTest.java	Fri Jul 05 17:09:28 2013 +0400
+++ b/modules/web/src/test/java/javafx/scene/web/WebViewTest.java	Fri Jul 05 20:24:43 2013 +0400
@@ -24,7 +24,7 @@
         setZoom(view, ZOOM);
         checkZoom(view, ZOOM);
 
-        load(new File("test/html/ipsum.html"));
+        load(new File("src/test/resources/html/ipsum.html"));
 
         checkFontScale(view, SCALE);
         checkZoom(view, ZOOM);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/modules/web/src/test/resources/html/RT30835.html	Fri Jul 05 20:24:43 2013 +0400
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta http-equiv="Refresh" content="100; URL=ipsum.html" />
+</head>
+<body>
+</body>
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/modules/web/src/test/resources/html/dom.html	Fri Jul 05 20:24:43 2013 +0400
@@ -0,0 +1,49 @@
+<!doctype html>
+<html>
+<head>
+    <title>DOM Tests</title>
+    <style media="screen">
+        @import url('imported-styles.css');
+
+        body {background-color: red}
+
+        @media screen
+        {
+            p.test {font-family:verdana,sans-serif;font-size:14px;}
+        }
+        @media print
+        {
+            p.test {font-family:times,serif;font-size:10px;}
+        }
+        @media screen,print
+        {
+            p.test {font-weight:bold;}
+        }
+    </style>
+    <link rel="stylesheet" type="text/css" href="imported-styles.css">
+</head>
+<body onclick="document.body.className='testClass';" style="background-color: blue" class="bodyClass">
+
+<!-- used by testEmptyTextContent -->
+<p id="empty-paragraph" align="left"></p>
+
+<!-- used by insert/append/remove/replace tests -->
+<p id="p1">Things <b>do</b> change</p>
+<p id="p2">Again <i>and</i> again</p>
+
+<!-- used by testNodeTypes -->
+<p id="showcase-paragraph">
+text<!--comment--><span class="spanclass">spantext</span></p>
+<img src="file:///C:/test.png" alt="test image">
+
+<label for="unittype">Select unit type:</label>
+<select id="unittype" name="unittype">
+    <option value="1"> Miner </option>
+    <option value="2"> Puffer </option>
+    <option value="3" selected> Snipey </option>
+    <option value="4"> Max </option>
+    <option value="5"> Firebot </option>
+</select>
+
+</body>
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/modules/web/src/test/resources/html/guimark2-vector.html	Fri Jul 05 20:24:43 2013 +0400
@@ -0,0 +1,231 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>GUIMark 2 - HTML5 Vector Test</title>
+<meta http-equiv="content-type" content="text/html; charset=UTF-8">
+<script type="text/javascript">
+var meter;
+var fps;
+var results;
+var draw;
+
+var chartWidth = 1200;
+var chartHeight = 600;
+var highestStock = 200;
+var totalMinutes = 480;
+var chartXSpread;
+var chartYSpread;
+var a = new Array();
+var b = new Array();
+var c = new Array();
+var d = new Array();
+var e = new Array();
+
+function init(){
+	var canvas = document.getElementById('canvas');
+	draw = canvas.getContext('2d');
+	chartXSpread = chartWidth/totalMinutes;
+	chartYSpread = chartHeight/highestStock;
+	meter = new FPSMeter();
+	fps = document.getElementById("current");
+	results = document.getElementById("results");
+	setInterval("processFrame()", 17);
+}
+
+function processFrame(){
+	draw.clearRect(0,0,chartWidth,chartHeight);
+	draw.beginPath();
+	draw.lineWidth = 1;
+	draw.strokeStyle = "#666666";
+
+	var xCoord;
+	var yCoord;
+	for(var x=0; x<=totalMinutes; x+=40){
+		xCoord = x*chartXSpread+0.5;
+		draw.moveTo(xCoord, 0);
+		draw.lineTo(xCoord, chartHeight);
+	}
+	for(var y=0; y<=highestStock; y+=20){
+		yCoord = y*chartYSpread+0.5;
+		draw.moveTo(0, yCoord);
+		draw.lineTo(chartWidth, yCoord);
+	}
+	draw.stroke();
+	draw.closePath();
+
+	fillStockData(a, 180);
+	fillStockData(b, 140);
+	fillStockData(c, 100);
+	fillStockData(d, 60);
+	fillStockData(e, 20);
+
+	graphStockData(a, b, "#FF00FF", "rgba(255, 176, 255, 0.6)");
+	graphStockData(b, c, "#FF0000", "rgba(255, 176, 176, 0.6)");
+	graphStockData(c, d, "#FF6600", "rgba(255, 216, 176, 0.6)");
+	graphStockData(d, e, "#0000FF", "rgba(176, 176, 255, 0.6)");
+	graphStockData(e, null, "#00FF00", "rgba(176, 255, 176, 0.6)");
+	
+	updatePerformance();
+}
+
+function fillStockData(data, region){
+	var diff = 15;
+	var low = region-(diff/2);
+	var i = 0;
+	var stock;
+	
+	if(data.length == 0){
+		while(i <= totalMinutes){
+			stock = new StockVO(i, Math.random()*diff+low);
+			data.push(stock);
+			i++;
+		}
+	}else{
+		while(i <= totalMinutes){
+			stock = data[i];
+			stock.minute--;
+			i++;
+		}
+		stock = data.shift();
+		stock.minute = totalMinutes;
+		stock.value = Math.random()*diff+low;
+		data.push(stock);
+	}
+}
+
+function graphStockData(topData, bottomData, line, fill){
+	var stock;
+	var xCoord;
+	var yCoord;
+	var i = 0;
+	
+	draw.beginPath();
+	draw.strokeStyle = line;
+	draw.lineWidth = 2;
+	draw.lineCap = "round";
+	draw.lineJoin = "round";
+	draw.fillStyle = fill;
+
+	stock = topData[i];
+	xCoord = stock.minute*chartXSpread;
+	yCoord = chartHeight-stock.value*chartYSpread;
+	draw.moveTo(xCoord, yCoord);
+
+	while(++i < topData.length){
+		stock = topData[i];
+		xCoord = stock.minute*chartXSpread;
+		yCoord = chartHeight-stock.value*chartYSpread;
+		draw.lineTo(xCoord, yCoord);
+	}
+	draw.stroke();
+	
+	if(bottomData != null){
+		i = bottomData.length;
+		while(--i > -1){
+			stock = bottomData[i];
+			xCoord = stock.minute*chartXSpread;
+			yCoord = chartHeight-stock.value*chartYSpread;
+			draw.lineTo(xCoord, yCoord);
+		}
+	}else{
+		draw.lineTo(chartWidth, chartHeight);
+		draw.lineTo(0, chartHeight);
+	}
+	draw.fill();
+	draw.closePath();
+}
+
+function updatePerformance(){
+	meter.increment();
+	fps.innerHTML = "Current: "+meter.getFramerate()+" fps";
+	if(testRunning){
+		continueTest();
+	}
+}
+
+//test runner
+var testBegin = 0;
+var testData = [];
+var testRunning = false;
+function startTest(){
+	testBegin = TimeUtil.getTimer();
+	testRunning = true;
+	testData = [];
+	results.innerHTML = "Running..."
+}
+function continueTest(){
+	var time = TimeUtil.getTimer();
+	testData.push(time);
+	if(time-testBegin > 10000){
+		testRunning = false;
+		var output = testData.length/(time-testBegin)*1000;
+		results.innerHTML = "Test Average: "+FPSMeter.formatNumber(output)+" fps"
+	}
+}
+
+//additional classes
+function StockVO(minute, value){
+	this.minute = minute;
+	this.value = value;
+}
+
+function FPSMeter(){
+	var sampleFPS = 0;
+	var lastSampledTime = 0;
+	var sampleFrames = 0;
+	
+	this.sampleDuration = 500;
+	this.increment = function(){
+		sampleFrames++;
+	}
+	this.getFramerate = function(){
+		var diff = TimeUtil.getTimer()-lastSampledTime;
+		if(diff >= this.sampleDuration){
+			var rawFPS = sampleFrames/(diff/1000);
+			sampleFPS = FPSMeter.formatNumber(rawFPS);
+			sampleFrames = 0;
+			lastSampledTime = TimeUtil.getTimer();
+		}
+		return sampleFPS;
+	}
+}
+FPSMeter.formatNumber = function(val){
+	//format as XX.XX
+	return Math.floor(val*100)/100;
+}
+
+TimeUtil = {
+	startTime: new Date().getTime(),
+	getTimer: function(){
+		return new Date().getTime()-TimeUtil.startTime;
+	}
+}
+</script>
+<style type="text/css">
+.header {
+	font-family: Arial, Helvetica, sans-serif;
+	font-size: 15px;
+	font-weight: bold;
+	width: 1200px;
+	height: 30px;
+	background-color: #C0C4DF;
+}
+.header>div {
+	padding: 6px;
+	display: inline-block;
+}
+</style>
+</head>
+
+<body onload="init()" style="margin:0px;">
+	<div class="header">
+		<div style="width:300px">GUIMark - Vector Chart Test</div>
+
+		<div><input type="button" value="Start Test" onclick="startTest()"/></div>
+		<div id="current" style="width:140px">Current: 10 fps</div>
+		<div id="results"></div>
+	</div>
+	<canvas id="canvas" width="1200" height="600"></canvas>
+
+</body>
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/modules/web/src/test/resources/html/h1.html	Fri Jul 05 20:24:43 2013 +0400
@@ -0,0 +1,7 @@
+<!doctype html>
+<html>
+<head><title>1</title></head>
+<body>
+<p>This is the page #1</p>
+</body>
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/modules/web/src/test/resources/html/h2.html	Fri Jul 05 20:24:43 2013 +0400
@@ -0,0 +1,7 @@
+<!doctype html>
+<html>
+<head><title>2</title></head>
+<body>
+<p>This is the page #2</p>
+</body>
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/modules/web/src/test/resources/html/h3.html	Fri Jul 05 20:24:43 2013 +0400
@@ -0,0 +1,7 @@
+<!doctype html>
+<html>
+<head><title>3</title></head>
+<body>
+<p>This is the page #3</p>
+</body>
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/modules/web/src/test/resources/html/h4.html	Fri Jul 05 20:24:43 2013 +0400
@@ -0,0 +1,6 @@
+<!doctype html>
+<html>
+<body>
+<p>This is the page #4</p>
+</body>
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/modules/web/src/test/resources/html/ipsum.html	Fri Jul 05 20:24:43 2013 +0400
@@ -0,0 +1,20 @@
+<!doctype html>
+<html>
+<head><title>Lorem Ipsum</title></head>
+<body>
+<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
+
+<p>Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.
+
+<p>Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.
+
+<p>Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.
+
+<p>Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis.
+
+<p>At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, At accusam aliquyam diam diam dolore dolores duo eirmod eos erat, et nonumy sed tempor et et invidunt justo labore Stet clita ea et gubergren, kasd magna no rebum. sanctus sea sed takimata ut vero voluptua. est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat. 
+
+<p>Consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
+
+</body>
+</html>