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:
1 parent
aec042a8c9
commit
3f8b98b869
14 files changed
+301
-10
No files matched your search
@@ -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)
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user