Skip to content

Commit 79237aa

Browse files
authored
Merge pull request #158 from PADL/lhoward/155
2 parents 651cc89 + 4fa32a1 commit 79237aa

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

Sources/JavaKit/BridgedValues/JavaValue+String.swift

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@ extension String: JavaValue {
2424
}
2525

2626
public init(fromJNI value: JNIType, in environment: JNIEnvironment) {
27+
guard let value else {
28+
self.init()
29+
return
30+
}
2731
let cString = environment.interface.GetStringUTFChars(environment, value, nil)!
2832
defer { environment.interface.ReleaseStringUTFChars(environment, value, cString) }
2933
self = String(cString: cString)

Tests/JavaKitTests/BasicRuntimeTests.swift

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,12 @@ class BasicRuntimeTests: XCTestCase {
7676
XCTAssertEqual(String(describing: error), "org/swift/javakit/Nonexistent")
7777
}
7878
}
79+
80+
func testNullJavaStringConversion() throws {
81+
let environment = try jvm.environment()
82+
let nullString = String(fromJNI: nil, in: environment)
83+
XCTAssertEqual(nullString, "")
84+
}
7985
}
8086

8187
@JavaClass("org.swift.javakit.Nonexistent")

0 commit comments

Comments
 (0)