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