Package Java.awt | |||||
---|---|---|---|---|---|
Interfaces(*) | Available | Complete | Available tests(*) | results | remarks |
ActiveEvent | NO | ||||
Adjustable | yes | yes | (Interfaces are tested through | the | classes that implement them) |
Composite | NO |
|
|
||
CompositeContext | NO | ||||
ItemSelectable | yes | yes |
|
|
|
LayoutManager | yes | yes |
|
|
|
LayoutManager2 | yes | yes |
|
|
|
MenuContainer | yes | yes |
|
|
|
Paint | NO | ||||
PaintContext | NO | ||||
PrintGraphics | NO | ||||
Shape | yes | See remarks |
|
|
Specifications 1.2/ 1999 only specify one function <getBounds() > which we implement. Latest 1.3 specs also lists 9 other functions which we don't |
Stroke | NO | ||||
Transparency | NO |
Classes(*) | Available | Complete | Available tests(*) | results | remarks |
---|---|---|---|---|---|
AlphaComposite | NO | ||||
AWTEvent | yes | Misses one constructor AWTEvent(Event) from deprecated
class Event to AWTEvent
Rest is Ok |
(Implicitly tested through all Event-class tests) | - Java 1.3 specs list a supplementary static long : INPUT_METHOD_EVENT_MASK and tell that AWTEvent has a proper version of <Object.finalise() > which our version hasn't | |
AWTEventMulticaster | yes | -Misses implementation of serialization methods save() / saveInternal() | event.ActionMulticastTest, event.AdjustmentMulticastTest, event.ItemMulticastTest, event.TextMulticastTest, event.FocusMulticastTest, event.ContainerMulticastTest, event.KeyMulticastTest | ||
AWTPermission | yes | yes | |||
BasicStroke | NO | ||||
BorderLayout | yes | Yes (see remarks) | VisualTest: Font.SetFont2, Font.SetFont3,
Layout.BorderLayout, layout.BorderLayout2 , layout.BordersizeDefs, layout.BorderLayoutPositions |
Complient to specs 1.2/1999
Latest 1.3 defines 4 more static definitions not included |
|
Button | yes | No addNotify() | VisualTest: Color.ColorInheritance, Font.SetFont, Font.SetFont2, Font.SetFont3, Graphics.DrawString2, Graphics.PanelButton, Image.DrawIcon , Button.ActionCommandTest , event.ActionEventTest | ||
Canvas | yes | addNotify() not implemented | VisualTests: Graphics.DottedText | (Canvas only differs from Component by overwritten Paint() function. In everyday use this class is obsolete since lightweight components are available) | |
CardLayout | yes | yes | layout.CardLayoutPositions, layout.CardLayoutOverlay | ||
Checkbox | yes | addNotify() not implemented | VisualTest: Color.ColorInheritance , Font.SetFont, Checkbox.CheckboxTest , event.ItemEventTest | ||
CheckboxGroup | yes | yes | Checkbox.CheckboxTest , event.ItemEventTest | ||
CheckboxMenuItem | yes | All functions defined, but none implemented | ( belongs to the window toolbar menu classes which we don't implement as we don't have a window frame for a toolbar in the first place) | ||
Choice | yes | Many functions declared native, but no c-headers and c-code available | Choice.ChoiceTest | Implementation is currently on its way | |
Color | yes | No HSB color support | VisualTests: Color.StandardColors, Graphics.DrawColor | (Implements interface Paint, Paint extends Transparency.
Both interfaces not yet written)
(Java 1.3 also implements transparency and PaintContext) |
|
Component | yes | Not included are:
-> AddNotify() and RemoveNotify() -> Cursor functions getCursor() and setCursor() ->(popup menu) add() and remove() -> printing functions print() and printAll() -> Image functions prepareImage(), checkImage() and imageUpdate() ->Focus functions requestFocus(), transferFocus(), isFocusTraversable() furthermore:
|
Mauve tests:(*) (Image.ImageTestJDK,Image.ImageTest, Component.ComponentTest) VisualTest:
|
(*) see notes on Mauve test Component,.ComponentTest
- Focus transfer through tab-key is not yet impemented -Difference with Sun: Wonka makes every Component active when clicked. Ssun only does for higher components and disregards Component, Container, Canvas, Panel - Difference with Sun as to when to call paint() and when update(). Our default update() is empty. Sun's defaut update() maps on to paint() |
|
ComponentOrientation | NO | ||||
Container | yes | Not implemented are:
-> getComponentAt() (findComponentAt() maps to Component-function of that name), getComponents -> getMaximumsize() -> List()-functions ->paintComponents() (update() and paint() are taken from Component) ->print() and printComponent() not included are:
|
- event.ContainerEventTest,
event.ContainerMulticastTest,
-
layout.BorderLayout,
layout.BorderLayout2
and
layout.BorderLayoutPositions,
- layout.CardLayoutPositions and layout.CardLayoutOverlay - Layout.Flowlayout, layout.FlowLayoutHorizontal and layout.FlowLayoutPositions - layout.GridLayout, layout.GridLayoutHorizontal, layout.GridLayoutPositions - Layout.NoLayout, - Component.ComponentRepaint, Component.ComponentUpdateBounds, |
Internally uses java 1.1 Vector class instead of 1.2 ArrayList | |
Cursor | yes | Nothing implemented, apart of the static definitions | |||
Dialog | yes | Nothing implemented but a
Constructors that maps to superclass 'Window' |
|||
Dimension | yes | yes | |||
Event | NO | Java 1.1, deprecated in java 1.2, replaced by AWTEvent & subclasses | |||
EventQueue | yes | Native GiveInputStreamToGrx()does not seem to be implemented in c-code | Java 1.3 adds a number of new functions not yet implemented | ||
FileDialog | yes | Source code does not contain any functions, only a constructor that maps to super class 'dialog' | Extends class 'dialog' which isn't implemented either | ||
(EventDispatchThread) | NO | Declared public although not mentioned in the java
1.2 specs
Is no longer used and can be deleted =>Dries |
|||
FlowLayout | yes | yes | Visualtests : Font.SetFont2 , Font.SetFont3 , layout.Flowlayout , layout.NoLayout, layout.FlowLayoutHorizontal, layout.FlowLayoutPositions | (also supports definitions LEADING and TRAILING although only used since java 1.3) | |
Font | yes | yes | Mauve test :Font.FontTest
Visualtests: Font.BaseLine , Font.SetFont , Font.SetFont2 , Font.SetFont3 , Graphics.DrawString , Graphics.DrawString2 |
(lots of new functions in java 1.3) | |
FontMetrics | yes | Class should be public abstract, but is a full public class
otherwise all OK |
(FontMetrics functions are implicitly tested as main functions behind the visualisation and drawing algorithms of classes List and TextArea) | ||
Frame | yes | Various functions are not implemented | Frame.FrameShowTest | At present, a Frame is nothing but a Window with a <Title>-string that can be set and retrieved (but as there is no title bar, is not shown) | |
GradientPaint | NO | ||||
Graphics | yes | Class should be public abstract, but is a full public class
several functions not implemented |
Mauve tests: Image.ImageTest ,
Image.ImageTestJDK
Visualtests:
|
||
Graphics2D | NO | ||||
GraphicsConfigTemplate | NO | ||||
GraphicsConfiguration | NO | ||||
GraphicsDevice | NO | ||||
GraphicsEnvironment | NO | ||||
GridBagConstraints | yes | ? | GridbagLayout.LunaticLayout, GridbagLayout.DynamicLayout, GridbagLayout.GridBagSizes, GridbagLayout.GridBagWeights, GridBagLayout.GridWidth | ||
GridBagLayout | yes | ? | GridbagLayout.LunaticLayout, GridbagLayout.DynamicLayout, GridbagLayout.GridBagSizes, GridbagLayout.GridBagWeights, GridBagLayout.GridWidth , GridBagLayout.DevidedWidth , GridBagLayout.MinimumSizeBorder, GridBagLayout.MinimumSizeFlow , GridBagLayout.MinimumSizeGrid | ||
GridLayout | yes | yes | Visualtests : Font.SetFont3, Layout.NoLayout, layout.GridLayout, layout.GridLayoutHorizontal, layout.GridLayoutPositions | (Also sports a public function maximumLayoutSize() that isn't mentioned in neither java 1.2 nor 1.3) | |
Image | yes | Not implemented are:
-> getSource(), flush() -> getProperty() ->getScaledInstance() Not compliant to specs:
|
Mauve tests: Image.ImageTest ,
Image.ImageTestJDK
VisualTest: Component.CreateImage , Graphics.DriveCar , Graphics.DottedText , Graphics.DrawImage , Image.DrawIcon , Image.DisplayPNG |
||
Insets | yes | ||||
Label | yes | AddNotify is declared native but native code is never implemented | VisualTest: Color.ColorInheritance , Font.SetFont , Graphics.DrawString2 , misc.MemoryCorruption | Constructor Label(String text, int alignment) throws an Exception when the alinment not equals LEFT, CENTER or RIGHT, What to do in that case is not defined in any handbook, but an exception isn't mentioned either. The specs just state that <in case no alignment is specified, it shoule be left> | |
List | yes | (No key scrolling) | VisualTest: Color.ColorInheritance
, Graphics.DrawString2
List.SingleListTest , List.MultipleListTest , List.ReplaceListTest, event.ActionEventTest , event.ItemEventTest |
||
MediaTracker | yes | Function stubs are defined native, but no function is implemented | |||
Menu | yes | Function stubs are defined native, but no function is implemented | Menus are designed to be inserted in a MenuBar of a frame whereas Rudolph doesn't support frame bars | ||
MenuBar | yes | Function stubs are defined native, but no function is implemented | Menubar relies on the toolbar of a frame, whereas Rudolph doesn't support frame bars | ||
MenuComponent | yes | Function stubs are defined native, but no function is implemented | Superclass for MenuBar and MenuItem (see there) | ||
MenuItem | yes | Function stubs are defined native, but no function is implemented | MenuItems are designed to be inserted into an(equally nonsupported) menu | ||
MenuShortcut | yes | No function of the class is implemented, even no stubs are provided | Needs menu's and keyboard input ; both not supported yet | ||
Panel | yes | AddNotify() not implemented. | Mauve tests: Component.ComponentTest
, Image.ImageTest , Image.ImageTestJDK
VisualTest: Color.ColorInheritance , event.MouseCoordinates , event.MouseMotions , Font.SetFont , Graphics.DrawString2 , Image.DrawIcon |
(a panel is nothing but a container that also is a component, hence can be added to another container. The Panel class only consists out of two constructors and a peer addNotify() ) | |
Point | yes | Hashcode() is not implemented, otherwise, all is OK | |||
Polygon | yes | yes | VisualTests: Graphics.ClipPoly | ||
PopupMenu | yes | Function stubs are defined native, but no function is implemented | Extends menu (not implemented) | ||
PrintJob | NO | ||||
Rectangle | yes | No function hashCode provided
otherwise all OK |
Rectangle.RectangleContains , Rectangle.RectangleIntersects | ||
RenderingHints | NO | ||||
RenderingHints.Key | NO | ||||
Scrollbar | yes | yes | VisualTest: Color.ColorInheritance , Scrollbar.ScrollbarTest , event.AdjustmentEventTest | ||
ScrollPane | NO | VisualTest: ScrollPane.ScrollActionEvent, -.ScrollMouseEvent, -.ScrollbarDisplay, -.ScrollPaneTest1, -.ScrollPaneTest2 | |||
SystemColor | yes | yes | VisualTest: SystemColor.SystemColors | ||
TextArea | yes | No key scrolling,
No text changing using keyboard |
VisualTest: Color.ColorInheritance
, Font.SetFont , Graphics.DrawString2
TextArea.TextAreaBothFixed , TextAreaBothVariable , TextAreaHorizontalFixed , TextAreaHorizontalVariable , TextAreaVerticalFixed , TextAreaVerticalVariable , TextAreaNoBarsFixed and TextAreaNoBarsVariable |
Full keyboard support, yet no copy-paste | |
TextComponent | yes | RemoveNotify not implemented,
otherwise all ok |
Full keyboard support, yet no copy-paste | ||
TextField | yes | no keyboard actions implemented | VisualTest: Color.ColorInheritance , Font.SetFont , Graphics.DrawString2 , event.ActionEventTest , event.TextEventTest | Full keyboard support, yet no copy-paste | |
TexturePaint | NO | ||||
Toolkit | yes | Apart of getImage() and createImage() no functions implemented | Visualtests: Graphics.DriveCar , Graphics.DottedText | GetImage uses getDefaultToolkit(), equaly not implemented | |
Window | yes | working.... | VisualTests: PackBorderLayoutTest , PackSizeTest , ShowWindowTest , WindowLocationTest , WindowTest1, WindowVisibleTest, Window.WindowUpdate |
Exceptions | Available | Complete | Available tests | results | remarks |
---|---|---|---|---|---|
AWTException | NO | ||||
IllegalComponentStateException | NO |
Errors | Available | Complete | Available tests | results | remarks |
---|---|---|---|---|---|
AWTError | Yes | yes |
(*) Note: the visualTest names apply to the file names as presented in the VisualTest root directory
<open-wonka/tools/visualtest/java/com/acunia/wonka/test/awt>
(the directory of VisualTestEngine.java and vte.properties ) Likewise the
full classpath of the tests has to be extended by <com.acunia.wonka.test.awt>
: the classpath of VisualTestEngine.java . Ergo '.../Color/ColorInheritance'
applies to the test class 'com.acunia.wonka.test.awt.Color.ColorInheritance'
specified in the file 'open-wonka/tools/visualtest/java/com/acunia/wonka/Color/ColorInhreitance.java'
Package Java.awt.color | |||||
---|---|---|---|---|---|
Classes | Available | Complete | Available tests | results | remarks |
ColorSpace | NO | ||||
ICC_ColorSpace | NO | ||||
ICC_Profile | NO | ||||
ICC_ProfileGray | NO | ||||
ICC_ProfileRGB | NO |
Exceptions | Available | Complete | Available tests | results | remarks |
---|---|---|---|---|---|
CMMException | NO | ||||
ProfileDataException | NO |
Package Java.awt.datatransfer | |||||
---|---|---|---|---|---|
Interfaces | Available | Complete | Available tests | results | remarks |
ClipboardOwner | NO | ||||
FlavorMap | NO | ||||
Transferable | NO |
Classes | Available | Complete | Available tests | results | remarks |
---|---|---|---|---|---|
Clipboard | NO | ||||
DataFlavor | NO | ||||
StringSelection | NO | ||||
SystemFlavorMap | NO |
Exceptions | Available | Complete | Available tests | results | remarks |
---|---|---|---|---|---|
UnsupportedFlavorException | NO |
Package Java.awt.dnd | |||||
---|---|---|---|---|---|
Interfaces | Available | Complete | Available tests | results | remarks |
Autoscroll | NO | (Designed for a strictly embedded | environment, Wonka does not | support |
drag
and drop)
|
DragGestureListener | NO |
id.
|
id.
|
id.
|
id.
|
DragSourceListener | NO |
id.
|
id.
|
id.
|
id.
|
DropTargetListener | NO |
id.
|
id.
|
id.
|
id.
|
Classes | Available | Complete | Available tests | results | remarks |
---|---|---|---|---|---|
DnDConstants | NO | (Designed for a strictly embedded | environment, Wonka does not | support | drag and drop) |
DragGestureEvent | NO |
id.
|
id.
|
id.
|
id.
|
DragGestureRecognizer | NO |
id.
|
id.
|
id.
|
id.
|
DragSource | NO |
id.
|
id.
|
id.
|
id.
|
DragSourceContext | NO |
id.
|
id.
|
id.
|
id.
|
DragSourceDragEvent | NO |
id.
|
id.
|
id.
|
id.
|
DragSourceDropEvent | NO |
id.
|
id.
|
id.
|
id.
|
DragSourceEvent | NO |
id.
|
id.
|
id.
|
id.
|
DropTarget | NO |
id.
|
id.
|
id.
|
id.
|
DropTarget.DropTargetAutoScroller | NO |
id.
|
id.
|
id.
|
id.
|
DropTargetContext | NO |
id.
|
id.
|
id.
|
id.
|
DropTargetDragEvent | NO |
id.
|
id.
|
id.
|
id.
|
DropTargetDropEvent | NO |
id.
|
id.
|
id.
|
id.
|
DropTargetEvent | NO |
id.
|
id.
|
id.
|
id.
|
MouseDragGestureRecognizer | NO |
id.
|
id.
|
id.
|
id.
|
Exceptions | Available | Complete | Available tests | results | remarks |
---|---|---|---|---|---|
InvalidDnDOperationException | NO | (Designed for a strictly embedded | environment, Wonka does not | support | drag and drop) |
Package Java.awt.event | |||||
---|---|---|---|---|---|
Interfaces | Available | Complete | Available tests | results | remarks |
ActionListener | Yes | yes | (Interfaces are tested through | the | classes that implement them) |
AdjustmentListener | Yes | yes |
|
|
|
AWTEventListener | NO |
|
|||
ComponentListener | Yes | yes |
|
|
|
ContainerListener | Yes | yes |
|
|
|
FocusListener | Yes | yes |
|
|
|
InputMethodListener | NO |
|
|||
ItemListener | Yes | yes |
|
|
|
KeyListener | Yes | yes |
|
|
|
MouseListener | Yes | yes |
(event.MouseEventTest , event.MouseListenerTest , event.MouseListenerCrossed , event.MouseListenerOverride , event.MouseMotionListenerTest) |
|
|
MouseMotionListener | Yes | yes |
(event.MouseListenerTest , event.MouseListenerCrossed , event.MouseMotionListenerTest) |
|
|
TextListener | Yes | yes |
|
|
|
WindowListener | Yes | yes |
|
|
|
Classes | Available | Complete | Available tests | results | remarks |
---|---|---|---|---|---|
ActionEvent | Yes | yes | Button.ActionCommandTest , event.ActionEventTest | Moddifiers are completely implemented, but with Wonka not supporting keyboards, are never called upon | |
AdjustmentEvent | Yes | yes | event.AdjustmentEventTest | ||
ComponentAdapter | Yes | yes | (Adapters only provide empty functions for the adapted interface, therefore, nothing to test) | ||
ComponentEvent | Yes | yes | (The event is completely coded, but there is no action ever throwing a ComponentEvent in Wonka yet) | ||
ContainerAdapter | Yes | yes | (Adapters only provide empty functions for the adapted interface, therefore, nothing to test) | ||
ContainerEvent | Yes | yes | event.ContainerEventTest | The event is completely coded, but there is no action ever throwing a ContainerEvent in Wonka yet) | |
FocusAdapter | Yes | (Adapters only provide empty functions for the adapted interface, therefore, nothing to test) | |||
FocusEvent | Yes | yes | event.FocusEventTest, (event.KeyeventTest ) | ||
InputEvent | Yes | yes | (InputEvent serves as a virtual base class for MouseEvent and KeyEvent and is tested through them) | ||
InputMethodEvent | NO | (No description availabe except for the Sun SDK onine tutorial) | |||
InvocationEvent | NO | ||||
ItemEvent | Yes | yes | Checkbox.CheckboxTest , event.ItemEventTest | ||
KeyAdapter | Yes | yes | (Adapters only provide empty functions for the adapted interface, therefore, nothing to test) | ||
KeyEvent | Yes | yes | event.KeyeventTest , event.KeyMulticastTest | ||
MouseAdapter | Yes | yes | (Adapters only provide empty functions for the adapted interface, therefore, nothing to test) | ||
MouseEvent | Yes | yes | VisualTests: Component.ComponentMouse , event.MouseCoordinates , event.MouseMotions , event.MouseEventTest , event.MouseListenerTest , event.MouseListenerCrossed , event.MouseListenerOverride | IsPopupTrigger() applies to popup menus, not yet implemented | |
MouseMotionAdapter | Yes | yes | (Adapters only provide empty functions for the adapted interface, therefore, nothing to test) | ||
PaintEvent | NO | Used only internally for mapping between main and peer drawing functions. | |||
TextEvent | Yes | yes | |||
WindowAdapter | Yes | yes | (Adapters only provide empty functions for the adapted interface, therefore, nothing to test) | ||
WindowEvent | Yes | yes | event.WindowEventTest, event.WindowMulticastTest | The event is completely coded, but there is no action ever throwing a WindowEvent in Wonka yet) |
(*) Note: the visualTest names apply to the file names as presented in the VisualTest root directory
<open-wonka/tools/visualtest/java/com/acunia/wonka/test/awt>
(the directory of VisualTestEngine.java and vte.properties ) Likewise the
full classpath of the tests has to be extended by <com.acunia.wonka.test.awt>
: the classpath of VisualTestEngine.java . Ergo '.../Color/ColorInheritance'
applies to the test class 'com.acunia.wonka.test.awt.Color.ColorInheritance'
specified in the file 'open-wonka/tools/visualtest/java/com/acunia/wonka/Color/ColorInhreitance.java'
Package Java.awt.font | |||||
---|---|---|---|---|---|
Interfaces | Available | Complete | Available tests | results | remarks |
MultipleMaster | NO | ||||
OpenType | NO |
Classes | Available | Complete | Available tests | results | remarks |
---|---|---|---|---|---|
FontRenderContext | NO | ||||
GlyphJustificationInfo | NO | ||||
GlyphMetrics | NO | ||||
GlyphVector | NO | ||||
GraphicAttribute | NO | ||||
ImageGraphicAttribute | NO | ||||
LineBreakMeasurer | NO | ||||
LineMetrics | NO | ||||
ShapeGraphicAttribute | NO | ||||
TextAttribute | NO | ||||
TextHitInfo | NO | ||||
TextLayout | NO | ||||
TextLayout.CaretPolicy | NO | ||||
TextLine.TextLineMetrics | NO | ||||
TransformAttribute | NO |
Package Java.awt.geom | |||||
---|---|---|---|---|---|
Interfaces | Available | Complete | Available tests | results | remarks |
PathIterator |
Classes | Available | Complete | Available tests | results | remarks |
---|---|---|---|---|---|
AffineTransform | NO | ||||
Arc2D | NO | ||||
Arc2D.Double | NO | ||||
Arc2D.Float | NO | ||||
Area | NO | ||||
CubicCurve2D | NO | ||||
CubicCurve2D.Double | NO | ||||
CubicCurve2D.Float | NO | ||||
Dimension2D | NO | ||||
Ellipse2D | NO | ||||
Ellipse2D.Double | NO | ||||
Ellipse2D.Float | NO | ||||
FlatteningPathIterator | NO | ||||
GeneralPath | NO | ||||
Line2D | NO | ||||
Line2D.Double | NO | ||||
Line2D.Float | NO | ||||
Point2D | NO | ||||
Point2D.Double | NO | ||||
Point2D | NO | ||||
QuadCurve2D | NO | ||||
QuadCurve2D.Double | NO | ||||
QuadCurve2D.Float | NO | ||||
Rectangle2D | NO | ||||
Rectangle2D.Double | NO | ||||
Rectangle2D.Float | NO | ||||
RectangularShape | NO | ||||
RoundRectangle2D | NO | ||||
RoundRectangle2D.Double | NO | ||||
RoundRectangle2D.Float | NO |
Exceptions | Available | Complete | Available tests | results | remarks |
---|---|---|---|---|---|
IllegalPathStateException | NO | ||||
NoninvertibleTransformException | NO |
Package Java.awt.im | |||||
---|---|---|---|---|---|
Interfaces | Available | Complete | Available tests | results | remarks |
InputMethodRequests | NO | (No description availabe except for the Sun SDK onine tutorial) |
Classes | Available | Complete | Available tests | results | remarks |
---|---|---|---|---|---|
InputContext | NO | ||||
InputMethodHighlight | NO | ||||
InputSubset | NO |
Exceptions | Available | Complete | Available tests | results | remarks |
---|---|---|---|---|---|
ImagingOpException | NO | ||||
RasterFormatException | NO |
Package Java.awt.image.renderable | |||||
---|---|---|---|---|---|
Interfaces | Available | Complete | Available tests | results | remarks |
ContextualRenderedImageFactory | NO | ||||
RenderableImage | NO | ||||
RenderedImageFactory | NO |
Classes | Available | Complete | Available tests | results | remarks |
---|---|---|---|---|---|
ParameterBlock | NO | ||||
RenderableImageOp | NO | ||||
RenderableImageProducer | NO | ||||
RenderContext | NO |
Package Java.awt.print | |||||
---|---|---|---|---|---|
Interfaces | Available | Complete | Available tests | results | remarks |
Pageable | NO | (As an engine for virtual devices, | Wonka is not designed to support | printing | yet) |
Printable | NO | ||||
PrinterGraphics | NO |
Classes | Available | Complete | Available tests | results | remarks |
---|---|---|---|---|---|
Book | NO | (As an engine for virtual devices, | Wonka is not designed to support | printing | yet) |
PageFormat | NO | ||||
Paper | NO | ||||
PrinterJob | NO |
Exceptions | Available | Complete | Available tests | results | remarks |
---|---|---|---|---|---|
PrinterAbortException | NO | (As an engine for virtual devices, | Wonka is not designed to support | printing | yet) |
PrinterException | NO | ||||
PrinterIOException | NO |
VisualTestEngine test: (*) | Tests: | Classes involved | results | remarks |
---|---|---|---|---|
Button.ActionCommandTest | -Button.setActionCommand(), Button.getActionCommand() and actioncommand member of Button-thrown ActionEvent | - Button
- ActionEvent; |
||
Checkbox.CheckboxTest | -Checkbox,
- grouping checkboxes in a CheckboxGroup -Checkbox-thrown ItemEvents |
- Checkbox, CheckboxGroup
- ItemEvent |
||
|
- Choice: display of the drop-down list
- Choice: adding and deleting of components |
- Choice | ||
Color.ColorInheritance | -Component.setForeground(), setBackground(). GetForeground(),
getBackground()
- overwrites of these for all conponent subclasses |
- Component,
- TextArea, Button, Label , TextField, List, Checkbox and Scrollbar , - Panel |
||
|
Hue-saturation-brightness color definition,
Color.getHSBCcolor(), Color.HSBtoRGB() and RGBtoHSB() |
- Color | ||
Color.StandardColors | 13 defined static Color values of Color | - Color | ||
Component.ComponentMouse | Mouse behavior in a component, detection of mouse position and mouse events | - Component ,
- MouseEvent (Component implementation of interfaces MouseListener, MouseMotionListener) |
||
Component.ComponentRepaint | Repainting of a component as opposed to a Container | Component | ||
(Component.ComponentRepaint2) | (Deprecated) | |||
Component.ComponentType | Building own subclass of component,
Threads |
- Component | ||
Component.CreateImage | Threads & double buffering
Component.CreateImage |
- Component
- Image |
||
|
Component.paint(Graphics) triggered by system opposed to Component.update(Graphics) triggered by calls to Component.repaint() | - Component
- Graphics |
- Designed for full-screen embedded applications, Wonka has no notion
of repainting when the current application window is minimized, maximized
or overlayed by another. Instead it popps up the complete screen from virtual
memory
- On Sun SDK, there is a strange case where an inner component derived from Component responds to a call to repaint() by calling update while an inner component derived from an external class PaintComponent always throws a call to paint() . |
|
|
Triggering of update() with graphics painting boundaries through the repaint(x,y,w,h) function; parsing of the repaint() boundaries (x,y,w,h) to Graphics.getClipBounds() | - Component
- Graphics |
Component.repaint(bounds) does not yet pass the bounds to Graphics.getClipBounds() | |
|
Triggering of paint() and update() by calls to setBackground(), inheriting of the background to the child components | - Component
- Graphics - Container |
Component.setBackground() (actually Container.setBackground() ) does not pass the new background color to its child components yet |
|
|
behavior of default Component.paint() and Component.update when not overridden by specific painting commands | - Component
- Graphics |
||
event.ActionEventTest | -Throwing of ActionEvents by Buttons, TextFields, Lists
and other ActionListener interfaces
- Correct data of the ActionEvents thrown -subscribing to Actionevents - ActionEvent data functions |
- Button,TextField,
List
- ActionListener - ActionEvent - Component
|
||
event.ActionMulticastTest | - Throwing of ActionEvents to multiple recipients through
the AWTEventMulticaster
-subscribing to ActionEvents through Component AddActionListener/ RemoveActionListener
|
- Component
- AWTEventMulticaster |
||
event.AdjustmentEventTest | -Throwing of AdjustmentEvents by Adjustmentlistener implementing
Scrollbar
- Correct data of the AdjustmentEvents thrown -subscribing to AdjustmentEvents - AdjustmentEvent data functions |
- Scrollbar
- AdjustmentListener - AdjustmentEvent - Component |
||
event.AdjustmentMulticastTest | - Throwing of AdjustmentEvents to multiple recipients through
the AWTEventMulticaster
-subscribing to AdjustmentEvents through Component AddAdjustmentListener/ RemoveAdjustmentListener
|
- Component
- AWTEventMulticaster |
||
event.ContainerEventTest | -Throwing of ContainerEvents by adding and removing components
to/from various containers
- implementation of the functions ContainerListener.componentAdded() and -.componentRemoved() - Correct data of the ContainerEvents thrown |
-Container
-ContainerListener -ContainerEvent
|
||
event.ContainerMulticastTest | - Throwing of ContainerEvents to multiple recipients through
the AWTEventMulticaster
-subscribing to ContainerEvents through Component AddContainerListener/ RemoveContainerListener |
-Container
-AWTEventMulticaster |
||
event.FocusEventTest | -Throwing of FocusEvents by Components (Buttons)
- Correct data of the FocusEvents thrown - Gaining of focus on activation of the component, loosing of focus on selection of another component - Component functions requestFocus() and transferFocus() - Transferring focus to next 'free' component through isFocusTraversable() - Transferring focus through the tab-key |
-Component
-(Button) -FocusListener -FocusEvent |
- Most of the functions tested (the focus gaining and transferring
system) are actually tests on the right behavoir of the Component class
- Component.requestFocus() and Component.transferFocus() are not yet impemented - Focus transfer through tab-key is not yet impemented - Difference between Sun and Wonka: in Wonka, a component clicked automatically gains focus. In sun, this is reserved for higher components such as Buttons, Lists etc |
|
event.FocusMulticastTest | - Throwing of FocusEvents to multiple recipients through
the AWTEventMulticaster
-subscribing to FocusEvents through Component AddFocusListener/ RemoveFocusListener |
- Component
-AWTEventMulticaster |
||
event.ItemEventTest | -Throwing of ItemEvents by Checkboxes, (single or grouped
in a CheckboxGroup), Lists and other ItemListener interfaces
- Correct data of the ItemEvents thrown -subscribing to ItemEvents - ItemEvent data functions |
- Checkbox, CheckboxGroup
and
List
- ItemListener - ItemEvent - Component
|
(The class <Choice> also throwing an Itemevent is not covered in this test as it is not yet implemented in Wonka) | |
event.ItemMulticastTest | - Throwing of KeyEvents to multiple recipients through
the AWTEventMulticaster
-subscribing to KeyEvents through Component AddKeyListener/ RemoveKeyListener
|
- Component
- AWTEventMulticaster |
||
|
-Throwing of KeyEvents through the system to the component currently
having focus
- Correct data of the KeyEvents thrown -subscribing to KeyEvents - KeyEvent data functions |
- Component
- KeyListener - Keyevent - (FocusListener) |
- When typing a modifyer key (shift, alt, ctrl) the key listener keeps the last character typed as getKeyChar() and dispayt this char with the given modifier | |
|
- Throwing of ItemEvents to multiple recipients through the AWTEventMulticaster
-subscribing to ItemEvents through Component AddItemListener/ RemoveItemListener |
- Component
- AWTEventMulticaster |
-Difference with Sun: Wonka makes every Component active when clicked. Ssun only does for higher components and disregards Component, Container, Canvas, Panel | |
event.TextEventTest | -Throwing of TextEvents by TextFields TextAreas (both TextListener
interfaces)
- Correct data of the TextEvents thrown -subscribing to TextEvents - TextEvent data functions |
- TextField, TextArea
- TextListener - TextEvent - Component
|
||
event.TextMulticastTest | - Throwing of TextEvents to multiple recipients through
the AWTEventMulticaster
-subscribing to TextEvents through Component AddTextListener/ RemoveTextListener |
- Component
- AWTEventMulticaster |
||
|
- Throwing of WindowEvents by Windows (WindowListener interfaces)
- Correct data of the WindowEvents thrown - WindowEvent data functions |
- Window
- WindowListener - WindowEvent |
||
|
- Throwing of WindowEvents to multiple recipients through the AWTEventMulticaster
-Subscribing to WindowEvents, unsubscribing from WindowEvents using Component.AddWindowListener() and removeWindowListener() |
- Component
- AWTEventMulticaster |
||
event.MouseEventTest | -Throwing of MouseEvents by Components and derived (MouseListener
interfaces)
- Correct data of the MouseEvents thrown -subscribing to MouseEvents - MouseEvent data functions |
- Component
- MouseListener - MouseEvent |
||
event.MouseListenerTest | - subscribing MouseListeners and MouseMotionListeners to multiple recipients, | - MouseListener, MouseMotionListener
- (Component ) - MouseEvent |
||
event.MouseListenerCrossed | - subscribing MouseListeners and MouseMotionListeners to other recipients then the event-throwing component | - MouseListener, MouseMotionListener
- (Component ) - MouseEvent, |
||
event.MouseListenerOverride | - catching and overriding of MouseEvents | - MouseListener,
- (Component ) - MouseEvent |
||
event.MouseMotionListenerTest | -Throwing of MouseEvents by Components and derived (MouseMotionListener
interfaces)
- Correct data of the MouseEvents thrown -subscribing to MouseEvents through a MouseMotionListener - MouseEvent data functions |
- MouseListener, MouseMotionListener
- (Component ) - MouseEvent |
||
event.MouseCoordinates | Mouse behavior in a Panel, detection of mouse position and mouse events | - (Component )
- Panel, - MouseEvent (Panel implementation of interfaces MouseListener, MouseMotionListener) |
Panel reacts much quicker to mouse events then ComponentMouse test (see there) | |
event.MouseMotions | id | id | id | |
Font.BaseLine | Font and Graphics.drawString functies | - Font
- Graphics |
||
Font.SetFont | Changes the Font of a Panel /Label /Button /checkBox /TextField /TextArea, (tests Component. setFont() for all of these component subclasses) | - Font, FontMetrics
- Panel, - Label, Button, CheckBox, TextField, List and TextArea, |
||
Font.SetFont2 | Tests the size calculation of a button regarding its text and the layout of the buttons in a BorderLayout and along a FlowLayout | - Component,
- Font - FlowLayout, Borderlayout - Button |
The text was designed to do the layout tests not only with Buttons but also with TextAreas and Lists, (possibly also all other Component subclasses) but that part is not implemented yet | |
Font.SetFont3 | Tests the size calculation of a button regarding its text and the layout of the buttons in a BorderLayout , FlowLayout and GridLayout with rescaling the font dynamically | - Component,
- Font - FlowLayout, Borderlayout and GridLayout , - Button |
||
|
Shows tow Frame instances. buttons allow to move them over each other, bring them to back and to front | - Frame
- (Window) |
At present, a Frame is nothing but a one-to-one instance of Window. It doesn't have a title bar, nor does it allow dragging. Disregarding testing to drag the frame, no specific functions are tested that aren't tested in the Window class yet | |
Graphics.CopyArea | Graphics.copyArea() | - Graphics | ||
Graphics.CopyAreaObscured | Graphics.copyArea() | - Graphics | ??? | |
Graphics.DriveCar | Build an Image out of data using getDefaultToolkit() and
createImage() ,
Show this image running over the screen, using double buffering |
- Canvas(Component),
- Graphics, - Image, - Toolkit, - (Thread) |
||
Graphics.DottedText | Builds a proper subclass of Canvas using double buffering and shows this on the screen | - Canvas(Component),
- Graphics, - Image, - Toolkit, - (Thread) |
||
Graphics.DrawColor | Initialises and builds 'all colors of the rainbow' | - Colors,
- Graphics |
||
Graphics.DrawImage | Builds an Image instance, splits it in 8 different parts and draws the parts using the extended Graphics.drawImage(image, source rectangle -> destination rect) | - Image
- Graphics - (Thread) |
||
|
Uses the various forms of Graphics.drawImage() to draw an image in original size and scaled | - Graphics | ||
Graphics.DrawLine | Graphics.drawLine() in Panel and in special derived Button | - Graphics | ||
Graphics.DrawRect | Tests the correct behavior of Graphics.drawRect regarding the outermost left and bottom lines | - Graphics | ||
Graphics.DrawOffset | DEPRECATED | |||
Graphics.DrawOffset2 | DEPRECATED | |||
Graphics.DrawOval | Tests Graphics.DrawOval | At present, drawOval can only be used to draw circles | ||
Graphics.DrawPoly | Draw a series of (outlined) polygons and move them over the screen | - Graphics
- (Thread) |
(allthough the function draws poligon images, it does not use the Polygon class, but uses the Graphics.drawPolygon(int[]x, int[]y) function | |
Graphics.FillPoly | Draws a polygon image out of a series of connected lines and fills them | - Graphics,
- MouseEvent, - (Component implementations of interfaces MouseListener, MouseMotionListener) |
id | |
Graphics.ClipPoly | Move a filled polygon along the screen and watch its clipping performance | - Polygon | This function finaly uses the Polygon class to define the image and to draw it in Graphics.drawPolygon( Polygon p) and Graphics.fillPolygon( Polygon p) | |
Graphics.DrawString | Tests Graphics.setFont, and Graphics.drawString for different fonts | - Font | ||
Graphics.DrawString2 | Draws a String in several Component fields:Panel, Label,button etc... for texts with newline characters, tabs or length exceeding the component's text space | - Panel (Component),
- Font - TextArea, Button, Label, TextField and List, |
Strictly this should be a test in the Component's directory instead of the Graphic's | |
Graphics.DrawStringClipped | For a Canvas, Button, Image, draw String partly outside of the component's 'screen' | - Graphics,
- Font |
||
Graphics.PanelButton | Paint() and Update() overwrite on Buttons | - Component,
- Button - (Graphics* ) |
|
|
|
Shows the classical 'lunatic layout' from the java class libraries with its Components either filled Horizontally, verticaly, both ore none | - GridBagLayout,
- GridBagConstraints |
||
|
Shows the division of free widths in a layout with elements of various preferred widths | - GridBagLayout,
- GridBagConstraints |
||
|
Shows the division of free widths in a layout with elements that have been given different weights | - GridBagLayout,
- GridBagConstraints |
||
|
Test on width and remainder of GridBagLayout | - GridBagLayout,
- GridBagConstraints |
||
|
Shows the GridbagLayout policy on calculating the weights of the layout's rows and columns out of the weights of the layout's components. In this special case when components are severa rows or columns wide | - GridBagLayout,
- GridBagConstraints |
||
|
Shows the classical 'lunatic layout' from the java class libraries. Clicking on an element of a layout shows that layout' GridBagConstraints | - GridBagLayout,
- GridBagConstraints |
||
|
A GridBagLayout is made out of three basic components in a row. Then
this layout is added to the NORTH, SOUTH, EAST and WEST components of a
BorderLayout. The optimal size of the GridBagLayout component is
calculated out of its element sizes and returned in respectingly a Component.getMinimum
Size, getMaximumSize getPreferredSize function or not returned at all. The aim of this test is to show the differenc in sizes berween the different size definitions |
- GridBagLayout,
- BorderLayout, - Component .getMinimumSize, .getMaximumSize and .getPreferredSize |
Strictly this test belongs to the general layout tests | |
|
As above, but this time the GridBagLayout is added in a FlowLayout panel | - GridBagLayout,
- FlowLayout, - Component.getMinimumSize, .getMaximumSize and .getPreferredSize |
id. | |
|
As above, but this time the GridBagLayout is added in a 1x4 GridLayout Panel | - GridBagLayout,
- GridLayout, - Component.getMinimumSize, .getMaximumSize and .getPreferredSize |
id, | |
|
Test of the filter transformation using a combination of scale filters, RGB filters and ImageFilters | - Image,
- ImageFilter - RGBImageFilter, CropImageFilter and ReplicateScaleFilter - ImageProducer and ImageConsumer |
||
|
Test of the Image. CropImageFilter filter transformation | - Image,
- CropImageFilter - ImageProducer and ImageConsumer |
||
|
Use a custom-made ImageFilter to mirror or rotate a given image | - Image,
- ImageFilter - ImageProducer and ImageConsumer |
||
|
Casting of ImageObserver ImageUpdate() calls on loading, building and
displaying (a *.png) Image object from file,
Contents of the ImageObserver data displayed |
- Image
- ImageObserver - Graphics |
||
Image.ImageObserverTest2 | Casting of ImageObserver ImageUpdate() calls on building and displaying a Graphics.CreateImage() buffer Image | - Image
- ImageObserver - Graphics |
||
|
Test of the Image. RGBImageFilter filter transformation | - Image,
- RGBImageFilter - ImageProducer and ImageConsumer |
||
|
Test of the Image. ReplicateScaleFilter filter transformation | - Image,
- ReplicateScaleFilter - ImageProducer and ImageConsumer |
||
Image.DrawIcon | Create an Image from data and display it on a Panel and a Button (Overwriting their Paint() method) | - Panel (component),
- Button, - Image |
||
Image.DisplayPNG | Display of png images of a given directory | - Image
java.io.File (looping through the image directory) |
(deprecated) | |
layout.BorderLayout | Adds or deletes panels in the NORTH, SOUTH, EAST, WEST, CENTER regions of the BorderLayout, checking its layout | - BorderLayout
- Container |
||
layout.BorderLayout2 | As the BorderLayout test above, but with special attention to the sizes of the components added | - BorderLayout,
- Container |
||
|
Adding components to the same location using the Container.add(Component,
location) and Container.add(Component, location, order) functions:
- checking the order in which the components will appear - checking adding two components at the same location |
- BorderLayout,
- Container |
||
|
A borderlayout with different components who's otimal size is returned by respectingly a Component.getMinimumsize, a Component.getMaximumSize, a Component.getPreferredsize or not at all. Only the components with Preferredsize are considered to have a size at all and will be shown | - BorderLayout,
- Component .getMinimumsize, .getMaximumSize, and .getPreferredsize |
||
|
Adding components to a CardLayout using the Container.add(Component, name) and Container.add(Component, name, order) functions to check the order in which the components will appear | - CardLayout,
- Container |
||
|
Adding components to the same name in a CardLayout using the Container.add(Component, name) and Container.add(Component, name, order) functions: | - CardLayout,
- Container |
||
layout.FlowLayout | Adds a number of component to a FlowLayout and tests its appearance on the screen | - FlowLayout
- Container |
(For external release make sure the version you have asks for president Clinton's 'sax' skills instead of his....... ) | |
|
Dynamically allows to add and remove components in a FlowLayout to test the display over several lines when needed. | - FlowLayout
- Container |
||
|
Adding components to a FlowLayout using the Container.add(Component) and Container.add(Component, order) functions to check the order in which the components will appear | - FlowLayout
- Container |
||
|
Adding components to a GridBagLayout using the functions Container.add(Component,constraints) and Container.add(Component, constraints, order) to check the order in which the components will appear. The components are laid out overlapping each other | - GridBagLayout
- Container |
||
|
As above, but this time the components are assigned discrete non-overlapping positions | - GridBagLayout
- Container |
||
|
as above, but this time the components are assigned relative, making the layout dependent of the order the components are added (or the order they are assigned) | - GridBagLayout
- Container |
||
|
As above, but this time the components are assigned stacked on top of each other | - GridBagLayout
- Container |
||
layout.GridLayout | Allows to add panels to a component with GridLayout manager, and to remove them again, thus testing the correct behavior of the manager | - GridLayout
- Container |
||
|
Dynamically adds and removes Components in a one-row GridLayout, checking the dynamic calculation of the layout's columns needed | - GridLayout
- Container |
||
|
Adding components to a GridLayout using the Container.add(Component) and Container.add(Component, order) functions to check the order in which the components will appear | - GridLayout
- Container |
||
layout.NoLayout | Comparing buttons added to a FlowLayout to those added to an(equally spaced) Gridlayout | - FlowLayout
- GridLayout, - Container |
||
List.SingleListTest | List display, detecting, adding and deleting of elements (no multiple mode) | - List | ||
List.MultipleListTest | List display, detecting, adding and deleting of elements (in multiple mode) | - List | ||
|
replacing one element of a List by another | - List | ||
Rectangle.RectangleContains | Rectangle.add(), Rectangle.Contains() | - Rectangle | ||
Rectangle.RectangleIntersects | Rectangle.intersects(), Rectangle.intersection(), Rectangle.union() | - Rectangle | ||
Scrollbar.ScrollbarTest | Synchronizing two scrollbars by applying the scrollbarEvent messages of the one to the other | - Scrollbar | Scrollbar dragging events are terribly slow | |
|
ScrollPane: sending and masking of ActionEvents between pane and inner Panel | - ScrollPane | ||
|
ScrollPane: sending and masking of
MouseEvents between pane and inner Panel |
- ScrollPane | ||
|
ScrollPane: display of inner component, forwarding events to inner component | - ScrollPane | ||
|
ScrollPane: display of inner component, update of inner component | - ScrollPane | ||
ScrollPane.ScrollbarDisplay | Dynamically resizing the ScrollPane: test the appearance of the Pane Scrollbars | - ScrollPane | ||
|
Checks the default system colors in java.awt.SystemColors for your VM. | - SystemColor | ||
TextArea.TextAreaBothFixed | Display and manipulation of Text in TextArea with both horizontal & vertical scrollbar, fixed-width font | - TextArea | ||
TextArea.TextAreaBothVariable | Display and manipulation of Text in TextArea with both horizontal & vertical scrollbar, variable-width font | - TextArea | ||
TextArea.TextAreaHorizontalFixed | Display and manipulation of Text in TextArea with only horizontal scrollbar, fixed-width font | - TextArea | ||
TextArea.TextAreaHorizontalVariable | Display and manipulation of Text in TextArea with only horizontal scrollbar, variable-width font | - TextArea | ||
TextArea.TextAreaVerticalFixed | Display and manipulation of Text in TextArea with only vertical scrollbar, fixed-width font | - TextArea | ||
TextArea.TextAreaVerticalVariable | Display and manipulation of Text in TextArea with only vertical scrollbar, variable-width font | - TextArea | ||
TextArea.TextAreaNoBarsFixed | Display and manipulation of Text in TextArea withtout scrollbars, fixed-width font | - TextArea | ||
TextArea.TextAreaNoBarsVariable | Display and manipulation of Text in TextArea withtout scrollbars, variable-width font | - TextArea | ||
|
Window.pack() and size calculation for Window with BorderLayout | - Window
- BorderLayout |
This test relates to BorderLayout adding and size calculation rather then to Window | |
|
Window.pack() and size calculation for Window with default layout (which is BorderLayout) | - Window
- BorderLayout |
This test relates to BorderLayout adding and size calculation rather then to Window | |
|
Window.setVisible() with Wonka main screen as Window anchor frame | - Window
- vt.getFrame() |
still needs work | Virtual environment vt not available before first paint() |
|
Window.setVisible(), Window painting and redisposing.
Window.SetLocation() and component.getLocationOnScreen() |
- Window
- Component |
getLocationOnScreen doesn't refer to main screen yet | |
|
Building and showing of Window in single component | - Window | ||
|
Testing the calling of Component.paint() and Component.update() for Windows, overlapping Windows, Components that are overlapped by Windows | - Window
- Component |
Wonka has all its windows in virtual memory and thus doesn't need to call paint() whenever Sun JDK does | |
|
|
- Window | ||
misc.MemoryCorruption | Tries to corrupt the screen memory by assigning illegal values to Graphics String, Rectangle and linedraw-functions and to Label components | - Graphics
- Label |
||
misc.MemoryUsage | Plots the available memory | All (*) | This 'test' is designed to be called before and after any of the other tests to check its use of memory and to test if all memory it needed is freed afterwards in a correct way. |
(*) Note: the visualTest names apply to the file names as presented in the VisualTest root directory
<open-wonka/tools/visualtest/java/com/acunia/wonka/test/awt> (the directory of VisualTestEngine.java and vte.properties ) Likewise the full classpath of the tests has to be extended by <com.acunia.wonka.test.awt> : the classpath of VisualTestEngine.java . Ergo '.../Color/ColorInheritance' applies to the test class 'com.acunia.wonka.test.awt.Color.ColorInheritance' specified in the file 'open-wonka/tools/visualtest/java/com/acunia/wonka/Color/ColorInhreitance.java'
(*) Note: the Mauve test names apply to the file names as presented in the Mauve test root directory
<open-wonka/tools/mauve/gnu/testlet/wonka/awt> Likewise the full classpath of the tests has to be extended by <gnu.testlet.wonka.awt>.
Ergo '.../Component/ComponentTest' applies to the test class 'gnu.testlet.wonka.awt.Component.ComponentTest' specified in the file 'open-wonka/tools/mauve/gnu/testlet/wonka/awt/Component/ComponentTest.java'