1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
|
source("TestHarness.bsh");
/*
Check the visibility of static fields inherited through interfaces.
Basic stuff...
*/
assert( java.awt.image.ImageObserver.HEIGHT == 2 );
io = new java.awt.image.ImageObserver() { };
import java.awt.image.ImageObserver;
assert( ImageObserver.HEIGHT == 2 );
io = new ImageObserver() { };
assert( io instanceof ImageObserver );
// Can we see static fields supplied through interfaces of objects?
assert( io.HEIGHT == 2 );
class MyImageObserver0 implements ImageObserver { }
assert( MyImageObserver0.HEIGHT == 2 );
myio = new MyImageObserver0();
assert( myio.HEIGHT == 2 );
/*
Verify that static constants in interfaces are visible to code that
implements the interface...
Also verify that null args work in these two contexts...
*/
myObserver = new ImageObserver() {
public boolean imageUpdate(
Image image, int flags, int x, int y, int width, int height)
{
assert( image == null );
assert( HEIGHT == ImageObserver.HEIGHT );
return true;
}
};
myObserver.imageUpdate( null, 1, 1, 1, 1, 1 );
class MyImageObserver implements ImageObserver
{
public boolean imageUpdate(
Image image, int flags, int x, int y, int width, int height)
{
assert( image == null );
assert( HEIGHT == ImageObserver.HEIGHT );
return true;
}
};
myObserver = new MyImageObserver();
myObserver.imageUpdate( null, 1, 1, 1, 1, 1 );
complete();
|