summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPetteri Räty <betelgeuse@gentoo.org>2007-03-05 13:26:55 +0000
committerPetteri Räty <betelgeuse@gentoo.org>2007-03-05 13:26:55 +0000
commite93f3673f0fda0144fce5721418dfdbd9d432913 (patch)
tree727556e684a810d75a0d16828b87a28edfcffa72
parentAdded directory where to save testcases for different java packages. (diff)
downloadjava-testcases-e93f3673f0fda0144fce5721418dfdbd9d432913.tar.gz
java-testcases-e93f3673f0fda0144fce5721418dfdbd9d432913.tar.bz2
java-testcases-e93f3673f0fda0144fce5721418dfdbd9d432913.zip
Add tests for swt.
svn path=/testcases/; revision=3960
-rw-r--r--dev-java/swt/README9
-rw-r--r--dev-java/swt/Snippet128.java131
-rw-r--r--dev-java/swt/runtest.sh7
3 files changed, 147 insertions, 0 deletions
diff --git a/dev-java/swt/README b/dev-java/swt/README
new file mode 100644
index 0000000..ed67d90
--- /dev/null
+++ b/dev-java/swt/README
@@ -0,0 +1,9 @@
+runtest.sh takes one argument that is the browser implementation swt was built
+against. So for examples:
+ runtest.sh xulrunner
+
+(xulrunner) is the default
+
+The test should load http://www.eclipse.org to a window. This window does not
+seem to close properly so just pkill -9 java if you don't have anything else
+java running.
diff --git a/dev-java/swt/Snippet128.java b/dev-java/swt/Snippet128.java
new file mode 100644
index 0000000..29fe32b
--- /dev/null
+++ b/dev-java/swt/Snippet128.java
@@ -0,0 +1,131 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+
+/*
+ * Browser example snippet: bring up a browser
+ *
+ * For a list of all SWT example snippets see
+ * http://www.eclipse.org/swt/snippets/
+ *
+ * @since 3.0
+ */
+import org.eclipse.swt.*;
+import org.eclipse.swt.layout.*;
+import org.eclipse.swt.widgets.*;
+import org.eclipse.swt.browser.*;
+
+public class Snippet128 {
+ public static void main(String [] args) {
+ Display display = new Display();
+ final Shell shell = new Shell(display);
+ GridLayout gridLayout = new GridLayout();
+ gridLayout.numColumns = 3;
+ shell.setLayout(gridLayout);
+ ToolBar toolbar = new ToolBar(shell, SWT.NONE);
+ ToolItem itemBack = new ToolItem(toolbar, SWT.PUSH);
+ itemBack.setText("Back");
+ ToolItem itemForward = new ToolItem(toolbar, SWT.PUSH);
+ itemForward.setText("Forward");
+ ToolItem itemStop = new ToolItem(toolbar, SWT.PUSH);
+ itemStop.setText("Stop");
+ ToolItem itemRefresh = new ToolItem(toolbar, SWT.PUSH);
+ itemRefresh.setText("Refresh");
+ ToolItem itemGo = new ToolItem(toolbar, SWT.PUSH);
+ itemGo.setText("Go");
+
+ GridData data = new GridData();
+ data.horizontalSpan = 3;
+ toolbar.setLayoutData(data);
+
+ Label labelAddress = new Label(shell, SWT.NONE);
+ labelAddress.setText("Address");
+
+ final Text location = new Text(shell, SWT.BORDER);
+ data = new GridData();
+ data.horizontalAlignment = GridData.FILL;
+ data.horizontalSpan = 2;
+ data.grabExcessHorizontalSpace = true;
+ location.setLayoutData(data);
+
+ final Browser browser = new Browser(shell, SWT.NONE);
+ data = new GridData();
+ data.horizontalAlignment = GridData.FILL;
+ data.verticalAlignment = GridData.FILL;
+ data.horizontalSpan = 3;
+ data.grabExcessHorizontalSpace = true;
+ data.grabExcessVerticalSpace = true;
+ browser.setLayoutData(data);
+
+ final Label status = new Label(shell, SWT.NONE);
+ data = new GridData(GridData.FILL_HORIZONTAL);
+ data.horizontalSpan = 2;
+ status.setLayoutData(data);
+
+ final ProgressBar progressBar = new ProgressBar(shell, SWT.NONE);
+ data = new GridData();
+ data.horizontalAlignment = GridData.END;
+ progressBar.setLayoutData(data);
+
+ /* event handling */
+ Listener listener = new Listener() {
+ public void handleEvent(Event event) {
+ ToolItem item = (ToolItem)event.widget;
+ String string = item.getText();
+ if (string.equals("Back")) browser.back();
+ else if (string.equals("Forward")) browser.forward();
+ else if (string.equals("Stop")) browser.stop();
+ else if (string.equals("Refresh")) browser.refresh();
+ else if (string.equals("Go")) browser.setUrl(location.getText());
+ }
+ };
+ browser.addProgressListener(new ProgressListener() {
+ public void changed(ProgressEvent event) {
+ if (event.total == 0) return;
+ int ratio = event.current * 100 / event.total;
+ progressBar.setSelection(ratio);
+ }
+ public void completed(ProgressEvent event) {
+ progressBar.setSelection(0);
+ }
+ });
+ browser.addStatusTextListener(new StatusTextListener() {
+ public void changed(StatusTextEvent event) {
+ status.setText(event.text);
+ }
+ });
+ browser.addLocationListener(new LocationListener() {
+ public void changed(LocationEvent event) {
+ if (event.top) location.setText(event.location);
+ }
+ public void changing(LocationEvent event) {
+ }
+ });
+ itemBack.addListener(SWT.Selection, listener);
+ itemForward.addListener(SWT.Selection, listener);
+ itemStop.addListener(SWT.Selection, listener);
+ itemRefresh.addListener(SWT.Selection, listener);
+ itemGo.addListener(SWT.Selection, listener);
+ location.addListener(SWT.DefaultSelection, new Listener() {
+ public void handleEvent(Event e) {
+ browser.setUrl(location.getText());
+ }
+ });
+
+ shell.open();
+ browser.setUrl("http://eclipse.org");
+
+ while (!shell.isDisposed()) {
+ if (!display.readAndDispatch())
+ display.sleep();
+ }
+ display.dispose();
+ }
+}
diff --git a/dev-java/swt/runtest.sh b/dev-java/swt/runtest.sh
new file mode 100644
index 0000000..d212ecf
--- /dev/null
+++ b/dev-java/swt/runtest.sh
@@ -0,0 +1,7 @@
+moz="${1}"
+[[ -z ${moz} ]] && moz=xulrunner
+[[ ! -e Snippet128.class ]] && javac -classpath $(java-config -p swt-3) Snippet128.java
+#LD_PRELOAD="/usr/lib/${moz}/libxul.so" \
+MOZILLA_FIVE_HOME="/usr/lib/${moz}/" \
+LD_LIBRARY_PATH="$(java-config -i swt-3):${MOZILLA_FIVE_HOME}" \
+ java -Djava-library.path=$(java-config -i swt-3) -cp $(java-config -p swt-3):. Snippet128