feat: implement rule engine, worker pool, event bus, and readability scraping with enhanced logging and content sanitization.
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
package parser
|
||||
|
||||
import (
|
||||
"strings"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestParseDraftJSText(t *testing.T) {
|
||||
desc := `就这样吧评论: 奥德赛 (https://movie.douban.com/subject/36808876/)
|
||||
评价: 推荐
|
||||
|
||||
{"entityMap": {}, "blocks": [{"key": "1", "text": "终于看完了奥德赛,非常精彩!", "type": "unstyled"}]}`
|
||||
|
||||
content := `<img src="https://img9.doubanio.com/poster.jpg" /><a href="#">就这样吧</a>评论: <a href="#">奥德赛</a><br/>评价: 推荐`
|
||||
|
||||
combined := sanitizeAndCombineContent(content, desc)
|
||||
|
||||
if !strings.Contains(combined, "终于看完了奥德赛,非常精彩!") {
|
||||
t.Fatalf("expected parsed text in output, got: %s", combined)
|
||||
}
|
||||
if !strings.Contains(combined, "<p>终于看完了奥德赛,非常精彩!</p>") {
|
||||
t.Fatalf("expected formatted paragraph in output, got: %s", combined)
|
||||
}
|
||||
if !strings.Contains(combined, "img9.doubanio.com/poster.jpg") {
|
||||
t.Fatalf("expected poster in output, got: %s", combined)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user