package com.vaadin.tests.server.component.loginform; import java.util.Iterator; import org.junit.Assert; import org.junit.Before; import org.junit.Test; import com.vaadin.tests.util.MockUI; import com.vaadin.ui.Button; import com.vaadin.ui.Component; import com.vaadin.ui.HasComponents; import com.vaadin.ui.LoginForm; import com.vaadin.ui.NativeButton; import com.vaadin.ui.PasswordField; import com.vaadin.ui.TextField; import com.vaadin.ui.UI; public class LoginFormTest { private LoginForm loginForm; @Before public void setup() { loginForm = new LoginForm(); } @Test public void defaultCaptions() { Assert.assertEquals("Username", loginForm.getUsernameCaption()); Assert.assertEquals("Password", loginForm.getPasswordCaption()); Assert.assertEquals("Login", loginForm.getLoginButtonCaption()); } @Test public void changeCaptionsBeforeAttach() { loginForm.setUsernameCaption("u"); loginForm.setPasswordCaption("p"); loginForm.setLoginButtonCaption("l"); Assert.assertEquals("u", loginForm.getUsernameCaption()); Assert.assertEquals("p", loginForm.getPasswordCaption()); Assert.assertEquals("l", loginForm.getLoginButtonCaption()); } @Test public void changeCaptionsAfterAttach() { UI ui = new MockUI(); ui.setContent(loginForm); loginForm.setUsernameCaption("u"); loginForm.setPasswordCaption("p"); loginForm.setLoginButtonCaption("l"); Assert.assertEquals("u", loginForm.getUsernameCaption()); Assert.assertEquals("p", loginForm.getPasswordCaption()); Assert.assertEquals("l", loginForm.getLoginButtonCaption()); } @Test public void changeCaptionsBeforeAndAfterAttach() { loginForm.setUsernameCaption("a"); loginForm.setPasswordCaption("a"); loginForm.setLoginButtonCaption("a"); UI ui = new MockUI(); ui.setContent(loginForm); loginForm.setUsernameCaption("u"); loginForm.setPasswordCaption("p"); loginForm.setLoginButtonCaption("l"); Assert.assertEquals("u", loginForm.getUsernameCaption()); Assert.assertEquals("p", loginForm.getPasswordCaption()); Assert.assertEquals("l", loginForm.getLoginButtonCaption()); } @Test public void customizedFields() { LoginForm customForm = new LoginForm() { @Override protected Button createLoginButton() { return new NativeButton("Do it"); } @Override protected TextField createUsernameField() { TextField tf = new TextField("Username caption"); tf.setPlaceholder("Name goes here"); return tf; } @Override protected PasswordField createPasswordField() { PasswordField pf = new PasswordField("Password caption"); pf.setPlaceholder("Secret goes here"); return pf; } }; UI ui = new MockUI(); ui.setContent(customForm); Iterator<Component> i = ((HasComponents) customForm.iterator().next()) .iterator(); Assert.assertEquals("Username caption", i.next().getCaption()); Assert.assertEquals("Password caption", i.next().getCaption()); Assert.assertEquals("Do it", i.next().getCaption()); } }