Cthulhu is no longer a fork. Now it is a screen reader written in Golang.

This commit is contained in:
Storm Dragon committed 2026-10-14 00:16:34 -04:00
1 parent a998fe67de
commit 069fc674dc
708 files changed
+112482 -532

No files matched your search

+47
View File
@@ -0,0 +1,47 @@
// Copyright (c) 2026 Storm Dragon
// Authors: Storm Dragon, Angus Kola
// SPDX-License-Identifier: GPL-3.0-or-later
package atspi
import (
"context"
"os"
"testing"
"time"
"git.stormux.org/storm/cthulhu/internal/platform/xorg"
)
// A private X server represents an available Xwayland connection here. It does
// not establish compositor support, only that X metadata cannot veto AT-SPI.
func TestNativeWaylandForegroundPolicy(t *testing.T) {
if os.Getenv("CTHULHU_NATIVE_WAYLAND_POLICY") != "1" {
t.Skip("requires private Xvfb and D-Bus")
}
reader := xorg.OpenForegroundReader()
if reader == nil {
t.Fatal("private X11 display unavailable")
}
reader.Close()
t.Setenv("XDG_SESSION_TYPE", "wayland")
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
defer cancel()
adapter := New()
if err := adapter.Start(ctx); err != nil {
t.Fatal(err)
}
defer func() {
stopCtx, stop := context.WithTimeout(context.Background(), 3*time.Second)
defer stop()
if err := adapter.Stop(stopCtx); err != nil {
t.Error(err)
}
}()
if adapter.Foreground().Client.Known {
t.Fatal("X11 foreground used as Wayland desktop authority")
}
if !adapter.matchesForeground(nil, ObjectID{}) {
t.Fatal("missing X11 foreground rejected Wayland accessibility")
}
}