package com.googlecode.gwt.test;
import com.google.gwt.dom.client.Document;
import com.google.gwt.user.client.Window;
import org.junit.Before;
import org.junit.Test;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@GwtModule("com.googlecode.gwt.test.GwtTestUtils")
public class WindowTest extends GwtTestWithMockito {
@Mock
private WindowOperationsHandler mockedHandler;
@Test
public void alert() {
// When
Window.alert("this is an alert");
// Then
verify(mockedHandler).alert("this is an alert");
}
@Before
public void beforeWindowTest() {
setWindowOperationsHandler(mockedHandler);
}
@Test
public void confirm() {
// Given
when(mockedHandler.confirm("this is a confirmation")).thenReturn(true);
// When
boolean result = Window.confirm("this is a confirmation");
// Then
assertThat(result).isTrue();
}
@Test
public void emptyMethods() {
// When & Then
Window.enableScrolling(true);
Window.moveBy(1, 2);
Window.moveTo(3, 4);
Window.resizeBy(3, 6);
Window.resizeTo(8, 9);
Window.scrollTo(2, 4);
}
@Test
public void margin() {
// Given
Document.get().getBody().setAttribute("style", "");
// When
Window.setMargin("13px");
// Then
assertThat(Document.get().getBody().getStyle().getMargin()).isEqualTo("13px");
assertThat(Document.get().getBody().getAttribute("style")).isEqualTo("margin: 13px; ");
}
@Test
public void open() {
// When
Window.open("url", "name", "features");
// Then
verify(mockedHandler).open("url", "name", "features");
}
@Test
public void print() {
// When
Window.print();
// Then
verify(mockedHandler).print();
}
@Test
public void prompt() {
// Given
when(mockedHandler.prompt("prompt message", "initial value")).thenReturn("mocked message");
// When
String result = Window.prompt("prompt message", "initial value");
// Then
assertThat(result).isEqualTo("mocked message");
}
@Test
public void title() {
// Given
Document.get().setTitle("arranged title");
// When
Window.setTitle("my title");
// Then
assertThat(Window.getTitle()).isEqualTo("my title");
assertThat(Document.get().getTitle()).isEqualTo("my title");
}
}