diff options
Diffstat (limited to 'khtml/java/tests')
-rw-r--r-- | khtml/java/tests/Makefile.am | 9 | ||||
-rw-r--r-- | khtml/java/tests/badapplets/BadApplet.jar | bin | 0 -> 7233 bytes | |||
-rw-r--r-- | khtml/java/tests/badapplets/BadApplet.java | 202 | ||||
-rw-r--r-- | khtml/java/tests/badapplets/applet.html | 14 | ||||
-rw-r--r-- | khtml/java/tests/good_sites | 44 | ||||
-rw-r--r-- | khtml/java/tests/testkjavaappletserver.cpp | 41 |
6 files changed, 310 insertions, 0 deletions
diff --git a/khtml/java/tests/Makefile.am b/khtml/java/tests/Makefile.am new file mode 100644 index 000000000..ab392b874 --- /dev/null +++ b/khtml/java/tests/Makefile.am @@ -0,0 +1,9 @@ +INCLUDES = -I$(top_srcdir)/khtml/java -I$(top_srcdir)/khtml \ + -I$(top_srcdir) $(all_includes) + +check_PROGRAMS = testserver + +testserver_SOURCES = testkjavaappletserver.cpp +testserver_LDADD = ../libkjava.la + +METASOURCES = AUTO diff --git a/khtml/java/tests/badapplets/BadApplet.jar b/khtml/java/tests/badapplets/BadApplet.jar Binary files differnew file mode 100644 index 000000000..fc9c274a2 --- /dev/null +++ b/khtml/java/tests/badapplets/BadApplet.jar diff --git a/khtml/java/tests/badapplets/BadApplet.java b/khtml/java/tests/badapplets/BadApplet.java new file mode 100644 index 000000000..c8217d256 --- /dev/null +++ b/khtml/java/tests/badapplets/BadApplet.java @@ -0,0 +1,202 @@ +import java.awt.*; +import java.awt.event.*; +import java.applet.*; +import javax.swing.*; +import java.io.*; +import java.net.*; +import java.awt.datatransfer.*; + +public class BadApplet extends JApplet { + JTabbedPane tabs = new JTabbedPane(); + JPanel FileSystemTests = new JPanel(); + JPanel NetworkTests = new JPanel(); + JPanel EnvironmentTests = new JPanel(); + + JButton writeFileButton = new JButton("Write File"); + JButton readFileButton = new JButton("Read File"); + JButton connectSocketButton = new JButton("Connect Socket"); + JButton frameButton = new JButton("Open Frame Without Warning Tag"); + JButton readSystemPropButton = new JButton("Read System Property"); + JButton printButton = new JButton("Print"); + JButton clipBoardButton = new JButton("Read Clipboard"); + + JTextField writePath = new JTextField( "/amd/ns/root/home/sbarnes/test.txt" ); + JTextField readPath = new JTextField("/amd/ns/root/home/sbarnes/test.txt"); + JTextField url = new JTextField("URL"); + JTextField port = new JTextField("port"); + JTextField systemProp = new JTextField("os.name"); + JTextField output = new JTextField(); + + //Construct the applet + public BadApplet() { + try { + //event handlers ****************************************************** + writeFileButton.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(ActionEvent e) { + writeFileButton_actionPerformed(e); + } + }); + readFileButton.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(ActionEvent e) { + readFileButton_actionPerformed(e); + } + }); + connectSocketButton.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(ActionEvent e) { + connectSocketButton_actionPerformed(e); + } + }); + frameButton.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(ActionEvent e) { + frameButton_actionPerformed(e); + } + }); + readSystemPropButton.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(ActionEvent e) { + readSystemPropButton_actionPerformed(e); + } + }); + printButton.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(ActionEvent e) { + printButton_actionPerformed(e); + } + }); + clipBoardButton.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(ActionEvent e) { + clipBoard_actionPerformed(e); + } + }); + + //do layout *********************************************************** + getContentPane().setLayout( new BorderLayout() ); + + FileSystemTests.setLayout( new FlowLayout( FlowLayout.LEFT ) ); + FileSystemTests.add( writeFileButton ); + FileSystemTests.add( writePath ); + FileSystemTests.add( readFileButton ); + FileSystemTests.add( readPath ); + + NetworkTests.setLayout( new FlowLayout( FlowLayout.LEFT ) ); + NetworkTests.add( connectSocketButton ); + NetworkTests.add( url ); + NetworkTests.add( port ); + + EnvironmentTests.setLayout( new FlowLayout( FlowLayout.LEFT ) ); + EnvironmentTests.add( frameButton ); + EnvironmentTests.add( readSystemPropButton ); + EnvironmentTests.add( systemProp ); + EnvironmentTests.add( printButton ); + EnvironmentTests.add( clipBoardButton ); + + tabs.add( FileSystemTests, "File System" ); + tabs.add( NetworkTests, "Network" ); + tabs.add( EnvironmentTests, "Environment" ); + + this.getContentPane().add( tabs, BorderLayout.CENTER ); + this.getContentPane().add( output, BorderLayout.SOUTH ); + } + catch(Exception e) { + e.printStackTrace(); + } + } + + public void paint( Graphics g ) + { + System.out.println( "graphics g = " + g ); + System.out.println( "clip area = " + g.getClip() ); + System.out.println( "bounds of the clip area = " + g.getClipBounds() ); + + super.paint( g ); + } + + //Initialize the applet + public void init() {} + + void writeFileButton_actionPerformed(ActionEvent e) { + try{ + PrintWriter writer = new PrintWriter(new FileOutputStream(writePath.getText())); + writer.println("Here is some text"); + writer.close(); + output.setText("Write was successful"); + } catch (Exception ex){output.setText(ex.getMessage());} + } + + void readSystemPropButton_actionPerformed(ActionEvent e) { + try{ + output.setText(System.getProperty(systemProp.getText())); + } catch (Exception ex){output.setText("Error getting prop: " + ex.getMessage());} + } + + void readFileButton_actionPerformed(ActionEvent e) { + try{ + BufferedReader reader = new BufferedReader(new FileReader(readPath.getText())); + output.setText("Read was successful: " + reader.readLine()); + } catch (Exception ex){output.setText(ex.getMessage());} + } + + void connectSocketButton_actionPerformed(ActionEvent e) { + try{ + Integer thePort = new Integer(port.getText()); + Socket socket = new Socket(url.getText(), thePort.intValue()); + socket.getOutputStream(); + output.setText("Socket connection successful"); + } catch (Exception ex){output.setText("Socket unsuccessfull: " + ex.getMessage());} + } + + void frameButton_actionPerformed(ActionEvent e) { + JFrame frame = new JFrame("Does this Frame have a warning sign"); + frame.setSize(200,200); + frame.show(); + if (frame.getWarningString() == null) + output.setText("No warning string in frame"); + else + output.setText(frame.getWarningString()); + } + + void clipBoard_actionPerformed(ActionEvent e) { + try { + Clipboard clip = Toolkit.getDefaultToolkit().getSystemClipboard(); + + Transferable trans = clip.getContents(null); + if (trans == null){ + output.setText("Clipboard is empty"); + return; + } + output.setText((String)trans.getTransferData(DataFlavor.stringFlavor)); + }catch(Exception ex){ex.getMessage();} + } + + void printButton_actionPerformed(ActionEvent e) { + try{ + JFrame testFrame = new JFrame("test"); + testFrame.getContentPane().add(this, BorderLayout.CENTER); + PrintJob printer = Toolkit.getDefaultToolkit().getPrintJob(testFrame, "Applet Print Test", null); + + if (printer == null){ + output.setText("PrintJob is null"); + return; + } + + Graphics g = printer.getGraphics(); + g.drawString("This is the applet print test", 50, 50); + g.dispose(); + printer.end(); + }catch(Exception ex){ex.getMessage();} + } + + //Main method + public static void main(String[] args) { + BadApplet applet = new BadApplet(); + + JFrame frame = new JFrame(); + frame.setDefaultCloseOperation( WindowConstants.DISPOSE_ON_CLOSE ); + frame.setTitle("Applet Frame"); + frame.getContentPane().add(applet, BorderLayout.CENTER); + frame.setSize(400,320); + frame.setVisible(true); + + applet.init(); + applet.start(); + } + +} diff --git a/khtml/java/tests/badapplets/applet.html b/khtml/java/tests/badapplets/applet.html new file mode 100644 index 000000000..fe9e47ef9 --- /dev/null +++ b/khtml/java/tests/badapplets/applet.html @@ -0,0 +1,14 @@ +<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> +<html> + <head> + <title>SwingSet demo</title> + </head> + + <body> + <h1>SwingSet demo</h1> + <applet code=BadApplet.class + archive="BadApplet.jar" + width=695 height=525> + </applet> + </body> +</html> diff --git a/khtml/java/tests/good_sites b/khtml/java/tests/good_sites new file mode 100644 index 000000000..f9699fe2a --- /dev/null +++ b/khtml/java/tests/good_sites @@ -0,0 +1,44 @@ +http Sites +--------------------------------------------------------- +http://java.sun.com/products/plugin/1.3.1_01a/demos/applets.html +www.soda.co.uk +java.sun.com +www.javaboutique.com +www.teledyn.com/fun/SaubleBeach (redraw problems, also in netscape) +www.fxapplets.com +www.quote.com/quotecom/livecharts/ +games.yahoo.com/games/klondike.html (security exception) +www.webtrac.co.za/cgi-bin/demo/demo.pl (classloader problem) +www.sodaplay.com/constructor/player.htm +www.sodaplay.com +www.dseffects.com/applets.html +www.controlzed.com +javaboutique.internet.com/Durius/ +www.chess.net/play/java +www.kmelektronik.de/root/index.html +rdufour.mytradecenter.com/applets/Tetris/Tetris.html +http://www.shiatsu-austria.at + +currently unavailable: +---------------------- +screening.nasdaq.com/screening/NASDAQSearch.asp + +unavailable: +------------ +www.indegocomputer.de +http://aktien.onvista.de/risk-return-map/ + +https Sites +--------------------------------------------------------- +https://brokerage-m3.consors.de/ConSors/ +https://homebanking.dvg-ka.de/045/index.html +https://spk-ihb.izb-hb.de/SPK_Deggendorf/index.html +https://www3.genodirekt.de/homebank.nsf/(rzbks)/xxq1050x?OpenDocument +https://banking.sonline.de/kreissparkasse-duesseldorf/ + +Security Test Sites +--------------------------------------------------------- +http://java.sun.com/sfaq/#examples +http://www.heise.de/ct/browsercheck/java.shtml +http://www.heise.de/ct/browsercheck/n4demo1.shtml + diff --git a/khtml/java/tests/testkjavaappletserver.cpp b/khtml/java/tests/testkjavaappletserver.cpp new file mode 100644 index 000000000..f0c5da19a --- /dev/null +++ b/khtml/java/tests/testkjavaappletserver.cpp @@ -0,0 +1,41 @@ +#include <kapplication.h> +#include <kcmdlineargs.h> +#include <kdebug.h> +#include <qstring.h> +#include <stdio.h> +#include <unistd.h> + +#include "java/kjavaappletserver.h" +#include "java/kjavaapplet.h" +#include "java/kjavaappletwidget.h" + +static KCmdLineOptions options[] = +{ + { "+[kdelibs_path]", "path to kdelibs directory", 0 }, + KCmdLineLastOption +}; + +int main(int argc, char **argv) +{ + KCmdLineArgs::init( argc, argv, "testKJASSever", "testKJASServer", "test program", "0.0" ); + + KCmdLineArgs::addCmdLineOptions( options ); + + KApplication app; + + QString path_to_kdelibs = "/build/wynnw/kde-src"; + + KJavaAppletWidget *a = new KJavaAppletWidget; + + a->show(); + + a->applet()->setBaseURL( "file:" + path_to_kdelibs + "/kdelibs/khtml/test/" ); + a->applet()->setAppletName( "Lake" ); + a->applet()->setAppletClass( "lake.class" ); + a->applet()->setParameter( "image", "konqi.gif" ); + + a->showApplet(); + a->applet()->start(); + + app.exec(); +} |