Disable signing in SignHereActivity while authorization is in progress
diff --git a/src/main/java/com/xtremelabs/robolectric/Robolectric.java b/src/main/java/com/xtremelabs/robolectric/Robolectric.java
index 03451fa..2c601b9 100644
--- a/src/main/java/com/xtremelabs/robolectric/Robolectric.java
+++ b/src/main/java/com/xtremelabs/robolectric/Robolectric.java
@@ -251,6 +251,7 @@
ShadowResources.class,
ShadowResources.ShadowTheme.class,
ShadowScanResult.class,
+ ShadowScrollView.class,
ShadowSeekBar.class,
ShadowSensorManager.class,
ShadowService.class,
@@ -704,6 +705,10 @@
return (ShadowScanResult) shadowOf_(instance);
}
+ public static ShadowScrollView shadowOf(ScrollView instance) {
+ return (ShadowScrollView) shadowOf_(instance);
+ }
+
public static ShadowSeekBar shadowOf(SeekBar instance) {
return (ShadowSeekBar) shadowOf_(instance);
}
diff --git a/src/main/java/com/xtremelabs/robolectric/ShadowScrollView.java b/src/main/java/com/xtremelabs/robolectric/ShadowScrollView.java
new file mode 100644
index 0000000..3c69d0e
--- /dev/null
+++ b/src/main/java/com/xtremelabs/robolectric/ShadowScrollView.java
@@ -0,0 +1,14 @@
+package com.xtremelabs.robolectric;
+
+import android.widget.ScrollView;
+import com.xtremelabs.robolectric.internal.Implementation;
+import com.xtremelabs.robolectric.internal.Implements;
+import com.xtremelabs.robolectric.shadows.ShadowFrameLayout;
+
+@Implements(ScrollView.class)
+public class ShadowScrollView extends ShadowFrameLayout {
+ @Implementation
+ public void smoothScrollTo(int x, int y) {
+ scrollTo(x, y);
+ }
+}
diff --git a/src/main/java/com/xtremelabs/robolectric/shadows/ShadowView.java b/src/main/java/com/xtremelabs/robolectric/shadows/ShadowView.java
index 6c2bcc2..6d30a60 100644
--- a/src/main/java/com/xtremelabs/robolectric/shadows/ShadowView.java
+++ b/src/main/java/com/xtremelabs/robolectric/shadows/ShadowView.java
@@ -833,4 +833,14 @@
public void scrollTo(int x, int y) {
this.scrollToCoordinates = new Point(x, y);
}
+
+ @Implementation
+ public int getScrollX() {
+ return scrollToCoordinates != null ? scrollToCoordinates.x : 0;
+ }
+
+ @Implementation
+ public int getScrollY() {
+ return scrollToCoordinates != null ? scrollToCoordinates.y : 0;
+ }
}
diff --git a/src/test/java/com/xtremelabs/robolectric/shadows/ScrollViewTest.java b/src/test/java/com/xtremelabs/robolectric/shadows/ScrollViewTest.java
new file mode 100644
index 0000000..99fe1e1
--- /dev/null
+++ b/src/test/java/com/xtremelabs/robolectric/shadows/ScrollViewTest.java
@@ -0,0 +1,20 @@
+package com.xtremelabs.robolectric.shadows;
+
+import android.widget.ScrollView;
+import com.xtremelabs.robolectric.WithTestDefaultsRunner;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import static junit.framework.Assert.assertEquals;
+
+@RunWith(WithTestDefaultsRunner.class)
+public class ScrollViewTest {
+ @Test
+ public void shouldSmoothScrollTo() throws Exception {
+ ScrollView scrollView = new ScrollView(null);
+ scrollView.smoothScrollTo(7, 6);
+
+ assertEquals(7, scrollView.getScrollX());
+ assertEquals(6, scrollView.getScrollY());
+ }
+}
diff --git a/src/test/java/com/xtremelabs/robolectric/shadows/ViewTest.java b/src/test/java/com/xtremelabs/robolectric/shadows/ViewTest.java
index 2ee9f88..781898c 100644
--- a/src/test/java/com/xtremelabs/robolectric/shadows/ViewTest.java
+++ b/src/test/java/com/xtremelabs/robolectric/shadows/ViewTest.java
@@ -10,25 +10,15 @@
import com.xtremelabs.robolectric.R;
import com.xtremelabs.robolectric.Robolectric;
import com.xtremelabs.robolectric.WithTestDefaultsRunner;
-import com.xtremelabs.robolectric.util.TestAnimationListener;
-import com.xtremelabs.robolectric.util.TestOnClickListener;
-import com.xtremelabs.robolectric.util.TestOnLongClickListener;
-import com.xtremelabs.robolectric.util.TestRunnable;
-import com.xtremelabs.robolectric.util.Transcript;
+import com.xtremelabs.robolectric.util.*;
import org.junit.Before;
import org.junit.Test;
-import org.junit.Ignore;
import org.junit.runner.RunWith;
import static com.xtremelabs.robolectric.Robolectric.shadowOf;
-import static org.hamcrest.CoreMatchers.equalTo;
-import static org.hamcrest.CoreMatchers.notNullValue;
-import static org.hamcrest.CoreMatchers.nullValue;
-import static org.hamcrest.CoreMatchers.sameInstance;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotSame;
-import static org.junit.Assert.assertThat;
-import static org.junit.Assert.assertTrue;
+import static junit.framework.Assert.assertEquals;
+import static org.hamcrest.CoreMatchers.*;
+import static org.junit.Assert.*;
@RunWith(WithTestDefaultsRunner.class)
public class ViewTest {
@@ -260,6 +250,20 @@
assertThat(shadowOf(view).scrollToCoordinates, equalTo(new Point(1, 2)));
}
+ @Test
+ public void shouldScrollTo() throws Exception {
+ view.scrollTo(7, 6);
+
+ assertEquals(7, view.getScrollX());
+ assertEquals(6, view.getScrollY());
+ }
+
+ @Test
+ public void shouldGetScrollXAndY() {
+ assertEquals(0, view.getScrollX());
+ assertEquals(0, view.getScrollY());
+ }
+
private class TestAnimation extends Animation {
}
}