feature/markdown-table-format
main
Markdownのテーブル記法を表形式として読み書きできるようにします。
markdown
md
go test ./...
go vet ./...
git diff --check
コミット 83c2c9e に対して、以下を再実行しました。
83c2c9e
TestResolveMarkdownFormatFromFileExtension
.md
TestMarkdownTableRoundTrip
|
\n
TestMarkdownTableAcceptsAlignmentAndOptionalOuterPipes
:---
---:
:---:
\|
TestStructuredRecordsWithoutScalarFieldsAreRejectedForTables/markdown_*
{}
[{}]
TestEmptyRecordListCanRoundTripThroughDelimitedFormats/markdown
[]
TestConversionMatrixPreservesRepresentativeTable — 49/49 PASS
TestConversionMatrixPreservesRepresentativeTable
対象形式: JSON / YAML / TOML / CSV / TSV / XLSX / Markdown
各形式から各形式への7×7通りを変換後、TSVへ正規化して次を比較しています。
Markdownが関係する13通り(他6形式→Markdown、Markdown→他6形式、Markdown→Markdown)もすべてPASSしています。
YAML → Markdown:
| department | id | items[0].qty | items[0].sku | user.email | user.name | | --- | --- | --- | --- | --- | --- | | Sales | 1 | 2 | A-001 | [email protected] | Alice | | Engineering | 2 | 5 | B-002 | [email protected] | Bob |
Markdown → JSONでは、入力セル Alice \| Bob と line 1 line 2 が次のように復元されました。
Alice \| Bob
line 1 line 2
{ "id": 1, "name": "Alice | Bob", "note": "line 1\nline 2" }
go test -v ./cmd/dataxl
[email protected] ./...
CI / test (pull_request)
なお、最初のCI失敗はGo 1.25.0標準ライブラリのGO-2026-6088検出によるもので、最低バージョンを修正版のGo 1.25.13へ上げた後、同じCI一式が成功しています。
No dependencies set.
The note is not visible to the blocked user.
概要
Markdownのテーブル記法を表形式として読み書きできるようにします。
変更内容
markdown/md形式と拡張子推定を追加検証
go test ./...go vet ./...git diff --check検証内容と結果
コミット
83c2c9eに対して、以下を再実行しました。1. Markdown固有の単体テスト
TestResolveMarkdownFormatFromFileExtension— PASS.mdからmarkdown形式を推定できることを確認TestMarkdownTableRoundTrip— PASS|、バックスラッシュ、実改行、文字列としての\nを区別して保持できることを確認TestMarkdownTableAcceptsAlignmentAndOptionalOuterPipes— PASS|を省略した表を読み込めることを確認:---/---:/:---:のalignment markerを受理することを確認\|をセル内のパイプとして復元できることを確認TestStructuredRecordsWithoutScalarFieldsAreRejectedForTables/markdown_*— PASS{}/[{}]を黙って欠落させずエラーにすることを確認TestEmptyRecordListCanRoundTripThroughDelimitedFormats/markdown— PASS[]の往復を確認2. 全対応形式の変換マトリクス
TestConversionMatrixPreservesRepresentativeTable— 49/49 PASS対象形式: JSON / YAML / TOML / CSV / TSV / XLSX / Markdown
各形式から各形式への7×7通りを変換後、TSVへ正規化して次を比較しています。
Markdownが関係する13通り(他6形式→Markdown、Markdown→他6形式、Markdown→Markdown)もすべてPASSしています。
3. CLI実動確認
YAML → Markdown:
Markdown → JSONでは、入力セル
Alice \| Bobとline 1 line 2が次のように復元されました。4. 品質・セキュリティ検査
go test -v ./cmd/dataxl— PASSgo vet ./...— PASS[email protected] ./...— PASS: No vulnerabilities foundgit diff --check— PASSCI / test (pull_request)— PASS (45s)なお、最初のCI失敗はGo 1.25.0標準ライブラリのGO-2026-6088検出によるもので、最低バージョンを修正版のGo 1.25.13へ上げた後、同じCI一式が成功しています。