首页列表精简 meta 与统计展示,板块色标前移并淡化;有回复时显示最后回复人。右侧栏新增最新注册(4 列头像网格),友链改为标签块并排换行。 Co-authored-by: Cursor <cursoragent@cursor.com>
38 lines
1.1 KiB
Go
38 lines
1.1 KiB
Go
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) != 4 {
|
|
t.Fatalf("want 4 widgets, got %d", len(out))
|
|
}
|
|
want := []string{AsideWidgetFriendLinks, AsideWidgetTagCloud, AsideWidgetRecentComments, AsideWidgetRecentUsers}
|
|
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 || out[3].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},
|
|
{ID: AsideWidgetRecentUsers, Enabled: true},
|
|
}
|
|
bools := asideBoolsFromWidgets(widgets)
|
|
if !bools.tagCloud || !bools.recentComments || bools.friendLinks {
|
|
t.Fatalf("unexpected bools: %+v", bools)
|
|
}
|
|
}
|