package com.codeaffine.extras.launch.internal.cleanup;
import static org.assertj.core.api.Assertions.assertThat;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Button;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import com.codeaffine.eclipse.swt.test.util.DisplayHelper;
public class ButtonsTest {
@Rule
public final DisplayHelper displayHelper = new DisplayHelper();
private Button button;
@Before
public void setUp() {
button = new Button( displayHelper.createShell(), SWT.PUSH );
}
@Test
public void testComputePreferredButtonWidth() {
int width = Buttons.computePreferredButtonWidth( button );
assertThat( width ).isGreaterThan( 0 );
}
@Test
public void testComputePreferredButtonWidthForWideButton() {
int emptyWidth = Buttons.computePreferredButtonWidth( button );
button.setText( longText() );
int width = Buttons.computePreferredButtonWidth( button );
assertThat( width ).isGreaterThan( emptyWidth );
}
private static String longText() {
return new String( new char[ 500 ] ).replace( "\0", "X" );
}
}