From 64ea6091374753ec5424b5883aa0a189fa54831e Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Fri, 1 May 2026 10:31:40 +0300 Subject: Add self-hosted VT323 matrix font for task 0b --- integrationtests/integration_test.go | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'integrationtests') diff --git a/integrationtests/integration_test.go b/integrationtests/integration_test.go index 44913c5..93b3b4e 100644 --- a/integrationtests/integration_test.go +++ b/integrationtests/integration_test.go @@ -457,6 +457,27 @@ func TestThemeSelection(t *testing.T) { t.Fatalf("theme asset %s is empty", path) } } + if theme == "matrix" { + matrixDir := filepath.Join(outputDir, "themes", "matrix") + for _, fname := range []string{"VT323-Regular.woff2", "FONT_LICENSE.txt"} { + path := filepath.Join(matrixDir, fname) + info, err := os.Stat(path) + if err != nil { + t.Fatalf("matrix extra asset missing %s: %v", path, err) + } + if info.Size() == 0 { + t.Fatalf("matrix extra asset %s is empty", path) + } + } + + matrixCSS := readFile(t, filepath.Join(matrixDir, "theme.css")) + assertContains(t, matrixCSS, "url('VT323-Regular.woff2')", "matrix local font URL") + for _, forbidden := range []string{"googleapis", "gstatic", "fonts.cdn", "@import url(http"} { + if strings.Contains(matrixCSS, forbidden) { + t.Fatalf("matrix theme.css contains runtime third-party font reference %q", forbidden) + } + } + } // sounds.json must include ambient data. soundsPath := filepath.Join(outputDir, "themes", theme, "sounds.json") -- cgit v1.2.3