Update LibraryProvidedProguardRulesTest

Change-Id: Ic7f037691d2dbe98bde4964a358d9108d06592da
diff --git a/src/test/java/com/android/tools/r8/shaking/LibraryProvidedProguardRulesTest.java b/src/test/java/com/android/tools/r8/shaking/LibraryProvidedProguardRulesTest.java
index dfd61c5..869c54c 100644
--- a/src/test/java/com/android/tools/r8/shaking/LibraryProvidedProguardRulesTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/LibraryProvidedProguardRulesTest.java
@@ -7,13 +7,12 @@
 import static com.android.tools.r8.DiagnosticsMatcher.diagnosticMessage;
 import static com.android.tools.r8.DiagnosticsMatcher.diagnosticOrigin;
 import static com.android.tools.r8.OriginMatcher.hasPart;
-import static com.android.tools.r8.utils.codeinspector.Matchers.isPresent;
-import static com.android.tools.r8.utils.codeinspector.Matchers.notIf;
+import static com.android.tools.r8.utils.codeinspector.Matchers.isAbsent;
+import static com.android.tools.r8.utils.codeinspector.Matchers.isAbsentIf;
 import static org.hamcrest.CoreMatchers.allOf;
 import static org.hamcrest.CoreMatchers.containsString;
 import static org.hamcrest.CoreMatchers.instanceOf;
 import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.CoreMatchers.not;
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.junit.Assert.assertThrows;
 import static org.junit.Assume.assumeTrue;
@@ -101,38 +100,38 @@
   @Test
   public void keepOnlyA() throws Exception {
     CodeInspector inspector = runTest("-keep class " + A.class.getTypeName() + " {}");
-    // TODO(b/228319861): Read Proguard rules from AAR's.
-    assertThat(inspector.clazz(A.class), notIf(isPresent(), libraryType.isAar()));
-    assertThat(inspector.clazz(B.class), not(isPresent()));
+    // TODO(b/228319861): Read Proguard rules from JARs in AARs.
+    assertThat(inspector.clazz(A.class), isAbsentIf(isAarWithUnsupportedRules()));
+    assertThat(inspector.clazz(B.class), isAbsent());
   }
 
   @Test
   public void keepOnlyB() throws Exception {
     CodeInspector inspector = runTest("-keep class **B {}");
-    assertThat(inspector.clazz(A.class), not(isPresent()));
-    // TODO(b/228319861): Read Proguard rules from AAR's.
-    assertThat(inspector.clazz(B.class), notIf(isPresent(), libraryType.isAar()));
+    assertThat(inspector.clazz(A.class), isAbsent());
+    // TODO(b/228319861): Read Proguard rules from JARs in AARs.
+    assertThat(inspector.clazz(B.class), isAbsentIf(isAarWithUnsupportedRules()));
   }
 
   @Test
   public void keepBoth() throws Exception {
     CodeInspector inspector = runTest("-keep class ** {}");
-    // TODO(b/228319861): Read Proguard rules from AAR's.
-    assertThat(inspector.clazz(A.class), notIf(isPresent(), libraryType.isAar()));
-    assertThat(inspector.clazz(B.class), notIf(isPresent(), libraryType.isAar()));
+    // TODO(b/228319861): Read Proguard rules from JARs in AARs.
+    assertThat(inspector.clazz(A.class), isAbsentIf(isAarWithUnsupportedRules()));
+    assertThat(inspector.clazz(B.class), isAbsentIf(isAarWithUnsupportedRules()));
   }
 
   @Test
   public void multipleFiles() throws Exception {
     CodeInspector inspector = runTest(ImmutableList.of("-keep class **A {}", "-keep class **B {}"));
-    // TODO(b/228319861): Read Proguard rules from AAR's.
-    assertThat(inspector.clazz(A.class), notIf(isPresent(), libraryType.isAar()));
-    assertThat(inspector.clazz(B.class), notIf(isPresent(), libraryType.isAar()));
+    // TODO(b/228319861): Read Proguard rules from JARs in AARs.
+    assertThat(inspector.clazz(A.class), isAbsentIf(isAarWithUnsupportedRules()));
+    assertThat(inspector.clazz(B.class), isAbsentIf(isAarWithUnsupportedRules()));
   }
 
   @Test
   public void providedKeepRuleSyntaxError() {
-    // TODO(b/228319861): Read Proguard rules from AAR's.
+    // TODO(b/228319861): Read Proguard rules from JARs in AARs.
     assumeTrue(!libraryType.isAar());
     assertThrows(
         CompilationFailedException.class,
@@ -151,7 +150,7 @@
 
   @Test
   public void providedKeepRuleInjarsError() {
-    // TODO(b/228319861): Read Proguard rules from AAR's.
+    // TODO(b/228319861): Read Proguard rules from JARs in AARs.
     assumeTrue(!libraryType.isAar());
     assertThrows(
         CompilationFailedException.class,
@@ -168,7 +167,7 @@
 
   @Test
   public void providedKeepRuleIncludeError() {
-    // TODO(b/228319861): Read Proguard rules from AAR's.
+    // TODO(b/228319861): Read Proguard rules from JARs in AARs.
     assumeTrue(!libraryType.isAar());
     assertThrows(
         CompilationFailedException.class,
@@ -183,6 +182,11 @@
                                 containsString("Options with file names are not supported")))));
   }
 
+  private boolean isAarWithUnsupportedRules() {
+    return (libraryType.isAar() && providerType == ProviderType.INJARS)
+        || libraryType.isAarWithRulesOnlyInJar();
+  }
+
   static class TestProvider implements ProgramResourceProvider, DataResourceProvider {
 
     @Override
@@ -211,7 +215,7 @@
 
   @Test
   public void throwingDataResourceProvider() {
-    // TODO(b/228319861): Read Proguard rules from AAR's.
+    // TODO(b/228319861): Read Proguard rules from JARs in AARs.
     assumeTrue(!libraryType.isAar());
     assertThrows(
         CompilationFailedException.class,
diff --git a/src/test/java/com/android/tools/r8/shaking/LibraryProvidedProguardRulesTestBase.java b/src/test/java/com/android/tools/r8/shaking/LibraryProvidedProguardRulesTestBase.java
index 3bdedc2..dd22001 100644
--- a/src/test/java/com/android/tools/r8/shaking/LibraryProvidedProguardRulesTestBase.java
+++ b/src/test/java/com/android/tools/r8/shaking/LibraryProvidedProguardRulesTestBase.java
@@ -22,6 +22,10 @@
       return this != JAR_WITH_RULES;
     }
 
+    boolean isAarWithRulesOnlyInJar() {
+      return this == AAR_WITH_RULES_ONLY_IN_JAR;
+    }
+
     boolean hasRulesInJar() {
       return this != AAR_WITH_RULES;
     }