aboutsummaryrefslogtreecommitdiff
path: root/robolectric
diff options
context:
space:
mode:
authorGoogler <noreply@google.com>2024-02-26 17:18:06 -0800
committerCopybara-Service <copybara-worker@google.com>2024-02-26 17:18:56 -0800
commitb18f8f152007ee6a26cc87f21e56798215471f7d (patch)
tree2993259acda4c1a57c5ae2ca7bdfbf638132951b /robolectric
parent7652f9865fbb6a6b945c352c21715611c01bbf37 (diff)
downloadrobolectric-b18f8f152007ee6a26cc87f21e56798215471f7d.tar.gz
Clone AccessibilityNodeInfo with containerTitle and stateDescription
This change ensures that when AccessibilityNodeInfo objects are cloned within Robolectric tests, the containerTitle and stateDescription properties are correctly copied. This maintains essential contextual information for accessibility testing. PiperOrigin-RevId: 610575066
Diffstat (limited to 'robolectric')
-rw-r--r--robolectric/src/test/java/org/robolectric/shadows/ShadowAccessibilityNodeInfoTest.java26
1 files changed, 26 insertions, 0 deletions
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowAccessibilityNodeInfoTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowAccessibilityNodeInfoTest.java
index c8e5ce125..74bf81c9c 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowAccessibilityNodeInfoTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowAccessibilityNodeInfoTest.java
@@ -5,6 +5,8 @@ import static android.os.Build.VERSION_CODES.N;
import static android.os.Build.VERSION_CODES.O;
import static android.os.Build.VERSION_CODES.P;
import static android.os.Build.VERSION_CODES.Q;
+import static android.os.Build.VERSION_CODES.R;
+import static android.os.Build.VERSION_CODES.UPSIDE_DOWN_CAKE;
import static com.google.common.truth.Truth.assertThat;
import static org.robolectric.Shadows.shadowOf;
@@ -255,6 +257,30 @@ public class ShadowAccessibilityNodeInfoTest {
}
@Test
+ @Config(minSdk = R)
+ public void clone_preservesStateDescription() {
+ String description = "description";
+ AccessibilityNodeInfo node = AccessibilityNodeInfo.obtain();
+ node.setStateDescription(description);
+
+ AccessibilityNodeInfo clone = AccessibilityNodeInfo.obtain(node);
+
+ assertThat(clone.getStateDescription().toString()).isEqualTo(description);
+ }
+
+ @Test
+ @Config(minSdk = UPSIDE_DOWN_CAKE)
+ public void clone_preservesContainerTitle() {
+ String title = "container title";
+ AccessibilityNodeInfo node = AccessibilityNodeInfo.obtain();
+ node.setContainerTitle(title);
+
+ AccessibilityNodeInfo clone = AccessibilityNodeInfo.obtain(node);
+
+ assertThat(clone.getContainerTitle().toString()).isEqualTo(title);
+ }
+
+ @Test
public void testGetBoundsInScreen() {
AccessibilityNodeInfo root = AccessibilityNodeInfo.obtain();
Rect expected = new Rect(0, 0, 100, 100);