feat: 增加友链申请、独立页面、投票/悬赏/抽奖帖与侧栏签到,并统一开发数据目录

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-08-27 06:23:54 +08:00
parent df19752a1e
commit 2208af7070
80 changed files with 9620 additions and 641 deletions

View File

@@ -0,0 +1,36 @@
package service
import "testing"
func TestNormalizeAsideWidgetsPreservesOrder(t *testing.T) {
in := []AsideWidget{
{ID: AsideWidgetFriendLinks, Enabled: true},
{ID: AsideWidgetTagCloud, Enabled: true},
{ID: AsideWidgetRecentComments, Enabled: false},
}
out := NormalizeAsideWidgets(in)
if len(out) != 3 {
t.Fatalf("want 3 widgets, got %d", len(out))
}
want := []string{AsideWidgetFriendLinks, AsideWidgetTagCloud, AsideWidgetRecentComments}
for i, id := range want {
if out[i].ID != id {
t.Fatalf("index %d: want %s, got %s", i, id, out[i].ID)
}
}
if !out[0].Enabled || !out[1].Enabled || out[2].Enabled {
t.Fatalf("enabled flags mismatch: %+v", out)
}
}
func TestAsideBoolsFromWidgets(t *testing.T) {
widgets := []AsideWidget{
{ID: AsideWidgetRecentComments, Enabled: true},
{ID: AsideWidgetFriendLinks, Enabled: false},
{ID: AsideWidgetTagCloud, Enabled: true},
}
bools := asideBoolsFromWidgets(widgets)
if !bools.tagCloud || !bools.recentComments || bools.friendLinks {
t.Fatalf("unexpected bools: %+v", bools)
}
}