import javax.swing.JMenuItem; //导入方法依赖的package包/类
public void testMenuPushIsNotified() throws Exception {
TestSupport.ChangeableLookup lookup = new TestSupport.ChangeableLookup();
TestLSA tlsa = new TestLSA( lookup );
assertTrue ("TestLSA action is enabled.", tlsa.isEnabled ());
tlsa.refreshCounter = 0;
TestPropertyChangeListener tpcl = new TestPropertyChangeListener();
tlsa.addPropertyChangeListener( tpcl );
lookup.change(d2);
assertEquals( "Refresh should be called once", 1, tlsa.refreshCounter );
assertEquals( "One event should be fired", 1, tpcl.getEvents().size() );
assertTrue("Action is enabled", tlsa.isEnabled());
tlsa.setDisplayName("Jarda");
JMenuItem item = new JMenuItem(tlsa);
item.doClick();
assertEquals("One record logged:\n" + my.recs, 1, my.recs.size());
LogRecord r = my.recs.get(0);
assertEquals("Menu push", "UI_ACTION_BUTTON_PRESS", r.getMessage());
assertEquals("four args", 5, r.getParameters().length);
assertEquals("first is the menu item", item, r.getParameters()[0]);
assertEquals("second is its class", JMenuItem.class.getName(), r.getParameters()[1]);
assertEquals("3rd is action", tlsa, r.getParameters()[2]);
assertEquals("4th its class", tlsa.getClass().getName(), r.getParameters()[3]);
assertEquals("5th name", "Jarda", r.getParameters()[4]);
tlsa.clear();
tpcl.clear();
lookup.change(d3);
assertEquals( "Refresh should be called once", 1, tlsa.refreshCounter );
assertEquals( "One event should be fired", 1, tpcl.getEvents().size() );
}