• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package org.robolectric.annotation;
2 
3 import java.lang.annotation.Documented;
4 import java.lang.annotation.ElementType;
5 import java.lang.annotation.Retention;
6 import java.lang.annotation.RetentionPolicy;
7 import java.lang.annotation.Target;
8 
9 /**
10  * Robolectric can check for certain kinds of accessibility bugs while running
11  * your tests. These are bugs that interfere with services that allow users with
12  * disabilities to access your UI. When these checks are enabled, calling
13  * {@code Robolectric.onClick()} will run a series of checks on your UI and
14  * throw exceptions if errors are present.
15  */
16 @Documented
17 @Retention(RetentionPolicy.RUNTIME)
18 @Target({ElementType.TYPE, ElementType.METHOD})
19 public @interface AccessibilityChecks {
20   enum ForRobolectricVersion { VERSION_3_0, VERSION_3_1, LATEST }
21 
22   /**
23    * Enable or disable accessibility checking.
24    *
25    * @return  True if accessibility checking is enabled.
26    */
enabled()27   boolean enabled() default true;
28 
29   /**
30    * Accessibility checking can be a moving target. As new checks are added to
31    * Robolectric, these checks may reveal issues with a UI that previously
32    * passed all checks (but were probably affecting users all along). This
33    * option forces Robolectric to run only those checks that were present in a
34    * specified version of Robolectric, which reduces the opportunity for a
35    * new bug to be discovered in an old test. Note that this option does not
36    * guarantee that the behavior of individual checks won't change as bugs are
37    * fixed and/or features added to checks that existed in the specified
38    * version.
39    *
40    * @return  Run all checks corresponding to this version of Robolectric.
41    */
forRobolectricVersion()42   ForRobolectricVersion forRobolectricVersion() default ForRobolectricVersion.LATEST;
43 }