GetFieldID should throw NoSuchFieldFound rather than NoClassDefFound
Change-Id: Id610b537a47898bb2202caf0e6a32138279b887b
diff --git a/src/jni_internal_test.cc b/src/jni_internal_test.cc
index e82b734..325d1ec 100644
--- a/src/jni_internal_test.cc
+++ b/src/jni_internal_test.cc
@@ -121,6 +121,11 @@
EXPECT_EQ(static_cast<jfieldID>(NULL), fid);
EXPECT_EXCEPTION(jlnsfe);
+ // Wrong type where type doesn't exist.
+ fid = env_->GetFieldID(c, "count", "Lrod/jane/freddy;");
+ EXPECT_EQ(static_cast<jfieldID>(NULL), fid);
+ EXPECT_EXCEPTION(jlnsfe);
+
// Wrong name.
fid = env_->GetFieldID(c, "Count", "I");
EXPECT_EQ(static_cast<jfieldID>(NULL), fid);
@@ -156,6 +161,11 @@
EXPECT_EQ(static_cast<jfieldID>(NULL), fid);
EXPECT_EXCEPTION(jlnsfe);
+ // Wrong type where type doesn't exist.
+ fid = env_->GetStaticFieldID(c, "CASE_INSENSITIVE_ORDER", "Lrod/jane/freddy;");
+ EXPECT_EQ(static_cast<jfieldID>(NULL), fid);
+ EXPECT_EXCEPTION(jlnsfe);
+
// Wrong name.
fid = env_->GetStaticFieldID(c, "cASE_INSENSITIVE_ORDER", "Ljava/util/Comparator;");
EXPECT_EQ(static_cast<jfieldID>(NULL), fid);