summaryrefslogtreecommitdiffstats
path: root/test/JniTest/jni_test.cc
diff options
context:
space:
mode:
Diffstat (limited to 'test/JniTest/jni_test.cc')
-rw-r--r--test/JniTest/jni_test.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/test/JniTest/jni_test.cc b/test/JniTest/jni_test.cc
index d15e180c02..33af94b2ab 100644
--- a/test/JniTest/jni_test.cc
+++ b/test/JniTest/jni_test.cc
@@ -17,6 +17,7 @@
#include <assert.h>
#include <stdio.h>
#include <pthread.h>
+#include <vector>
#include "jni.h"
@@ -125,3 +126,14 @@ extern "C" JNIEXPORT jobject JNICALL Java_JniTest_testGetMirandaMethodNative(JNI
assert(miranda_method != NULL);
return env->ToReflectedMethod(abstract_class, miranda_method, JNI_FALSE);
}
+
+// https://code.google.com/p/android/issues/detail?id=63055
+extern "C" void JNICALL Java_JniTest_testZeroLengthByteBuffers(JNIEnv* env, jclass) {
+ std::vector<uint8_t> buffer(1);
+ jobject byte_buffer = env->NewDirectByteBuffer(&buffer[0], 0);
+ assert(byte_buffer != NULL);
+ assert(!env->ExceptionCheck());
+
+ assert(env->GetDirectBufferAddress(byte_buffer) == &buffer[0]);
+ assert(env->GetDirectBufferCapacity(byte_buffer) == 0);
+}