feat(media-supply): add image upload functionality and enhance HTML handling in article processing
This commit is contained in:
@@ -292,8 +292,51 @@ func TestMeijiequanCreateOrderFormMatchesUpstreamShape(t *testing.T) {
|
||||
|
||||
func TestMeijiequanArticleHTMLKeepsExistingHTML(t *testing.T) {
|
||||
input := `<p><img src="http://example.test/a.png" title="x" _src="http://example.test/a.png" alt="a"></p><p>正文</p>`
|
||||
if got := meijiequanArticleHTML(input); got != input {
|
||||
t.Fatalf("expected html passthrough, got %s", got)
|
||||
got := meijiequanArticleHTML(input)
|
||||
if !strings.Contains(got, `<p><img src="http://example.test/a.png"`) ||
|
||||
!strings.Contains(got, `title="x"`) ||
|
||||
!strings.Contains(got, `_src="http://example.test/a.png"`) ||
|
||||
!strings.Contains(got, `alt="a"`) ||
|
||||
!strings.Contains(got, `<p>正文</p>`) {
|
||||
t.Fatalf("expected html image and paragraphs to be preserved, got %s", got)
|
||||
}
|
||||
}
|
||||
|
||||
func TestMeijiequanArticleHTMLConvertsMilkdownMixedMarkdown(t *testing.T) {
|
||||
input := strings.Join([]string{
|
||||
"# 标题",
|
||||
"",
|
||||
`<p class="article-editor-image article-editor-image--center" align="center"><img src="http://example.test/a.webp" alt="图注" title="图注" data-asset-id="88" /></p>`,
|
||||
"",
|
||||
"## 小标题",
|
||||
"",
|
||||
"- 第一条",
|
||||
"- **第二条**",
|
||||
"",
|
||||
"| 维度 | 说明 |",
|
||||
"| --- | --- |",
|
||||
"| 环保 | ENF |",
|
||||
}, "\n")
|
||||
|
||||
got := meijiequanArticleHTML(input)
|
||||
if !strings.Contains(got, "<h1>标题</h1>") ||
|
||||
!strings.Contains(got, `<img src="http://example.test/a.webp"`) ||
|
||||
!strings.Contains(got, `_src="http://example.test/a.webp"`) ||
|
||||
strings.Contains(got, "data-asset-id") ||
|
||||
!strings.Contains(got, "<h2>小标题</h2>") ||
|
||||
!strings.Contains(got, "<li>第一条</li>") ||
|
||||
!strings.Contains(got, "<strong>第二条</strong>") ||
|
||||
!strings.Contains(got, "<table>") ||
|
||||
!strings.Contains(got, "<td>ENF</td>") {
|
||||
t.Fatalf("unexpected mixed markdown html: %s", got)
|
||||
}
|
||||
}
|
||||
|
||||
func TestMeijiequanArticleHTMLBackfillsImageSrcFromOriginalSrc(t *testing.T) {
|
||||
got := meijiequanArticleHTML(`<p><img _src="http://example.test/original.png" alt="a"></p>`)
|
||||
if !strings.Contains(got, `src="http://example.test/original.png"`) ||
|
||||
!strings.Contains(got, `_src="http://example.test/original.png"`) {
|
||||
t.Fatalf("expected src and _src to be normalized, got %s", got)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user