public static void bindShadowClass(Class<?> shadowClass) { RobolectricInternals.bindShadowClass(shadowClass); }
public static <T> T directlyOn(T shadowedObject) { return RobolectricInternals.directlyOn(shadowedObject); }
public static <T> T directlyOnFullStack(T shadowedObject) { return RobolectricInternals.directlyOnFullStack(shadowedObject); }
public static <T> T directlyOn(T shadowedObject) { setupDirectCallPolicy(new DirectCallPolicy.OneShotDirectCallPolicy(shadowedObject)); return shadowedObject; }
private static boolean isIgnorableClassLoadingException(Throwable typeLoadingException) { if (typeLoadingException != null) { // instanceof doesn't work here. Are we in different classloaders? if (typeLoadingException.getClass().getName().equals(IgnorableClassNotFoundException.class.getName())) { return true; } if (typeLoadingException instanceof NoClassDefFoundError || typeLoadingException instanceof ClassNotFoundException || typeLoadingException instanceof TypeNotPresentException) { return isIgnorableClassLoadingException(typeLoadingException.getCause()); } } return false; }
public static <T> T newInstance(Class<T> clazz, Class[] parameterTypes, Object[] params) { return RobolectricInternals.newInstance(clazz, parameterTypes, params); }
public static <T> T newInstanceOf(Class<T> clazz) { return RobolectricInternals.newInstanceOf(clazz); }
public static <T> T directlyOnFullStack(T shadowedObject) { setupDirectCallPolicy(FullStackDirectCallPolicy.withTarget(shadowedObject)); return shadowedObject; }
public static void bindShadowClass(Class<?> shadowClass) { Implements realClass = shadowClass.getAnnotation(Implements.class); if (realClass == null) { throw new IllegalArgumentException(shadowClass + " is not annotated with @Implements"); } try { ShadowWrangler.getInstance().bindShadowClass(realClass.value(), shadowClass); } catch (TypeNotPresentException typeLoadingException) { String unloadableClassName = shadowClass.getSimpleName(); if (isIgnorableClassLoadingException(typeLoadingException)) { //this allows users of the robolectric.jar file to use the non-Google APIs version of the api if (unloadableClassNames.add(unloadableClassName)) { System.out.println("Warning: an error occurred while binding shadow class: " + unloadableClassName); } } else { throw typeLoadingException; } } }
public static <T> T directlyOnFullStack(FullStackDirectCallPolicy.Builder<T> builder) { FullStackDirectCallPolicy policy = builder.create(); setupDirectCallPolicy(policy); return builder.getTarget(); }
public static <T> T directlyOnFullStack(FullStackDirectCallPolicy.Builder<T> builder) { return RobolectricInternals.directlyOnFullStack(builder); }