1a2043a8fff01f3e2d9a5e30dd1cf5fb6a5342f4dTyler Schultzpackage com.xtremelabs.robolectric.matchers; 28bb1af1810bfbfd724d88898d1c4e7aef9945fb9Christian Williams & Ian Fisher 38bb1af1810bfbfd724d88898d1c4e7aef9945fb9Christian Williams & Ian Fisherimport android.widget.TextView; 433873d2b41a5cd2597b20a4e88eb8942944c0f23Tyler Schultzimport com.xtremelabs.robolectric.shadows.ShadowTextView; 58bb1af1810bfbfd724d88898d1c4e7aef9945fb9Christian Williams & Ian Fisherimport org.hamcrest.Description; 68bb1af1810bfbfd724d88898d1c4e7aef9945fb9Christian Williams & Ian Fisherimport org.hamcrest.Factory; 78bb1af1810bfbfd724d88898d1c4e7aef9945fb9Christian Williams & Ian Fisherimport org.hamcrest.Matcher; 88bb1af1810bfbfd724d88898d1c4e7aef9945fb9Christian Williams & Ian Fisherimport org.junit.internal.matchers.TypeSafeMatcher; 98bb1af1810bfbfd724d88898d1c4e7aef9945fb9Christian Williams & Ian Fisher 10a8486da7c7a0b6a10e943c55992f34d9c256456dChristian Williamsimport static com.xtremelabs.robolectric.Robolectric.shadowOf; 11a8486da7c7a0b6a10e943c55992f34d9c256456dChristian Williams 128bb1af1810bfbfd724d88898d1c4e7aef9945fb9Christian Williams & Ian Fisherpublic class HasCompoundDrawablesMatcher extends TypeSafeMatcher<TextView> { 138bb1af1810bfbfd724d88898d1c4e7aef9945fb9Christian Williams & Ian Fisher private String message; 14afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams private ShadowTextView.CompoundDrawables expectedCompoundDrawables; 158bb1af1810bfbfd724d88898d1c4e7aef9945fb9Christian Williams & Ian Fisher 168bb1af1810bfbfd724d88898d1c4e7aef9945fb9Christian Williams & Ian Fisher public HasCompoundDrawablesMatcher(int left, int top, int right, int bottom) { 17afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williams expectedCompoundDrawables = new ShadowTextView.CompoundDrawables(left, top, right, bottom); 188bb1af1810bfbfd724d88898d1c4e7aef9945fb9Christian Williams & Ian Fisher } 198bb1af1810bfbfd724d88898d1c4e7aef9945fb9Christian Williams & Ian Fisher 208bb1af1810bfbfd724d88898d1c4e7aef9945fb9Christian Williams & Ian Fisher @Override 218bb1af1810bfbfd724d88898d1c4e7aef9945fb9Christian Williams & Ian Fisher public boolean matchesSafely(TextView actual) { 228bb1af1810bfbfd724d88898d1c4e7aef9945fb9Christian Williams & Ian Fisher if (actual == null) { 238bb1af1810bfbfd724d88898d1c4e7aef9945fb9Christian Williams & Ian Fisher message = "actual view was null"; 248bb1af1810bfbfd724d88898d1c4e7aef9945fb9Christian Williams & Ian Fisher return false; 258bb1af1810bfbfd724d88898d1c4e7aef9945fb9Christian Williams & Ian Fisher } 268bb1af1810bfbfd724d88898d1c4e7aef9945fb9Christian Williams & Ian Fisher 27620694ded8735cba729537b6cd7abfa5cdf57eb4Christian Williams & Phil Goodwin ShadowTextView.CompoundDrawables actualCompoundDrawables = shadowOf(actual).getCompoundDrawablesImpl(); 288bb1af1810bfbfd724d88898d1c4e7aef9945fb9Christian Williams & Ian Fisher if (!expectedCompoundDrawables.equals(actualCompoundDrawables)) { 298bb1af1810bfbfd724d88898d1c4e7aef9945fb9Christian Williams & Ian Fisher message = "[" + actualCompoundDrawables + "] to equal [" + expectedCompoundDrawables + "]"; 308bb1af1810bfbfd724d88898d1c4e7aef9945fb9Christian Williams & Ian Fisher return false; 318bb1af1810bfbfd724d88898d1c4e7aef9945fb9Christian Williams & Ian Fisher } else { 328bb1af1810bfbfd724d88898d1c4e7aef9945fb9Christian Williams & Ian Fisher return true; 338bb1af1810bfbfd724d88898d1c4e7aef9945fb9Christian Williams & Ian Fisher } 348bb1af1810bfbfd724d88898d1c4e7aef9945fb9Christian Williams & Ian Fisher } 358bb1af1810bfbfd724d88898d1c4e7aef9945fb9Christian Williams & Ian Fisher 368bb1af1810bfbfd724d88898d1c4e7aef9945fb9Christian Williams & Ian Fisher @Override 378bb1af1810bfbfd724d88898d1c4e7aef9945fb9Christian Williams & Ian Fisher public void describeTo(Description description) { 388bb1af1810bfbfd724d88898d1c4e7aef9945fb9Christian Williams & Ian Fisher description.appendText(message); 398bb1af1810bfbfd724d88898d1c4e7aef9945fb9Christian Williams & Ian Fisher } 408bb1af1810bfbfd724d88898d1c4e7aef9945fb9Christian Williams & Ian Fisher 418bb1af1810bfbfd724d88898d1c4e7aef9945fb9Christian Williams & Ian Fisher @Factory 428bb1af1810bfbfd724d88898d1c4e7aef9945fb9Christian Williams & Ian Fisher public static Matcher<TextView> hasCompoundDrawables(int left, int top, int right, int bottom) { 438bb1af1810bfbfd724d88898d1c4e7aef9945fb9Christian Williams & Ian Fisher return new HasCompoundDrawablesMatcher(left, top, right, bottom); 448bb1af1810bfbfd724d88898d1c4e7aef9945fb9Christian Williams & Ian Fisher } 4533873d2b41a5cd2597b20a4e88eb8942944c0f23Tyler Schultz} 46