diff options
Diffstat (limited to 'test/JniTest/jni_test.cc')
-rw-r--r-- | test/JniTest/jni_test.cc | 12 |
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); +} |