MouseListenerTest
git-svn-id: svn://10.0.0.236/trunk@228907 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
9
mozilla/java/dist/netbeans/build.xml
vendored
9
mozilla/java/dist/netbeans/build.xml
vendored
@@ -280,8 +280,10 @@ ${so.prefix}xul.${so.extension}.
|
||||
<sequential>
|
||||
<echo message="overridden JUnit" />
|
||||
<junit showoutput="true" fork="true" dir="${basedir}" failureproperty="tests.failed" errorproperty="tests.failed">
|
||||
<jvmarg value="-DNSPR_LOG_MODULES=webclient:4,webclientstub:4,pluglets:4"/>
|
||||
<jvmarg value="-DNSPR_LOG_FILE=${basedir}${FILE_PATH_SEP}${build.dir}${FILE_PATH_SEP}webclient.log"/>
|
||||
<jvmarg value="-DNSPR_LOG_MODULES=${nspr.log.modules}"/>
|
||||
<env key="NSPR_LOG_MODULES" value="${nspr.log.modules}" />
|
||||
<jvmarg value="-DNSPR_LOG_FILE=${basedir}${FILE_PATH_SEP}${build.dir}${FILE_PATH_SEP}${nspr.log.filename}"/>
|
||||
<env key="NSPR_LOG_FILE" file="${basedir}/${build.dir}/${nspr.log.filename}" />
|
||||
<jvmarg value="-Dbuild.test.results.dir=${basedir}${FILE_PATH_SEP}${build.test.results.dir}" />
|
||||
<jvmarg value="-DBROWSER_BIN_DIR=${browser.bin.dir}"/>
|
||||
<jvmarg line="${debug.jvm.args}"/>
|
||||
@@ -289,7 +291,8 @@ ${so.prefix}xul.${so.extension}.
|
||||
<jvmarg line="-Djava.library.path=${browser.bin.dir}" />
|
||||
|
||||
<batchtest todir="${build.test.results.dir}">
|
||||
<fileset dir="${test.src.dir}" includes="@{includes}"/>
|
||||
<fileset dir="${test.src.dir}" includes="@{includes}"
|
||||
excludes="${test.excludes}"/>
|
||||
</batchtest>
|
||||
<classpath>
|
||||
<path path="${run.test.classpath}"/>
|
||||
|
||||
25
mozilla/java/dist/netbeans/webclient.properties
vendored
25
mozilla/java/dist/netbeans/webclient.properties
vendored
@@ -1,11 +1,26 @@
|
||||
bin.artifacts.pattern=${so.prefix}webclient.${so.extension},${so.prefix}webclient.jnilib,${so.prefix}javadomjni.${so.extension},${so.prefix}javadomjni.jnilib,components/${so.prefix}javadom.${so.extension}
|
||||
# START required modifications
|
||||
|
||||
#Make this point to the bin directory of your XULRUNNER installation
|
||||
# browser.bin.dir=C:\\Projects\\chaff\\xulrunner
|
||||
|
||||
# END required modifications
|
||||
|
||||
# START optional modifications
|
||||
|
||||
# Unix and Mac OS X
|
||||
#debug.jvm.args=-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=y
|
||||
# Windows
|
||||
#debug.jvm.args=-Xdebug -Xrunjdwp:transport=dt_shmem,address=jdbconn,server=y,suspend=y
|
||||
|
||||
#Make this point to the bin directory of your XULRUNNER installation
|
||||
#browser.bin.dir=/Users/edburns/Projects/mozilla/FIREFOX_2_0_0_3_RELEASE/mozilla/xulrunner-macosx-ppc-cocoa_o.obj/dist/XUL.framework/Versions/1.8.1.3
|
||||
#browser.bin.dir=F:\\Projects\\mozilla\\MOZILLA_NIH\\FIREFOX_1_5_0_9_CVS\\mozilla\\xulrunner-win32_o.obj\\dist\\bin
|
||||
test.browser.url=http://jazoon.com/
|
||||
|
||||
#test.browser.url=file:///Users/edburns/Projects/mozilla/FIREFOX_2_0_0_3_RELEASE/mozilla/java/webclient/test/automated/src/test/HistoryTest0.html
|
||||
# END optional modifications
|
||||
|
||||
# START do not modify
|
||||
|
||||
bin.artifacts.pattern=${so.prefix}webclient.${so.extension},${so.prefix}webclient.jnilib,${so.prefix}javadomjni.${so.extension},${so.prefix}javadomjni.jnilib,components/${so.prefix}javadom.${so.extension}
|
||||
nspr.log.modules=sync:javadom:4,webclient:4,webclientstub:4,pluglets:4
|
||||
nspr.log.filename=webclient.log
|
||||
test.excludes=**/*JsfjMakiTest.*,**/CarDemoTest.*
|
||||
|
||||
# END do not modify
|
||||
|
||||
@@ -61,6 +61,7 @@
|
||||
<!-- Construct compile classpath -->
|
||||
<path id="compile.classpath">
|
||||
<pathelement location="${build.home}"/>
|
||||
<pathelement location="${junit.jar}"/>
|
||||
</path>
|
||||
|
||||
<target name="prepare">
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: MouseListenerTest.java,v 1.6 2007-06-19 20:18:13 edburns%acm.org Exp $
|
||||
* $Id: MouseListenerTest.java,v 1.7 2007-06-27 23:29:15 edburns%acm.org Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
@@ -27,6 +27,7 @@
|
||||
package org.mozilla.webclient;
|
||||
|
||||
import java.awt.Rectangle;
|
||||
import junit.framework.TestFailure;
|
||||
import junit.framework.TestSuite;
|
||||
import junit.framework.Test;
|
||||
import java.util.Map;
|
||||
@@ -63,13 +64,6 @@ public class MouseListenerTest extends WebclientTestCase {
|
||||
return (result);
|
||||
}
|
||||
|
||||
static EventRegistration2 eventRegistration;
|
||||
|
||||
static CurrentPage2 currentPage = null;
|
||||
|
||||
static boolean keepWaiting;
|
||||
static boolean doMouseEnteredAssertions = false;
|
||||
|
||||
int x;
|
||||
|
||||
int y;
|
||||
@@ -78,6 +72,24 @@ public class MouseListenerTest extends WebclientTestCase {
|
||||
// Constants
|
||||
//
|
||||
|
||||
enum TestFeature {
|
||||
MOUSE_ENTERED,
|
||||
MOUSE_EXITED,
|
||||
MOUSE_CLICKED,
|
||||
MOUSE_PRESSED,
|
||||
MOUSE_RELEASED,
|
||||
HAS_EXPECTED_X,
|
||||
HAS_EXPECTED_Y,
|
||||
IS_WCMOUSEEVENT,
|
||||
HAS_EVENT_MAP,
|
||||
HAS_HREF,
|
||||
HAS_EXPECTED_HREF,
|
||||
HAS_DOM_NODE,
|
||||
DOM_NODE_IS_ELEMENT,
|
||||
STOP_WAITING
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Testcases
|
||||
//
|
||||
@@ -87,7 +99,7 @@ public class MouseListenerTest extends WebclientTestCase {
|
||||
}
|
||||
|
||||
public void testListenerAddedToCanvas() throws Exception {
|
||||
//doTest(true);
|
||||
doTest(true);
|
||||
}
|
||||
public void doTest(boolean addToCanvas) throws Exception {
|
||||
BrowserControl firstBrowserControl = null;
|
||||
@@ -99,7 +111,7 @@ public class MouseListenerTest extends WebclientTestCase {
|
||||
firstBrowserControl.queryInterface(BrowserControl.HISTORY_NAME);
|
||||
final BrowserControlCanvas canvas = (BrowserControlCanvas)
|
||||
firstBrowserControl.queryInterface(BrowserControl.BROWSER_CONTROL_CANVAS_NAME);
|
||||
eventRegistration = (EventRegistration2)
|
||||
EventRegistration2 eventRegistration = (EventRegistration2)
|
||||
firstBrowserControl.queryInterface(BrowserControl.EVENT_REGISTRATION_NAME);
|
||||
|
||||
assertNotNull(canvas);
|
||||
@@ -112,79 +124,87 @@ public class MouseListenerTest extends WebclientTestCase {
|
||||
Navigation2 nav = (Navigation2)
|
||||
firstBrowserControl.queryInterface(BrowserControl.NAVIGATION_NAME);
|
||||
assertNotNull(nav);
|
||||
currentPage = (CurrentPage2)
|
||||
CurrentPage2 currentPage = (CurrentPage2)
|
||||
firstBrowserControl.queryInterface(BrowserControl.CURRENT_PAGE_NAME);
|
||||
|
||||
assertNotNull(currentPage);
|
||||
|
||||
final BitSet bitSet = new BitSet();
|
||||
|
||||
eventRegistration.addDocumentLoadListener(listener = new DocumentLoadListenerImpl() {
|
||||
public void doEndCheck() {
|
||||
MouseListenerTest.keepWaiting = false;
|
||||
bitSet.set(TestFeature.STOP_WAITING.ordinal(),true);
|
||||
}
|
||||
});
|
||||
final BitSet bitSet = new BitSet();
|
||||
|
||||
// PENDING(edburns): flesh this out with more content
|
||||
MouseListener mouseListener = new MouseListener() {
|
||||
public void mouseEntered(MouseEvent e) {
|
||||
if (MouseListenerTest.doMouseEnteredAssertions) {
|
||||
Rectangle
|
||||
frameBounds = frame.getBounds(),
|
||||
canvasBounds = canvas.getBounds();
|
||||
System.out.println("domElement(" + MouseListenerTest.this.x +
|
||||
", " + MouseListenerTest.this.y + ") " +
|
||||
"frameBounds(" + frameBounds.x + ", " +
|
||||
frameBounds.y + ") " +
|
||||
"canvasBounds(" + canvasBounds.x +
|
||||
", " + canvasBounds.y + ") " +
|
||||
"event(" + e.getX() + ", " + e.getY() + ")");
|
||||
assertEquals(MouseListenerTest.this.x, e.getX() +
|
||||
frameBounds.x + canvasBounds.x);
|
||||
assertEquals(MouseListenerTest.this.y, e.getY() +
|
||||
frameBounds.y + canvasBounds.y);
|
||||
assertTrue(e instanceof WCMouseEvent);
|
||||
WCMouseEvent wcMouseEvent = (WCMouseEvent) e;
|
||||
Map eventMap =
|
||||
(Map) wcMouseEvent.getWebclientEvent().getEventData();
|
||||
assertNotNull(eventMap);
|
||||
Rectangle
|
||||
frameBounds = frame.getBounds(),
|
||||
canvasBounds = canvas.getBounds();
|
||||
System.out.println("domElement(" + MouseListenerTest.this.x +
|
||||
", " + MouseListenerTest.this.y + ") " +
|
||||
"frameBounds(" + frameBounds.x + ", " +
|
||||
frameBounds.y + ") " +
|
||||
"canvasBounds(" + canvasBounds.x +
|
||||
", " + canvasBounds.y + ") " +
|
||||
"event(" + e.getX() + ", " + e.getY() + ")");
|
||||
bitSet.set(TestFeature.HAS_EXPECTED_X.ordinal(),
|
||||
MouseListenerTest.this.x ==
|
||||
(e.getX() + frameBounds.x + canvasBounds.x));
|
||||
bitSet.set(TestFeature.HAS_EXPECTED_Y.ordinal(),
|
||||
MouseListenerTest.this.y ==
|
||||
(e.getY() + frameBounds.y + canvasBounds.y));
|
||||
bitSet.set(TestFeature.IS_WCMOUSEEVENT.ordinal(),
|
||||
e instanceof WCMouseEvent);
|
||||
WCMouseEvent wcMouseEvent = (WCMouseEvent) e;
|
||||
Map eventMap =
|
||||
(Map) wcMouseEvent.getWebclientEvent().getEventData();
|
||||
bitSet.set(TestFeature.HAS_EVENT_MAP.ordinal(),
|
||||
null != eventMap);
|
||||
|
||||
String href = (String) eventMap.get("href");
|
||||
System.out.println("href: " + href);
|
||||
assertNotNull(href);
|
||||
assertEquals(href, "HistoryTest1.html");
|
||||
Node domNode = (Node) wcMouseEvent.getWebclientEvent().getSource();
|
||||
assertNotNull(domNode);
|
||||
assertTrue(domNode instanceof Element);
|
||||
Element element = (Element) domNode;
|
||||
String
|
||||
id = element.getAttribute("id"),
|
||||
name = domNode.getNodeName(),
|
||||
value = domNode.getNodeValue();
|
||||
domNode = domNode.getFirstChild();
|
||||
name = domNode.getNodeName();
|
||||
value = domNode.getNodeValue();
|
||||
String href = (String) eventMap.get("href");
|
||||
System.out.println("href: " + href);
|
||||
bitSet.set(TestFeature.HAS_HREF.ordinal(), null != href);
|
||||
if (null != href) {
|
||||
bitSet.set(TestFeature.HAS_EXPECTED_HREF.ordinal(),
|
||||
href.equals("HistoryTest1.html"));
|
||||
}
|
||||
bitSet.set(0);
|
||||
Node domNode = (Node) wcMouseEvent.getWebclientEvent().getSource();
|
||||
bitSet.set(TestFeature.HAS_DOM_NODE.ordinal(),
|
||||
null != domNode);
|
||||
bitSet.set(TestFeature.DOM_NODE_IS_ELEMENT.ordinal(),
|
||||
domNode instanceof Element);
|
||||
Element element = (Element) domNode;
|
||||
String
|
||||
id = element.getAttribute("id"),
|
||||
name = domNode.getNodeName(),
|
||||
value = domNode.getNodeValue();
|
||||
domNode = domNode.getFirstChild();
|
||||
name = domNode.getNodeName();
|
||||
value = domNode.getNodeValue();
|
||||
bitSet.set(TestFeature.MOUSE_ENTERED.ordinal(),true);
|
||||
}
|
||||
public void mouseExited(MouseEvent e) {
|
||||
System.out.println("debug: edburns: exited: " +
|
||||
e.getX() + ", " + e.getY());
|
||||
bitSet.set(1);
|
||||
bitSet.set(TestFeature.MOUSE_EXITED.ordinal(), true);
|
||||
}
|
||||
public void mouseClicked(MouseEvent e) {
|
||||
System.out.println("debug: edburns: clicked: " +
|
||||
e.getX() + ", " + e.getY());
|
||||
bitSet.set(2);
|
||||
bitSet.set(TestFeature.MOUSE_CLICKED.ordinal(), true);
|
||||
}
|
||||
public void mousePressed(MouseEvent e) {
|
||||
System.out.println("debug: edburns: pressed: " +
|
||||
e.getX() + ", " + e.getY());
|
||||
bitSet.set(3);
|
||||
bitSet.set(TestFeature.MOUSE_PRESSED.ordinal(), true);
|
||||
}
|
||||
public void mouseReleased(MouseEvent e) {
|
||||
System.out.println("debug: edburns: released: " +
|
||||
e.getX() + ", " + e.getY());
|
||||
bitSet.set(4);
|
||||
bitSet.set(TestFeature.MOUSE_RELEASED.ordinal(), true);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -192,12 +212,12 @@ public class MouseListenerTest extends WebclientTestCase {
|
||||
//
|
||||
// load four files.
|
||||
//
|
||||
MouseListenerTest.keepWaiting = true;
|
||||
|
||||
bitSet.clear();
|
||||
nav.loadURL("http://localhost:5243/HistoryTest0.html");
|
||||
|
||||
// keep waiting until the previous load completes
|
||||
while (MouseListenerTest.keepWaiting) {
|
||||
while (!bitSet.get(TestFeature.STOP_WAITING.ordinal())) {
|
||||
Thread.currentThread().sleep(1000);
|
||||
}
|
||||
|
||||
@@ -217,13 +237,11 @@ public class MouseListenerTest extends WebclientTestCase {
|
||||
y = Integer.valueOf(screenY).intValue();
|
||||
|
||||
// Click the H1 just to ensure the window has focus.
|
||||
MouseListenerTest.doMouseEnteredAssertions = false;
|
||||
System.out.println("move 1: " + x + ", " + y);
|
||||
robot.mouseMove(x,y);
|
||||
robot.mousePress(InputEvent.BUTTON1_MASK);
|
||||
robot.mouseRelease(InputEvent.BUTTON1_MASK);
|
||||
Thread.currentThread().sleep(2000);
|
||||
MouseListenerTest.doMouseEnteredAssertions = true;
|
||||
|
||||
// Now, add our test listener
|
||||
if (addToCanvas) {
|
||||
@@ -245,28 +263,30 @@ public class MouseListenerTest extends WebclientTestCase {
|
||||
x = Integer.valueOf(screenX).intValue();
|
||||
y = Integer.valueOf(screenY).intValue();
|
||||
|
||||
MouseListenerTest.keepWaiting = true;
|
||||
|
||||
bitSet.clear();
|
||||
System.out.println("move 2: " + x + ", " + y);
|
||||
robot.mouseMove(x, y);
|
||||
robot.mousePress(InputEvent.BUTTON1_MASK);
|
||||
robot.mouseRelease(InputEvent.BUTTON1_MASK);
|
||||
|
||||
while (MouseListenerTest.keepWaiting) {
|
||||
while (!bitSet.get(TestFeature.STOP_WAITING.ordinal()) &&
|
||||
!bitSet.get(TestFeature.MOUSE_ENTERED.ordinal())) {
|
||||
Thread.currentThread().sleep(1000);
|
||||
}
|
||||
assertTrue(bitSet.get(TestFeature.DOM_NODE_IS_ELEMENT.ordinal()));
|
||||
assertTrue(bitSet.get(TestFeature.HAS_DOM_NODE.ordinal()));
|
||||
assertTrue(bitSet.get(TestFeature.HAS_EVENT_MAP.ordinal()));
|
||||
assertTrue(bitSet.get(TestFeature.HAS_EXPECTED_HREF.ordinal()));
|
||||
assertTrue(bitSet.get(TestFeature.HAS_EXPECTED_X.ordinal()));
|
||||
assertTrue(bitSet.get(TestFeature.HAS_EXPECTED_Y.ordinal()));
|
||||
assertTrue(bitSet.get(TestFeature.HAS_HREF.ordinal()));
|
||||
assertTrue(bitSet.get(TestFeature.IS_WCMOUSEEVENT.ordinal()));
|
||||
assertTrue(bitSet.get(TestFeature.MOUSE_ENTERED.ordinal()));
|
||||
assertTrue(bitSet.get(TestFeature.MOUSE_PRESSED.ordinal()));
|
||||
assertTrue(bitSet.get(TestFeature.MOUSE_RELEASED.ordinal()));
|
||||
assertTrue(bitSet.get(TestFeature.MOUSE_EXITED.ordinal()));
|
||||
|
||||
MouseListenerTest.doMouseEnteredAssertions = false;
|
||||
System.out.println("move 3: " + (x + 50) + ", " + (y + 50));
|
||||
robot.mouseMove(x + 50, y + 50);
|
||||
MouseListenerTest.doMouseEnteredAssertions = true;
|
||||
|
||||
Thread.currentThread().sleep(3000);
|
||||
|
||||
bitSet.flip(0, bitSet.size());
|
||||
assertTrue(!bitSet.isEmpty());
|
||||
|
||||
frame.setVisible(false);
|
||||
frame.setVisible(false);
|
||||
|
||||
if (addToCanvas) {
|
||||
canvas.removeMouseListener(mouseListener);
|
||||
|
||||
Reference in New Issue
Block a user