@@ -169,9 +169,52 @@ class Java2SwiftTests: XCTestCase {
169169 public struct Redirect {
170170 """ ,
171171 """
172+ public func redirectError() -> ProcessBuilder.Redirect?
173+ """ ,
174+ """
172175 extension ProcessBuilder.Redirect {
173176 @JavaClass( " java.lang.ProcessBuilder$Redirect$Type " )
174177 public struct Type {
178+ """ ,
179+ ]
180+ )
181+ }
182+
183+ func testNestedRenamedSubclasses( ) throws {
184+ try assertTranslatedClass (
185+ ProcessBuilder . self,
186+ swiftTypeName: " ProcessBuilder " ,
187+ translatedClasses: [
188+ " java.lang.ProcessBuilder " : ( " ProcessBuilder " , nil , true ) ,
189+ " java.lang.ProcessBuilder$Redirect " : ( " ProcessBuilder.PBRedirect " , nil , true ) ,
190+ " java.lang.ProcessBuilder$Redirect$Type " : ( " ProcessBuilder.PBRedirect.JavaType " , nil , true ) ,
191+ ] ,
192+ nestedClasses: [
193+ " java.lang.ProcessBuilder " : [ JavaClass < ProcessBuilder . Redirect > ( ) . as ( JavaClass< JavaObject> . self ) !] ,
194+ " java.lang.ProcessBuilder$Redirect " : [ JavaClass < ProcessBuilder . Redirect . JavaType > ( ) . as ( JavaClass< JavaObject> . self ) !] ,
195+ ] ,
196+ expectedChunks: [
197+ " import JavaKit " ,
198+ """
199+ @JavaMethod
200+ public func redirectInput() -> ProcessBuilder.PBRedirect?
201+ """ ,
202+ """
203+ extension ProcessBuilder {
204+ @JavaClass( " java.lang.ProcessBuilder$Redirect " )
205+ public struct PBRedirect {
206+ """ ,
207+ """
208+ public func redirectError() -> ProcessBuilder.PBRedirect?
209+ """ ,
210+ """
211+ extension ProcessBuilder.PBRedirect {
212+ @JavaClass( " java.lang.ProcessBuilder$Redirect$Type " )
213+ public struct JavaType {
214+ """ ,
215+ """
216+ @JavaMethod
217+ public func type() -> ProcessBuilder.PBRedirect.JavaType?
175218 """
176219 ]
177220 )
0 commit comments