package org.robolectric.shadows; import android.text.method.PasswordTransformationMethod; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.TestRunners; import static org.assertj.core.api.Assertions.assertThat; @RunWith(TestRunners.MultiApiSelfTest.class) public class ShadowPasswordTransformationMethodTest { private PasswordTransformationMethod transformationMethod; @Before public void setUp(){ transformationMethod = new PasswordTransformationMethod(); } @Test public void shouldMaskInputCharacters(){ CharSequence output = transformationMethod.getTransformation("foobar", null); assertThat(output.toString()).isEqualTo("\u2022\u2022\u2022\u2022\u2022\u2022"); //using the escaped characters for cross platform compatibility. } @Test public void shouldTransformSpacesWithText(){ CharSequence output = transformationMethod.getTransformation(" baz ", null); assertThat(output.toString()).isEqualTo("\u2022\u2022\u2022\u2022\u2022"); } @Test public void shouldTransformSpacesWithoutText(){ CharSequence output = transformationMethod.getTransformation(" ", null); assertThat(output.toString()).isEqualTo("\u2022\u2022\u2022\u2022"); } @Test public void shouldNotTransformBlank(){ CharSequence output = transformationMethod.getTransformation("", null); assertThat(output.toString()).isEqualTo(""); } @Test public void shouldRetrieveAnInstance() { assertThat(PasswordTransformationMethod.getInstance()).isNotNull(); } }