@@ -494,6 +494,8 @@ func TestWebSearchParsesAlternateJSONFieldAliases(t *testing.T) {
494494 },
495495 {"name": "Source Result", "source_url": "https://example.com/source", "abstract": "Source abstract"},
496496 {"headline": "Formatted Result", "formattedUrl": "https://example.com/formatted", "caption": "Formatted caption"},
497+ {"title": "Canonical Result", "canonicalUrl": "https://example.com/canonical", "snippet": "Canonical snippet"},
498+ {"title": "Link URL Result", "linkUrl": {"value": "https://docs.example.com/link-url"}, "text": "Link URL snippet"},
497499 {"title": "Display Only", "displayUrl": "example.com/not-a-real-url", "snippet": "ignored"}
498500 ]
499501 }
@@ -509,13 +511,13 @@ func TestWebSearchParsesAlternateJSONFieldAliases(t *testing.T) {
509511 }, contracts.ToolUse {
510512 ID : "toolu_search_alias_json" ,
511513 Name : "WebSearch" ,
512- Input : json .RawMessage (`{"query":"alias json","max_results":5 }` ),
514+ Input : json .RawMessage (`{"query":"alias json","max_results":6 }` ),
513515 }, nil )
514516 if err != nil {
515517 t .Fatal (err )
516518 }
517519 results , ok := result .StructuredContent ["results" ].([]map [string ]any )
518- if ! ok || len (results ) != 4 {
520+ if ! ok || len (results ) != 6 {
519521 t .Fatalf ("structured results = %#v" , result .StructuredContent ["results" ])
520522 }
521523 if results [0 ]["title" ] != "Alias Result" || results [0 ]["url" ] != "https://example.com/alias" || results [0 ]["snippet" ] != "Alias snippet" {
@@ -530,6 +532,12 @@ func TestWebSearchParsesAlternateJSONFieldAliases(t *testing.T) {
530532 if results [3 ]["title" ] != "Formatted Result" || results [3 ]["url" ] != "https://example.com/formatted" || results [3 ]["snippet" ] != "Formatted caption" {
531533 t .Fatalf ("formatted result = %#v" , results [3 ])
532534 }
535+ if results [4 ]["title" ] != "Canonical Result" || results [4 ]["url" ] != "https://example.com/canonical" || results [4 ]["snippet" ] != "Canonical snippet" {
536+ t .Fatalf ("canonical result = %#v" , results [4 ])
537+ }
538+ if results [5 ]["title" ] != "Link URL Result" || results [5 ]["url" ] != "https://docs.example.com/link-url" || results [5 ]["snippet" ] != "Link URL snippet" {
539+ t .Fatalf ("link url result = %#v" , results [5 ])
540+ }
533541 content := result .Content .(string )
534542 if strings .Contains (content , "Display Only" ) || strings .Contains (content , "<b>" ) {
535543 t .Fatalf ("content = %#v" , content )
0 commit comments