@@ -231,21 +231,25 @@ fn getTargetInfo(cmd: anytype) !void {
231231 }
232232
233233 return cmd .sendResult (.{
234- .targetId = target_id ,
235- .type = "page" ,
236- .title = "" ,
237- .url = "" ,
238- .attached = true ,
239- .canAccessOpener = false ,
234+ .targetInfo = .{
235+ .targetId = target_id ,
236+ .type = "page" ,
237+ .title = "" ,
238+ .url = "" ,
239+ .attached = true ,
240+ .canAccessOpener = false ,
241+ },
240242 }, .{ .include_session_id = false });
241243 }
242244
243245 return cmd .sendResult (.{
244- .type = "browser" ,
245- .title = "" ,
246- .url = "" ,
247- .attached = true ,
248- .canAccessOpener = false ,
246+ .targetInfo = .{
247+ .type = "browser" ,
248+ .title = "" ,
249+ .url = "" ,
250+ .attached = true ,
251+ .canAccessOpener = false ,
252+ },
249253 }, .{ .include_session_id = false });
250254}
251255
@@ -548,3 +552,54 @@ test "cdp.target: attachToTarget" {
548552 try ctx .expectSentEvent ("Target.attachedToTarget" , .{ .sessionId = session_id , .targetInfo = .{ .url = "chrome://newtab/" , .title = "about:blank" , .attached = true , .type = "page" , .canAccessOpener = false , .browserContextId = "BID-9" , .targetId = bc .target_id .? } }, .{});
549553 }
550554}
555+
556+ test "cdp.target: getTargetInfo" {
557+ var ctx = testing .context ();
558+ defer ctx .deinit ();
559+
560+ {
561+ try ctx .processMessage (.{ .id = 9 , .method = "Target.getTargetInfo" });
562+ try ctx .expectSentResult (.{
563+ .targetInfo = .{
564+ .type = "browser" ,
565+ .title = "" ,
566+ .url = "" ,
567+ .attached = true ,
568+ .canAccessOpener = false ,
569+ },
570+ }, .{ .id = 9 });
571+ }
572+
573+ {
574+ try testing .expectError (error .BrowserContextNotLoaded , ctx .processMessage (.{ .id = 10 , .method = "Target.getTargetInfo" , .params = .{ .targetId = "X" } }));
575+ try ctx .expectSentError (-31998 , "BrowserContextNotLoaded" , .{ .id = 10 });
576+ }
577+
578+ const bc = try ctx .loadBrowserContext (.{ .id = "BID-9" });
579+ {
580+ try testing .expectError (error .TargetNotLoaded , ctx .processMessage (.{ .id = 10 , .method = "Target.getTargetInfo" , .params = .{ .targetId = "TID-8" } }));
581+ try ctx .expectSentError (-31998 , "TargetNotLoaded" , .{ .id = 10 });
582+ }
583+
584+ // pretend we createdTarget first
585+ _ = try bc .session .createPage ();
586+ bc .target_id = "TID-A" ;
587+ {
588+ try testing .expectError (error .UnknownTargetId , ctx .processMessage (.{ .id = 10 , .method = "Target.getTargetInfo" , .params = .{ .targetId = "TID-8" } }));
589+ try ctx .expectSentError (-31998 , "UnknownTargetId" , .{ .id = 10 });
590+ }
591+
592+ {
593+ try ctx .processMessage (.{ .id = 11 , .method = "Target.getTargetInfo" , .params = .{ .targetId = "TID-A" } });
594+ try ctx .expectSentResult (.{
595+ .targetInfo = .{
596+ .targetId = "TID-A" ,
597+ .type = "page" ,
598+ .title = "" ,
599+ .url = "" ,
600+ .attached = true ,
601+ .canAccessOpener = false ,
602+ },
603+ }, .{ .id = 11 });
604+ }
605+ }
0 commit comments