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