From e93f3673f0fda0144fce5721418dfdbd9d432913 Mon Sep 17 00:00:00 2001 From: Petteri Räty Date: Mon, 5 Mar 2007 13:26:55 +0000 Subject: Add tests for swt. svn path=/testcases/; revision=3960 --- dev-java/swt/README | 9 +++ dev-java/swt/Snippet128.java | 131 +++++++++++++++++++++++++++++++++++++++++++ dev-java/swt/runtest.sh | 7 +++ 3 files changed, 147 insertions(+) create mode 100644 dev-java/swt/README create mode 100644 dev-java/swt/Snippet128.java create mode 100644 dev-java/swt/runtest.sh 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 -- cgit v1.2.3-65-gdbad