summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/AllBrowserTests.java1
-rw-r--r--tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/AllTests.java1
-rw-r--r--tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_browser_Browser.java65
-rw-r--r--tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_browser_TitleListener.java71
-rw-r--r--tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/browser/Browser6.java139
-rw-r--r--tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/browser/Test_BrowserSuite.java12
-rw-r--r--tests/org.eclipse.swt.tests/data/browser6.html6
7 files changed, 295 insertions, 0 deletions
diff --git a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/AllBrowserTests.java b/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/AllBrowserTests.java
index 6f68338d42..bdd537fe7b 100644
--- a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/AllBrowserTests.java
+++ b/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/AllBrowserTests.java
@@ -33,6 +33,7 @@ public static Test suite() {
suite.addTest(Test_org_eclipse_swt_browser_ProgressAdapter.suite());
suite.addTest(Test_org_eclipse_swt_browser_ProgressListener.suite());
suite.addTest(Test_org_eclipse_swt_browser_StatusTextListener.suite());
+ suite.addTest(Test_org_eclipse_swt_browser_TitleListener.suite());
suite.addTest(Test_org_eclipse_swt_browser_VisibilityWindowAdapter.suite());
suite.addTest(Test_org_eclipse_swt_browser_VisibilityWindowListener.suite());
suite.addTest(org.eclipse.swt.tests.junit.browser.Test_BrowserSuite.suite());
diff --git a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/AllTests.java b/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/AllTests.java
index c19286dea5..768eb3c050 100644
--- a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/AllTests.java
+++ b/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/AllTests.java
@@ -219,6 +219,7 @@ public AllTests() {
addTest(Test_org_eclipse_swt_browser_ProgressAdapter.suite());
addTest(Test_org_eclipse_swt_browser_ProgressListener.suite());
addTest(Test_org_eclipse_swt_browser_StatusTextListener.suite());
+ addTest(Test_org_eclipse_swt_browser_TitleListener.suite());
addTest(Test_org_eclipse_swt_browser_VisibilityWindowAdapter.suite());
addTest(Test_org_eclipse_swt_browser_VisibilityWindowListener.suite());
addTest(org.eclipse.swt.tests.junit.browser.Test_BrowserSuite.suite());
diff --git a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_browser_Browser.java b/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_browser_Browser.java
index 37be9c9836..654dbc4ef2 100644
--- a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_browser_Browser.java
+++ b/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_browser_Browser.java
@@ -144,6 +144,23 @@ public void test_addStatusTextListenerLorg_eclipse_swt_browser_StatusTextListene
for (int i = 0; i < 100; i++) browser.removeStatusTextListener(listener);
}
+public void test_addTitleListenerLorg_eclipse_swt_browser_TitleListener() {
+ shell.setText("test_addTitleLorg_eclipse_swt_browser_TitleListener");
+ try {
+ browser.addTitleListener(null);
+ fail("No exception thrown for listener == null");
+ }
+ catch (IllegalArgumentException e) {
+ }
+
+ TitleListener listener = new TitleListener() {
+ public void changed(TitleEvent event) {
+ }
+ };
+ for (int i = 0; i < 100; i++) browser.addTitleListener(listener);
+ for (int i = 0; i < 100; i++) browser.removeTitleListener(listener);
+}
+
public void test_addVisibilityWindowListenerLorg_eclipse_swt_browser_VisibilityWindowListener() {
shell.setText("test_addVisibilityWindowListenerLorg_eclipse_swt_browser_VisibilityWindowListener");
try {
@@ -191,6 +208,36 @@ public void test_getUrl() {
assertTrue(string != null);
}
+public void test_isBackEnabled() {
+ shell.setText("test_isBackEnabled");
+
+ /* back should return the same value that isBackEnabled previously returned */
+ assertEquals(browser.isBackEnabled(), browser.back());
+
+ for (int i = 0; i < 10; i++) {
+ browser.back();
+ runLoopTimer(1);
+ }
+ /* going back 10 times in history - expecting false is returned */
+ boolean result = browser.isBackEnabled();
+ assertFalse(result);
+}
+
+public void test_isForwardEnabled() {
+ shell.setText("test_isForwardEnabled");
+
+ /* forward should return the same value that isForwardEnabled previously returned */
+ assertEquals(browser.isForwardEnabled(), browser.forward());
+
+ for (int i = 0; i < 10; i++) {
+ browser.forward();
+ runLoopTimer(1);
+ }
+ /* going forward 10 times in history - expecting false is returned */
+ boolean result = browser.isForwardEnabled();
+ assertFalse(result);
+}
+
public void test_refresh() {
shell.setText("test_refresh");
for (int i = 0; i < 10; i++) {
@@ -249,6 +296,16 @@ public void test_removeStatusTextListenerLorg_eclipse_swt_browser_StatusTextList
// tested in addStatusTextListener
}
+public void test_removeTitleListenerLorg_eclipse_swt_browser_TitleListener() {
+ try {
+ browser.removeTitleListener(null);
+ fail("No exception thrown for listener == null");
+ }
+ catch (IllegalArgumentException e) {
+ }
+ // tested in addTitleListener
+}
+
public void test_removeVisibilityWindowListenerLorg_eclipse_swt_browser_VisibilityWindowListener() {
try {
browser.removeVisibilityWindowListener(null);
@@ -322,16 +379,20 @@ public static java.util.Vector methodNames() {
methodNames.addElement("test_addOpenWindowListenerLorg_eclipse_swt_browser_OpenWindowListener");
methodNames.addElement("test_addProgressListenerLorg_eclipse_swt_browser_ProgressListener");
methodNames.addElement("test_addStatusTextListenerLorg_eclipse_swt_browser_StatusTextListener");
+ methodNames.addElement("test_addTitleListenerLorg_eclipse_swt_browser_TitleListener");
methodNames.addElement("test_addVisibilityWindowListenerLorg_eclipse_swt_browser_VisibilityWindowListener");
methodNames.addElement("test_back");
methodNames.addElement("test_forward");
methodNames.addElement("test_getUrl");
+ methodNames.addElement("test_isBackEnabled");
+ methodNames.addElement("test_isForwardEnabled");
methodNames.addElement("test_refresh");
methodNames.addElement("test_removeCloseWindowListenerLorg_eclipse_swt_browser_CloseWindowListener");
methodNames.addElement("test_removeLocationListenerLorg_eclipse_swt_browser_LocationListener");
methodNames.addElement("test_removeOpenWindowListenerLorg_eclipse_swt_browser_OpenWindowListener");
methodNames.addElement("test_removeProgressListenerLorg_eclipse_swt_browser_ProgressListener");
methodNames.addElement("test_removeStatusTextListenerLorg_eclipse_swt_browser_StatusTextListener");
+ methodNames.addElement("test_removeTitleListenerLorg_eclipse_swt_browser_TitleListener");
methodNames.addElement("test_removeVisibilityWindowListenerLorg_eclipse_swt_browser_VisibilityWindowListener");
methodNames.addElement("test_setTextLjava_lang_String");
methodNames.addElement("test_setUrlLjava_lang_String");
@@ -347,16 +408,20 @@ protected void runTest() throws Throwable {
else if (getName().equals("test_addOpenWindowListenerLorg_eclipse_swt_browser_OpenWindowListener")) test_addOpenWindowListenerLorg_eclipse_swt_browser_OpenWindowListener();
else if (getName().equals("test_addProgressListenerLorg_eclipse_swt_browser_ProgressListener")) test_addProgressListenerLorg_eclipse_swt_browser_ProgressListener();
else if (getName().equals("test_addStatusTextListenerLorg_eclipse_swt_browser_StatusTextListener")) test_addStatusTextListenerLorg_eclipse_swt_browser_StatusTextListener();
+ else if (getName().equals("test_addTitleListenerLorg_eclipse_swt_browser_TitleListener")) test_addTitleListenerLorg_eclipse_swt_browser_TitleListener();
else if (getName().equals("test_addVisibilityWindowListenerLorg_eclipse_swt_browser_VisibilityWindowListener")) test_addVisibilityWindowListenerLorg_eclipse_swt_browser_VisibilityWindowListener();
else if (getName().equals("test_back")) test_back();
else if (getName().equals("test_forward")) test_forward();
else if (getName().equals("test_getUrl")) test_getUrl();
+ else if (getName().equals("test_isBackEnabled")) test_isBackEnabled();
+ else if (getName().equals("test_isForwardEnabled")) test_isForwardEnabled();
else if (getName().equals("test_refresh")) test_refresh();
else if (getName().equals("test_removeCloseWindowListenerLorg_eclipse_swt_browser_CloseWindowListener")) test_removeCloseWindowListenerLorg_eclipse_swt_browser_CloseWindowListener();
else if (getName().equals("test_removeLocationListenerLorg_eclipse_swt_browser_LocationListener")) test_removeLocationListenerLorg_eclipse_swt_browser_LocationListener();
else if (getName().equals("test_removeOpenWindowListenerLorg_eclipse_swt_browser_OpenWindowListener")) test_removeOpenWindowListenerLorg_eclipse_swt_browser_OpenWindowListener();
else if (getName().equals("test_removeProgressListenerLorg_eclipse_swt_browser_ProgressListener")) test_removeProgressListenerLorg_eclipse_swt_browser_ProgressListener();
else if (getName().equals("test_removeStatusTextListenerLorg_eclipse_swt_browser_StatusTextListener")) test_removeStatusTextListenerLorg_eclipse_swt_browser_StatusTextListener();
+ else if (getName().equals("test_removeTitleListenerLorg_eclipse_swt_browser_TitleListener")) test_removeTitleListenerLorg_eclipse_swt_browser_TitleListener();
else if (getName().equals("test_removeVisibilityWindowListenerLorg_eclipse_swt_browser_VisibilityWindowListener")) test_removeVisibilityWindowListenerLorg_eclipse_swt_browser_VisibilityWindowListener();
else if (getName().equals("test_setTextLjava_lang_String")) test_setTextLjava_lang_String();
else if (getName().equals("test_setUrlLjava_lang_String")) test_setUrlLjava_lang_String();
diff --git a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_browser_TitleListener.java b/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_browser_TitleListener.java
new file mode 100644
index 0000000000..5024e5c6cf
--- /dev/null
+++ b/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_browser_TitleListener.java
@@ -0,0 +1,71 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2003 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Common Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/cpl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.tests.junit;
+
+
+import junit.framework.*;
+import junit.textui.*;
+import org.eclipse.swt.*;
+import org.eclipse.swt.browser.*;
+import org.eclipse.swt.widgets.*;
+
+/**
+ * Automated Test Suite for class org.eclipse.swt.browser.TitleListener
+ *
+ * @see org.eclipse.swt.browser.TitleListener
+ */
+public class Test_org_eclipse_swt_browser_TitleListener extends SwtTestCase {
+
+public Test_org_eclipse_swt_browser_TitleListener(String name) {
+ super(name);
+}
+
+public static void main(String[] args) {
+ TestRunner.run(suite());
+}
+
+protected void setUp() {
+}
+
+protected void tearDown() {
+}
+
+public void test_changedLorg_eclipse_swt_browser_TitleEvent() {
+ Display display = Display.getCurrent();
+ Shell shell = new Shell(display);
+ Browser browser = new Browser(shell, SWT.NONE);
+ browser.addTitleListener(new TitleListener() {
+ public void changed(TitleEvent event) {
+ }
+ });
+ shell.close();
+}
+
+public static Test suite() {
+ TestSuite suite = new TestSuite();
+ java.util.Vector methodNames = methodNames();
+ java.util.Enumeration e = methodNames.elements();
+ while (e.hasMoreElements()) {
+ suite.addTest(new Test_org_eclipse_swt_browser_TitleListener((String)e.nextElement()));
+ }
+ return suite;
+}
+
+public static java.util.Vector methodNames() {
+ java.util.Vector methodNames = new java.util.Vector();
+ methodNames.addElement("test_changedLorg_eclipse_swt_browser_TitleEvent");
+ return methodNames;
+}
+
+protected void runTest() throws Throwable {
+ if (getName().equals("test_changedLorg_eclipse_swt_browser_TitleEvent")) test_changedLorg_eclipse_swt_browser_TitleEvent();
+}
+}
diff --git a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/browser/Browser6.java b/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/browser/Browser6.java
new file mode 100644
index 0000000000..29a7eb151a
--- /dev/null
+++ b/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/browser/Browser6.java
@@ -0,0 +1,139 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2003 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Common Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/cpl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.tests.junit.browser;
+
+import org.eclipse.swt.widgets.*;
+import org.eclipse.swt.layout.*;
+import org.eclipse.swt.browser.*;
+import org.eclipse.swt.*;
+
+public class Browser6 {
+ public static boolean passed = false;
+
+ public static boolean test1(String url) {
+ System.out.println("URL Loading, verify get title event - args: "+url+" Expected Event Sequence: Title.changed");
+ passed = false;
+
+ final Display display = new Display();
+ final Shell shell = new Shell(display);
+ shell.setLayout(new FillLayout());
+ Browser browser = new Browser(shell, SWT.NONE);
+ browser.addTitleListener(new TitleListener() {
+ public void changed(TitleEvent event) {
+ Browser browser = (Browser)event.widget;
+ String url = browser.getUrl();
+ System.out.println("Title changed <"+event.title+"> for location <"+url+">");
+ passed = true;
+ shell.close();
+ }
+ });
+
+ shell.open();
+ browser.setUrl(url);
+
+ boolean timeout = runLoopTimer(display, shell, 600);
+ if (timeout) passed = false;
+ display.dispose();
+ return passed;
+ }
+
+ public static boolean test2(String url, final String expectedTitle) {
+ System.out.println("URL Loading, verify get title event - args: "+url+" Expected Event Sequence: Title.changed");
+ passed = false;
+
+ final Display display = new Display();
+ final Shell shell = new Shell(display);
+ shell.setLayout(new FillLayout());
+ Browser browser = new Browser(shell, SWT.NONE);
+ browser.addTitleListener(new TitleListener() {
+ public void changed(TitleEvent event) {
+ Browser browser = (Browser)event.widget;
+ String url = browser.getUrl();
+ System.out.println("Title changed <"+event.title+"> for location <"+url+">");
+ if (event.title.equals(expectedTitle)) {
+ passed = true;
+ shell.close();
+ }
+ }
+ });
+ browser.addProgressListener(new ProgressListener() {
+ public void changed(ProgressEvent event) {
+ }
+ public void completed(ProgressEvent event) {
+ shell.close();
+ }
+ });
+ shell.open();
+ browser.setUrl(url);
+
+ boolean timeout = runLoopTimer(display, shell, 600);
+ if (timeout) passed = false;
+ display.dispose();
+ return passed;
+ }
+
+ static boolean runLoopTimer(final Display display, final Shell shell, final int seconds) {
+ final boolean[] timeout = {false};
+ new Thread() {
+ public void run() {
+ try {
+ for (int i = 0; i < seconds; i++) {
+ Thread.sleep(1000);
+ if (display.isDisposed() || shell.isDisposed()) return;
+ }
+ }
+ catch (Exception e) {}
+ timeout[0] = true;
+ /* wake up the event loop */
+ if (!display.isDisposed()) {
+ display.asyncExec(new Runnable() {
+ public void run() {
+ if (!shell.isDisposed()) shell.redraw();
+ }
+ });
+ }
+ }
+ }.start();
+ while (!timeout[0] && !shell.isDisposed()) if (!display.readAndDispatch()) display.sleep();
+ return timeout[0];
+ }
+
+ public static boolean test() {
+ int fail = 0;
+
+ String[] urls = {"http://www.eclipse.org", "http://www.google.com", "http://www.ibm.com"};
+ for (int i = 0; i < urls.length; i++) {
+ boolean result = test1(urls[i]);
+ System.out.print(result ? "." : "E");
+ if (!result) fail++;
+ }
+
+ String pluginPath = System.getProperty("PLUGIN_PATH");
+ System.out.println("PLUGIN_PATH <"+pluginPath+">");
+ String url;
+ if (pluginPath == null) url = Browser6.class.getClassLoader().getResource("browser6.html").toString();
+ else url = pluginPath + "/data/browser6.html";
+ urls = new String[] {url};
+ String[] titles = {"This is a test title that must be carefully checked when that page is loaded"};
+ for (int i = 0; i < urls.length; i++) {
+ boolean result = test2(urls[i], titles[i]);
+ System.out.print(result ? "." : "E");
+ if (!result) fail++;
+ }
+
+
+ return fail == 0;
+ }
+
+ public static void main(String[] argv) {
+ System.out.println("\r\nTests Finished. SUCCESS: "+test());
+ }
+} \ No newline at end of file
diff --git a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/browser/Test_BrowserSuite.java b/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/browser/Test_BrowserSuite.java
index 5d7000da5e..7a3a760a3b 100644
--- a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/browser/Test_BrowserSuite.java
+++ b/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/browser/Test_BrowserSuite.java
@@ -37,30 +37,41 @@ protected void tearDown() {
}
public void Browser1() {
+ System.out.println("** Browser1 **");
boolean result = Browser1.test();
assertTrue(result);
}
public void Browser2() {
+ System.out.println("** Browser2 **");
boolean result = Browser2.test();
assertTrue(result);
}
public void Browser3() {
+ System.out.println("** Browser3 **");
boolean result = Browser3.test();
assertTrue(result);
}
public void Browser4() {
+ System.out.println("** Browser4 **");
boolean result = Browser4.test();
assertTrue(result);
}
public void Browser5() {
+ System.out.println("** Browser5 **");
boolean result = Browser5.test();
assertTrue(result);
}
+public void Browser6() {
+ System.out.println("** Browser6 **");
+ boolean result = Browser6.test();
+ assertTrue(result);
+}
+
public static Test suite() {
TestSuite suite = new TestSuite();
java.util.Vector methodNames = methodNames();
@@ -78,6 +89,7 @@ public static java.util.Vector methodNames() {
methodNames.addElement("Browser3");
methodNames.addElement("Browser4");
methodNames.addElement("Browser5");
+ methodNames.addElement("Browser6");
return methodNames;
}
diff --git a/tests/org.eclipse.swt.tests/data/browser6.html b/tests/org.eclipse.swt.tests/data/browser6.html
new file mode 100644
index 0000000000..83275034fd
--- /dev/null
+++ b/tests/org.eclipse.swt.tests/data/browser6.html
@@ -0,0 +1,6 @@
+<html>
+<title>This is a test title that must be carefully checked when that page is loaded</title>
+<body>
+This test is used to automatically check the content of the title tag.
+</body>
+</html> \ No newline at end of file