Java 类org.robolectric.bytecode.Setup 实例源码

项目:injectview    文件:InjectViewTestRunner.java   
@Override protected ClassLoader createRobolectricClassLoader(Setup setup, SdkConfig sdkConfig) {
  URL[] urls = getJarResolver().getLocalArtifactUrls(sdkConfig.getSdkClasspathDependencies());
  return new AsmInstrumentingClassLoader(setup, urls) {
    @Override protected byte[] getByteCode(String className) throws ClassNotFoundException {
      if (className.startsWith("com.github.stephanenicolas.injectview")) {
        try {
          CtClass dummyClass = ClassPool.getDefault().get(className);
          if (processor.shouldTransform(dummyClass)) {
            log.debug("Intercepting via InjectView " + className);
            processor.applyTransformations(dummyClass);
            byte[] bytes = dummyClass.toBytecode();
            System.out.println("Size of weaved byte code :" + bytes.length);
            FileOutputStream fileOutputStream = new FileOutputStream("/tmp/" + className + ".class");
            fileOutputStream.write(bytes);
            fileOutputStream.close();
            return bytes;
          }
        } catch (Exception e) {
          throw new RuntimeException("Impossible to transform class " + className, e);
        }
      }
      return super.getByteCode(className);
    }
  };
}
项目:easy-a    文件:LxgLifeCycleTestRunner.java   
@Override
protected ClassLoader createRobolectricClassLoader(Setup setup, SdkConfig sdkConfig) {
  URL[] urls = getJarResolver().getLocalArtifactUrls(sdkConfig.getSdkClasspathDependencies());
  return new AsmInstrumentingClassLoader(setup, urls) {
    @Override
    protected byte[] getByteCode(String className) throws ClassNotFoundException {
      if (className.startsWith("com.github.stephanenicolas.lxglifecycle")) {
        try {
          CtClass dummyClass = ClassPool.getDefault().get(className);
          if (processor.shouldTransform(dummyClass)) {
            log.debug("Intercepting via InjectExtra " + className);
            processor.applyTransformations(dummyClass);
            byte[] bytes = dummyClass.toBytecode();
            System.out.println("Size of weaved byte code :" + bytes.length);
            FileOutputStream fileOutputStream =
                new FileOutputStream("/tmp/" + className + ".class");
            fileOutputStream.write(bytes);
            fileOutputStream.close();
            return bytes;
          }
        } catch (Exception e) {
          throw new RuntimeException("Impossible to transform class " + className, e);
        }
      }
      return super.getByteCode(className);
    }
  };
}
项目:Fabric-Example-App-Android    文件:SdkTestRunner.java   
@Override
public Setup createSetup() {
    return new Setup() {
        @Override
        public boolean shouldInstrument(ClassInfo classInfo) {
            return classInfo.getName().equals(AsyncTasks.class.getName())
                    || super.shouldInstrument(classInfo);
        }
    };
}
项目:FullRobolectricTestSample    文件:TestRunnerSequenceTest.java   
@Override public Setup createSetup() {
  return new Setup() {
    @Override public boolean shouldAcquire(String name) {
      if (name.equals(StateHolder.class.getName())) return false;
      return super.shouldAcquire(name);
    }
  };
}
项目:FullRobolectricTestSample    文件:TestRunners.java   
@Override
public Setup createSetup() {
  return new Setup() {
    @Override
    public boolean shouldInstrument(ClassInfo classInfo) {
      String name = classInfo.getName();
      if (name.equals(AndroidTranslatorClassInstrumentedTest.CustomPaint.class.getName())
          || name.equals(AndroidTranslatorClassInstrumentedTest.ClassWithPrivateConstructor.class.getName())) {
        return true;
      }
      return super.shouldInstrument(classInfo);
    }
  };
}
项目:FullRobolectricTestSample    文件:TestRunners.java   
@Override public Setup createSetup() {
  return new Setup() {
    @Override public boolean shouldAcquire(String name) {
      // todo: whyyyyy!?!? if this isn't there, tests after TestRunnerSequenceTest start failing bad.
      if (name.startsWith("org.mockito.")) return false;
      return super.shouldAcquire(name);
    }
  };
}
项目:injectresource    文件:InjectResourceTestRunner.java   
@Override
protected ClassLoader createRobolectricClassLoader(Setup setup, SdkConfig sdkConfig) {
  URL[] urls = getJarResolver().getLocalArtifactUrls(sdkConfig.getSdkClasspathDependencies());
  return new AsmInstrumentingClassLoader(setup, urls) {
    @Override
    protected byte[] getByteCode(String className) throws ClassNotFoundException {
      if (className.startsWith("com.github.stephanenicolas.injectresource")) {
        try {
          CtClass dummyClass = ClassPool.getDefault().get(className);
          if (processor.shouldTransform(dummyClass)) {
            log.debug("Intercepting via InjectResource " + className);
            processor.applyTransformations(dummyClass);
            byte[] bytes = dummyClass.toBytecode();
            System.out.println("Size of weaved byte code :" + bytes.length);
            FileOutputStream fileOutputStream =
                new FileOutputStream("/tmp/" + className + ".class");
            fileOutputStream.write(bytes);
            fileOutputStream.close();
            return bytes;
          }
        } catch (Exception e) {
          throw new RuntimeException("Impossible to transform class " + className, e);
        }
      }
      return super.getByteCode(className);
    }
  };
}
项目:injectextra    文件:InjectExtraTestRunner.java   
@Override
protected ClassLoader createRobolectricClassLoader(Setup setup, SdkConfig sdkConfig) {
  URL[] urls = getJarResolver().getLocalArtifactUrls(sdkConfig.getSdkClasspathDependencies());
  return new AsmInstrumentingClassLoader(setup, urls) {
    @Override
    protected byte[] getByteCode(String className) throws ClassNotFoundException {
      if (className.startsWith("com.github.stephanenicolas.injectextra")) {
        try {
          CtClass dummyClass = ClassPool.getDefault().get(className);
          if (processor.shouldTransform(dummyClass)) {
            log.debug("Intercepting via InjectExtra " + className);
            processor.applyTransformations(dummyClass);
            byte[] bytes = dummyClass.toBytecode();
            System.out.println("Size of weaved byte code :" + bytes.length);
            FileOutputStream fileOutputStream =
                new FileOutputStream("/tmp/" + className + ".class");
            fileOutputStream.write(bytes);
            fileOutputStream.close();
            return bytes;
          }
        } catch (Exception e) {
          throw new RuntimeException("Impossible to transform class " + className, e);
        }
      }
      return super.getByteCode(className);
    }
  };
}
项目:loglifecycle    文件:LogLifeCycleTestRunner.java   
@Override
protected ClassLoader createRobolectricClassLoader(Setup setup, SdkConfig sdkConfig) {
  URL[] urls = getJarResolver().getLocalArtifactUrls(sdkConfig.getSdkClasspathDependencies());
  return new AsmInstrumentingClassLoader(setup, urls) {
    @Override
    protected byte[] getByteCode(String className) throws ClassNotFoundException {
      if (className.startsWith("com.github.stephanenicolas.loglifecycle")) {
        try {
          CtClass dummyClass = ClassPool.getDefault().get(className);
          if (processor.shouldTransform(dummyClass)) {
            log.debug("Intercepting via InjectExtra " + className);
            processor.applyTransformations(dummyClass);
            byte[] bytes = dummyClass.toBytecode();
            System.out.println("Size of weaved byte code :" + bytes.length);
            FileOutputStream fileOutputStream =
                new FileOutputStream("/tmp/" + className + ".class");
            fileOutputStream.write(bytes);
            fileOutputStream.close();
            return bytes;
          }
        } catch (Exception e) {
          throw new RuntimeException("Impossible to transform class " + className, e);
        }
      }
      return super.getByteCode(className);
    }
  };
}
项目:Yarrn    文件:MyRobolectricTestRunner.java   
@Override
public Setup createSetup() {
    return new Setup() {
        @Override
        public boolean isFromAndroidSdk(ClassInfo classInfo) {
            return super.isFromAndroidSdk(classInfo) || classInfo.getName().startsWith("com.google.ads.")
                    || classInfo.getName().startsWith("com.google.analytics.");
        }
    };
}
项目:HoebApp    文件:MyRobolectricTestRunner.java   
@Override
public Setup createSetup() {
    return new Setup() {
        @Override
        public boolean isFromAndroidSdk(ClassInfo classInfo) {
            return super.isFromAndroidSdk(classInfo) || classInfo.getName().startsWith("com.google.ads.")
                    || classInfo.getName().startsWith("com.google.analytics.");
        }
    };
}
项目:FullRobolectricTestSample    文件:RobolectricTestRunner.java   
public SdkEnvironment createSdkEnvironment(SdkConfig sdkConfig) {
  Setup setup = createSetup();
  ClassLoader robolectricClassLoader = createRobolectricClassLoader(setup, sdkConfig);
  return new SdkEnvironment(sdkConfig, robolectricClassLoader);
}
项目:FullRobolectricTestSample    文件:RobolectricTestRunner.java   
public Setup createSetup() {
  return new Setup();
}
项目:FullRobolectricTestSample    文件:RobolectricTestRunner.java   
protected ClassLoader createRobolectricClassLoader(Setup setup, SdkConfig sdkConfig) {
  URL[] urls = MAVEN_CENTRAL.getLocalArtifactUrls(this, sdkConfig.getSdkClasspathDependencies());
  return new AsmInstrumentingClassLoader(setup, urls);
}
项目:open    文件:MapzenTestRunner.java   
/**
 * Replaces Robolectric {@link Setup} with {@link MapzenSetup} subclass.
 */
@Override
public Setup createSetup() {
    return new MapzenSetup();
}