mirror of
https://github.com/hexedtech/jni-toolbox.git
synced 2024-11-21 23:14:55 +01:00
test: nullptr class, nullable returns
This commit is contained in:
parent
358586c513
commit
47bb45a387
2 changed files with 20 additions and 3 deletions
|
@ -2,6 +2,7 @@ package toolbox;
|
|||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertNull;
|
||||
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||
|
||||
|
||||
|
@ -14,6 +15,7 @@ public class Main {
|
|||
static native String concat(String a, String b);
|
||||
static native String[] to_vec(String a, String b, String c);
|
||||
static native boolean maybe(String optional);
|
||||
static native String optional(boolean present);
|
||||
static native String raw();
|
||||
|
||||
@Test
|
||||
|
@ -29,9 +31,9 @@ public class Main {
|
|||
@Test
|
||||
public void checksForNull() {
|
||||
// TODO maybe these should throw NullPtrException
|
||||
assertThrows(RuntimeException.class, () -> Main.concat("a", null));
|
||||
assertThrows(RuntimeException.class, () -> Main.concat(null, "a"));
|
||||
assertThrows(RuntimeException.class, () -> Main.concat(null, null));
|
||||
assertThrows(NullPointerException.class, () -> Main.concat("a", null));
|
||||
assertThrows(NullPointerException.class, () -> Main.concat(null, "a"));
|
||||
assertThrows(NullPointerException.class, () -> Main.concat(null, null));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -54,4 +56,10 @@ public class Main {
|
|||
assertEquals(Main.raw(), "hello world!");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void nullableReturn() {
|
||||
assertNull(Main.optional(false));
|
||||
assertEquals(Main.optional(true), "hello world!");
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -20,6 +20,15 @@ fn maybe(idk: Option<String>) -> bool {
|
|||
idk.is_some()
|
||||
}
|
||||
|
||||
#[jni(package = "toolbox", class = "Main")]
|
||||
fn optional(present: bool) -> Option<String> {
|
||||
if present {
|
||||
Some("hello world!".into())
|
||||
} else {
|
||||
None
|
||||
}
|
||||
}
|
||||
|
||||
#[jni(package = "toolbox", class = "Main")]
|
||||
fn raw<'local>(env: &mut jni::JNIEnv<'local>) -> Result<jni::objects::JString<'local>, jni::errors::Error> {
|
||||
env.new_string("hello world!")
|
||||
|
|
Loading…
Reference in a new issue