package com.googlecode.gwt.test.deferred; import com.google.gwt.core.client.GWT; import com.googlecode.gwt.test.GwtTestTest; import com.googlecode.gwt.test.deferred.ReplaceWithDefault.ReplaceWithIE; import com.googlecode.gwt.test.deferred.ReplaceWithDefault.ReplaceWithMozilla; import org.junit.Test; import static org.assertj.core.api.Assertions.assertThat; public class CustomDeferredBindingTest extends GwtTestTest { @Test public void create_generateWith() { // When IGenerateWith generated = GWT.create(IGenerateWith.class); // Then assertThat(generated.getClass().getName()).isEqualTo("com.slazzer.MyGeneratedClass"); assertThat(generated.getMessage()).isEqualTo("generated with MyGenerator class"); } @Test public void create_replaceWith_Default() { // When IReplaceWith replaceWith = GWT.create(IReplaceWith.class); // Then assertThat(replaceWith instanceof ReplaceWithDefault).isTrue(); } @Test public void create_replaceWith_gecko() { // Given addClientProperty("user.agent", "gecko"); // When IReplaceWith replaceWith = GWT.create(IReplaceWith.class); // Then assertThat(replaceWith instanceof ReplaceWithMozilla).isTrue(); } @Test public void create_replaceWith_gecko1_8() { // Given addClientProperty("user.agent", "gecko1_8"); // When IReplaceWith replaceWith = GWT.create(IReplaceWith.class); // Then assertThat(replaceWith instanceof ReplaceWithMozilla).isTrue(); } @Test public void create_replaceWith_ie6() { // Given addClientProperty("user.agent", "ie6"); // When IReplaceWith replaceWith = GWT.create(IReplaceWith.class); // Then assertThat(replaceWith instanceof ReplaceWithIE).isTrue(); } @Test public void create_replaceWith_ie8() { // Given addClientProperty("user.agent", "ie8"); // When IReplaceWith replaceWith = GWT.create(IReplaceWith.class); // Then assertThat(replaceWith instanceof ReplaceWithDefault).isTrue(); } }