* Test MetalInternalFrameTitlePane.MetalTitlePaneLayout class
*/
public void testMetalTitlePaneLayout() {
TestMetalInternalFrameTitlePane pane = new TestMetalInternalFrameTitlePane(frame);
pane.setSize(200, 31);
LayoutManager layout = pane.getLayout();
final Rectangle iconButtonBounds = new Rectangle(134, 7, 16, 16);
final Rectangle maximizeButtonBounds = new Rectangle(156, 7, 16, 16);
final Rectangle closeButtonBounds = new Rectangle(178, 7, 16, 16);
// test layoutContainer(): non-iconifiable, non-maximizable, non-closable
layout.layoutContainer(null);
// assertEquals("iconButton", zeroBounds,
// pane.getComponent(0).getBounds());
// assertTrue("maximizeButton", pane.getComponent(1).getBounds().
// equals(zeroBounds));
// assertTrue("closeButton", pane.getComponent(2).getBounds().
// equals(zeroBounds));
// test layoutContainer(): iconifiable, maximizable, closable
frame.setIconifiable(true);
frame.setMaximizable(true);
frame.setClosable(true);
layout.layoutContainer(pane);
if (isHarmony()) {
assertEquals("iconButton", iconButtonBounds, pane.getComponent(0).getBounds());
assertEquals("maximizeButton", maximizeButtonBounds, pane.getComponent(1)
.getBounds());
assertEquals("closeButton", closeButtonBounds, pane.getComponent(2).getBounds());
}
// test layoutContainer(): isPalette == true
pane.setPalette(true);
layout.layoutContainer(null);
// these bounds can be changed in the future
if (isHarmony()) {
assertEquals("palette: closeButton", new Rectangle(189, 11, 8, 8), pane
.getComponent(0).getBounds());
}
// minimumLayoutSize(), preferredLayoutSize() implementations
assertTrue("", layout.minimumLayoutSize(pane) != null);
assertTrue("", layout.preferredLayoutSize(pane) != null);
}