Merge pull request #150 from koic/set_default_content_to_an_empty_array_instead_of_nil

Set default `content` to an empty array instead of `nil`
This commit is contained in:
Koichi ITO 2025-10-03 10:22:46 +09:00 • committed by GitHub
commit c5f2f98077
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 14 additions and 3 deletions

View file

@ -13,7 +13,7 @@ module MCP
error = deprecated_error
end
@content = content
@content = content || []
@error = error
@structured_content = structured_content
end

View file

@ -101,13 +101,24 @@ module MCP
refute actual[:isError]
end
test "#to_h for a standard response with nil content and structured content" do
structured_content = { code: 401, message: "Unauthorized" }
response = Response.new(nil, structured_content: structured_content)
actual = response.to_h
assert_equal [:content, :isError, :structuredContent], actual.keys
assert_empty actual[:content]
assert_equal structured_content, actual[:structuredContent]
refute actual[:isError]
end
test "#to_h for a standard response with structured content only" do
structured_content = { code: 401, message: "Unauthorized" }
response = Response.new(structured_content: structured_content)
actual = response.to_h
assert_equal [:isError, :structuredContent], actual.keys
assert_nil actual[:content]
assert_equal [:content, :isError, :structuredContent], actual.keys
assert_empty actual[:content]
assert_equal structured_content, actual[:structuredContent]
refute actual[:isError]
end