Skip to content

Commit

Permalink
Avoid Lookup strategy when constructing javax classes
Browse files Browse the repository at this point in the history
This fixes an issue using MockK on classes defined in a Robolectric
class loader.

Fixes #5871
  • Loading branch information
hoisie committed Jan 24, 2022
1 parent 6d20a71 commit 9e3f3fd
Showing 1 changed file with 2 additions and 3 deletions.
Expand Up @@ -33,10 +33,9 @@ public static <T> ClassLoadingStrategy<ClassLoader> chooseClassLoadingStrategy(C
try {
final ClassLoadingStrategy<ClassLoader> strategy;
if (!type.getName().startsWith("java.") &&
!type.getName().startsWith("javax.") &&
ClassInjector.UsingLookup.isAvailable() &&
// based on https://github.com/jmock-developers/jmock-library/issues/127
type.getClassLoader() == ClassLoadingStrategyChooser.class.getClassLoader()
&& PRIVATE_LOOKUP_IN != null && LOOKUP != null) {
PRIVATE_LOOKUP_IN != null && LOOKUP != null) {
Object privateLookup = PRIVATE_LOOKUP_IN.invoke(null, type, LOOKUP);
strategy = ClassLoadingStrategy.UsingLookup.of(privateLookup);
} else if (ClassInjector.UsingReflection.isAvailable()) {
Expand Down

0 comments on commit 9e3f3fd

Please sign in to comment.