Eine Biene als Wappen, an allen vier Stellen

Aus dem Quadrat links in beiden Leisten wird eine Pixelbiene von der Seite:
braune Streifen, schwarze Beine, Fluegel mit Kerbe. Sie steht in genau einem
Raster (tools/biene.py, 16x16 Zeichen); daraus entstehen SVG, PNG und eine
Fassung aus Schriftzeichen.

SVG statt PNG in den Leisten: Die HoneyBar laeuft in fremden Apps, und ob ein
<img> dort laedt, entscheidet deren CSP. Markup kann niemand blockieren.

Im System-Fenster und ueber dem Startlauf steht die Biene aus Schriftzeichen —
beides sind Textflaechen, ein Bild darin waere ein Fremdkoerper.

Das Wappen liegt an drei Stellen (Datei, Modul, HoneyBar-Zeile), weil die
Leiste nichts nachladen kann. TestWappenIstUeberallDasselbe haelt sie gleich.
This commit is contained in:
marc committed 2026-09-02 10:21:03 +02:00
1 parent aec042a8c9
commit 3f8b98b869
14 files changed
+301 -10

No files matched your search

+27
View File
@@ -177,3 +177,30 @@ func TestNotizNichtUeberDenSchluessel(t *testing.T) {
t.Fatalf("mit Schlüssel: %d, erwartet 401", rec.Code)
}
}
// Das Wappen steht an drei Stellen: als Datei (Favicon), als Modul für den
// Schreibtisch und als Zeile in der HoneyBar — die kann keine Datei nachladen,
// weil sie in fremden Apps läuft und deren CSP das entscheidet.
//
// Drei Kopien laufen auseinander, sobald jemand eine davon von Hand anfasst.
// Erzeugt werden alle von tools/biene.py; dieser Test hält sie zusammen.
func TestWappenIstUeberallDasselbe(t *testing.T) {
roh, err := os.ReadFile("web/img/biene.svg")
if err != nil {
t.Fatalf("web/img/biene.svg fehlt: %v", err)
}
wappen := strings.TrimSpace(string(roh))
if !strings.HasPrefix(wappen, "<svg") || len(wappen) < 500 {
t.Fatalf("web/img/biene.svg sieht nicht nach dem Wappen aus (%d Zeichen)", len(wappen))
}
for _, datei := range []string{"web/honeybar/honeybar.js", "web/js/biene.js"} {
b, err := os.ReadFile(datei)
if err != nil {
t.Fatalf("%s: %v", datei, err)
}
if !strings.Contains(string(b), wappen) {
t.Errorf("%s trägt ein anderes Wappen als web/img/biene.svg — tools/biene.py laufen lassen", datei)
}
}
}