summaryrefslogtreecommitdiffstats
path: root/tools/layoutlib/create/tests
diff options
context:
space:
mode:
authorDeepanshu Gupta <deepanshu@google.com>2014-10-08 17:34:12 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2014-10-08 17:34:12 +0000
commit908a4f9a4372a9627e821b5800936095b0f0b5b0 (patch)
tree7ac469f5fd61ffd4c5dab2b04f6fcb4edf97d44b /tools/layoutlib/create/tests
parent562262cc89838529316ff2f3e511c0d876b08677 (diff)
parent4f133894a6e98d8d30557ea42cec92cfb21fa5c9 (diff)
downloadframeworks_base-908a4f9a4372a9627e821b5800936095b0f0b5b0.zip
frameworks_base-908a4f9a4372a9627e821b5800936095b0f0b5b0.tar.gz
frameworks_base-908a4f9a4372a9627e821b5800936095b0f0b5b0.tar.bz2
am 4f133894: Exclude KXmlParser from LayoutLib.
* commit '4f133894a6e98d8d30557ea42cec92cfb21fa5c9': Exclude KXmlParser from LayoutLib.
Diffstat (limited to 'tools/layoutlib/create/tests')
-rw-r--r--tools/layoutlib/create/tests/com/android/tools/layoutlib/create/AsmGeneratorTest.java86
1 files changed, 86 insertions, 0 deletions
diff --git a/tools/layoutlib/create/tests/com/android/tools/layoutlib/create/AsmGeneratorTest.java b/tools/layoutlib/create/tests/com/android/tools/layoutlib/create/AsmGeneratorTest.java
index 0dbc238..cf91386 100644
--- a/tools/layoutlib/create/tests/com/android/tools/layoutlib/create/AsmGeneratorTest.java
+++ b/tools/layoutlib/create/tests/com/android/tools/layoutlib/create/AsmGeneratorTest.java
@@ -19,6 +19,7 @@ package com.android.tools.layoutlib.create;
import static org.junit.Assert.assertArrayEquals;
+import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import org.junit.After;
@@ -36,6 +37,7 @@ import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.Enumeration;
import java.util.HashSet;
import java.util.Map;
@@ -119,6 +121,11 @@ public class AsmGeneratorTest {
}
@Override
+ public Set<String> getExcludedClasses() {
+ return null;
+ }
+
+ @Override
public String[] getDeleteReturns() {
// methods deleted from their return type.
return new String[0];
@@ -184,6 +191,11 @@ public class AsmGeneratorTest {
}
@Override
+ public Set<String> getExcludedClasses() {
+ return Collections.singleton("java.lang.JavaClass");
+ }
+
+ @Override
public String[] getDeleteReturns() {
// methods deleted from their return type.
return new String[0];
@@ -217,6 +229,80 @@ public class AsmGeneratorTest {
filesFound.keySet().toArray());
}
+ @Test
+ public void testClassExclusion() throws IOException, LogAbortException {
+ ICreateInfo ci = new ICreateInfo() {
+ @Override
+ public Class<?>[] getInjectedClasses() {
+ return new Class<?>[0];
+ }
+
+ @Override
+ public String[] getDelegateMethods() {
+ return new String[0];
+ }
+
+ @Override
+ public String[] getDelegateClassNatives() {
+ return new String[0];
+ }
+
+ @Override
+ public String[] getOverriddenMethods() {
+ // methods to force override
+ return new String[0];
+ }
+
+ @Override
+ public String[] getRenamedClasses() {
+ // classes to rename (so that we can replace them)
+ return new String[0];
+ }
+
+ @Override
+ public String[] getJavaPkgClasses() {
+ // classes to refactor (so that we can replace them)
+ return new String[0];
+ }
+
+ @Override
+ public Set<String> getExcludedClasses() {
+ Set<String> set = new HashSet<String>(2);
+ set.add("mock_android.dummy.InnerTest");
+ set.add("java.lang.JavaClass");
+ return set;
+ }
+
+ @Override
+ public String[] getDeleteReturns() {
+ // methods deleted from their return type.
+ return new String[0];
+ }
+ };
+
+ AsmGenerator agen = new AsmGenerator(mLog, mOsDestJar, ci);
+ Set<String> excludedClasses = ci.getExcludedClasses();
+ AsmAnalyzer aa = new AsmAnalyzer(mLog, mOsJarPath, agen,
+ null, // derived from
+ new String[] { // include classes
+ "**"
+ },
+ excludedClasses,
+ new String[] { /* include files */
+ "mock_android/data/data*"
+ });
+ aa.analyze();
+ agen.generate();
+ Map<String, ClassReader> output = new TreeMap<String, ClassReader>();
+ Map<String, InputStream> filesFound = new TreeMap<String, InputStream>();
+ parseZip(mOsDestJar, output, filesFound);
+ for (String s : output.keySet()) {
+ assertFalse(excludedClasses.contains(s));
+ }
+ assertArrayEquals(new String[] {"mock_android/data/dataFile"},
+ filesFound.keySet().toArray());
+ }
+
private void parseZip(String jarPath,
Map<String, ClassReader> classes,
Map<String, InputStream> filesFound) throws IOException {