diff options
author | Deepanshu Gupta <deepanshu@google.com> | 2014-10-08 17:34:12 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2014-10-08 17:34:12 +0000 |
commit | 908a4f9a4372a9627e821b5800936095b0f0b5b0 (patch) | |
tree | 7ac469f5fd61ffd4c5dab2b04f6fcb4edf97d44b /tools/layoutlib/create/tests | |
parent | 562262cc89838529316ff2f3e511c0d876b08677 (diff) | |
parent | 4f133894a6e98d8d30557ea42cec92cfb21fa5c9 (diff) | |
download | frameworks_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.java | 86 |
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 { |