From b1438d52220e6f6405600e2ad873499cf9225e0b Mon Sep 17 00:00:00 2001 From: Chili Palmer Date: Sat, 30 May 2026 19:15:50 +0200 Subject: [PATCH] Fix D2-8: add width/height assertions to ConditionalMediaFields nil-fields-absent test --- SPECGAPS.md | 2 +- test/bds/media_test.exs | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/SPECGAPS.md b/SPECGAPS.md index 949067d..a5fa92d 100644 --- a/SPECGAPS.md +++ b/SPECGAPS.md @@ -145,7 +145,7 @@ All reconciled to follow code. Specs must be self-consistent and match code. | D2-5 | ~~FrontmatterRoundtrip invariant~~ | post.allium:223 | **Resolved:** test added — creates post with all fields, publishes, parses file back via `Frontmatter.parse_document`, asserts every field (id, title, slug, excerpt, status, author, language, doNotTranslate, templateSlug, tags, categories, createdAt, updatedAt, publishedAt, body) matches the published DB record | | ~~D2-6~~ | ~~SidecarRoundtrip invariant~~ | ~~media.allium:198~~ | **Resolved:** 2 tests added — full roundtrip (write sidecar, parse via `Sidecar.parse_document/1`, assert all fields match DB) + nil conditional fields absent from parsed sidecar | | ~~D2-7~~ | ~~ConditionalPostFields: nil fields absent from frontmatter~~ | frontmatter.allium:398 | **Resolved:** test added — post with nil excerpt/author/language → those fields absent from published file, 3 refute assertions | -| D2-8 | ConditionalMediaFields: nil fields absent from sidecar | frontmatter.allium:417 | Write test: media with nil title/alt → fields not in sidecar | +| ~~D2-8~~ | ~~ConditionalMediaFields: nil fields absent from sidecar~~ | frontmatter.allium:417 | **Resolved:** added width/height assertions to nil-fields-absent test | | D2-9 | max_posts_per_page 1..500 constraint | metadata.allium:75-77 | Write test: values outside range rejected | | D2-10 | SandboxedExecution: restricted capabilities blocked | script.allium:84-88 | Write test: filesystem/process/package loading blocked | | D2-11 | TransformToastBudget enforcement | script.allium:251-258 | Write test: per-script and total toast limits enforced | diff --git a/test/bds/media_test.exs b/test/bds/media_test.exs index 0bf6b41..ad14764 100644 --- a/test/bds/media_test.exs +++ b/test/bds/media_test.exs @@ -697,6 +697,8 @@ defmodule BDS.MediaTest do assert media.caption == nil assert media.author == nil assert media.language == nil + assert media.width == nil + assert media.height == nil sidecar_path = Path.join(temp_dir, media.sidecar_path) {:ok, contents} = File.read(sidecar_path) @@ -707,6 +709,8 @@ defmodule BDS.MediaTest do refute Map.has_key?(parsed, "caption") refute Map.has_key?(parsed, "author") refute Map.has_key?(parsed, "language") + refute Map.has_key?(parsed, "width") + refute Map.has_key?(parsed, "height") assert Map.has_key?(parsed, "id") assert Map.has_key?(parsed, "originalName")