feat(notion-writer): parse standalone images to image blocks
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -413,6 +413,28 @@ def test_no_literal_markers_leak():
|
||||
_assert("bold" in joined and "link" in joined, "visible words preserved")
|
||||
|
||||
|
||||
def test_image_remote_external():
|
||||
blocks = markdown_to_notion_blocks("")
|
||||
assert len(blocks) == 1
|
||||
b = blocks[0]
|
||||
assert b["type"] == "image"
|
||||
assert b["image"]["type"] == "external"
|
||||
assert b["image"]["external"]["url"] == "https://ex.com/c.png"
|
||||
assert b["image"]["caption"][0]["text"]["content"] == "a chart"
|
||||
|
||||
|
||||
def test_image_local_external_shape_preupload():
|
||||
blocks = markdown_to_notion_blocks("")
|
||||
assert len(blocks) == 1
|
||||
assert blocks[0]["image"]["external"]["url"] == "./pics/x.png"
|
||||
|
||||
|
||||
def test_image_only_when_standalone():
|
||||
# An inline bang-bracket inside prose is NOT an image block.
|
||||
blocks = markdown_to_notion_blocks("see  inline")
|
||||
assert blocks[0]["type"] == "paragraph"
|
||||
|
||||
|
||||
def run_all():
|
||||
tests = [
|
||||
test_rich_text_plain,
|
||||
@@ -447,6 +469,9 @@ def run_all():
|
||||
test_rich_text_relative_link_becomes_plain,
|
||||
test_rich_text_absolute_link_preserved,
|
||||
test_no_literal_markers_leak,
|
||||
test_image_remote_external,
|
||||
test_image_local_external_shape_preupload,
|
||||
test_image_only_when_standalone,
|
||||
]
|
||||
for t in tests:
|
||||
print(f"\n{t.__name__}")
|
||||
|
||||
Reference in New Issue
Block a user