summaryrefslogtreecommitdiff
path: root/runtime/class_loader_context_test.cc
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/class_loader_context_test.cc')
-rw-r--r--runtime/class_loader_context_test.cc14
1 files changed, 14 insertions, 0 deletions
diff --git a/runtime/class_loader_context_test.cc b/runtime/class_loader_context_test.cc
index e082c8cbcf..4d7e390b9a 100644
--- a/runtime/class_loader_context_test.cc
+++ b/runtime/class_loader_context_test.cc
@@ -1316,6 +1316,20 @@ TEST_F(ClassLoaderContextTest, EncodeContextsForUnsupportedChainMultiDex) {
encodings.at(GetTestDexFileName("MultiDex")));
}
+TEST_F(ClassLoaderContextTest, IsValidEncoding) {
+ ASSERT_TRUE(ClassLoaderContext::IsValidEncoding("PCL[]"));
+ ASSERT_TRUE(ClassLoaderContext::IsValidEncoding("PCL[foo.dex]"));
+ ASSERT_TRUE(ClassLoaderContext::IsValidEncoding("PCL[foo.dex];PCL[bar.dex]"));
+ ASSERT_TRUE(ClassLoaderContext::IsValidEncoding("DLC[];PCL[bar.dex]"));
+ ASSERT_TRUE(
+ ClassLoaderContext::IsValidEncoding(
+ ClassLoaderContext::kUnsupportedClassLoaderContextEncoding));
+ ASSERT_FALSE(ClassLoaderContext::IsValidEncoding("not_valid"));
+ ASSERT_FALSE(ClassLoaderContext::IsValidEncoding("[]"));
+ ASSERT_FALSE(ClassLoaderContext::IsValidEncoding("FCL[]"));
+ ASSERT_FALSE(ClassLoaderContext::IsValidEncoding("foo.dex:bar.dex"));
+}
+
// TODO(calin) add a test which creates the context for a class loader together with dex_elements.
TEST_F(ClassLoaderContextTest, CreateContextForClassLoader) {
// The chain is