node tools/check.mjs
115 tinyDatagrid-Dateihashes geprüft.
tinyOT local source and WASM asset hashes verified.
168 JavaScript-Dateien geprüft, 0 Fehler.
python3 -c 'import ast,pathlib; files=sorted([*pathlib.Path("tools").glob("*.py"),*pathlib.Path("tests").glob("*.py")]); [ast.parse(p.read_text(encoding="utf-8"),filename=str(p)) for p in files]; print(str(len(files))+" Python files checked.")'
38 Python files checked.
go vet ./...
cd third_party/tinyOT && go vet ./...
/Users/simonwaldherr/git/SovereignOffice/third_party/tinyOT
python3 tests/public_config_test.py
....
----------------------------------------------------------------------
Ran 4 tests in 0.023s

OK
node --test  tests/*.test.mjs
✔ Code indentation handles single cursor, multiline selections and dedentation (0.893333ms)
✔ JSON formatting preserves duplicate keys, exact large numbers and string escapes (5.480833ms)
✔ Code source is inert project data with bounded language and file extensions (26.460708ms)
✔ language detection uses file names, extensions and the first line (73.506125ms)
✔ the syntax tokenizer marks comments, strings, keys, numbers and keywords per language (440.519417ms)
✔ tokenizing is lossless and linear even for large or malformed input (780.506833ms)
✔ CRC32 known vector (0.767208ms)
✔ ZIP store roundtrip including UTF-8 data (2.209375ms)
✔ ZIP rejects modified content (3.483375ms)
✔ ZIP rejects encryption (0.260958ms)
✔ ZIP traversal is rejected at write boundary (0.117ms)
✔ ZIP validates the central directory (0.143083ms)
✔ ZIP caps entry count (70.182333ms)
✔ ZIP caps input size (0.575166ms)
✔ ZIP rejects random bytes and truncation (0.683125ms)
✔ native file roundtrip creates independent ID (130.058416ms)
✔ native file rejects future manifest versions (1.436666ms)
✔ native file rejects hidden additional executable files (0.42675ms)
✔ document kinds are explicit (0.115208ms)
✔ presentation validates dimensions (0.319791ms)
✔ presentation blocks linked and SVG images (0.345ms)
✔ presentation rejects duplicate object identities (0.093542ms)
✔ presentation uses an existing active slide (0.51775ms)
✔ database snapshot and script limits are checked (0.177875ms)
✔ JSON prototype keys are rejected (0.176875ms)
✔ URLs and images use restricted schemes (0.195375ms)
✔ SQL splitter preserves quoted semicolons (1.770083ms)
✔ SQL splitter ignores semicolons inside comments (0.121125ms)
✔ SQL splitter preserves dollar quotes (0.082541ms)
✔ SQL splitter rejects unclosed quotes/comments (0.121208ms)
✔ SQL transaction control stays with the host (0.074209ms)
✔ SQL response errors are not interpreted as empty success (0.071584ms)
✔ SQL result shape matches upstream wasmbridge (0.069041ms)
✔ CSV quotes commas, quotes and line breaks (0.139416ms)
✔ CSV prevents formula activation but retains numeric negatives (0.042333ms)
✔ CSV handles precise decimal values (0.41625ms)
✔ history discards redo branch after a new edit (0.12175ms)
✔ history snapshots do not share references (0.034333ms)
✔ scene rotated bounds and hit testing (0.097541ms)
✔ alignment snapping is scale-aware and pure (0.168167ms)
✔ ZPL adapter converts actual text and box fields (0.540709ms)
✔ Markdown escapes raw HTML (2.037708ms)
✔ session saves edits made during an in-flight write (354.28925ms)
✔ concurrent flush callers do not duplicate writes (49.314ms)
✔ storage failure leaves the editor dirty and retryable (41.0535ms)
✔ conflict is not silently overwritten (17.15175ms)
✔ ZIP deflate reader roundtrips genuine compressed UTF-8 content (15.833917ms)
✔ ZIP deflate rejects output larger than declared length (3.071917ms)
✔ spreadsheet normalization does not introduce unnecessary legacy aliases (0.260875ms)
✔ legacy root aliases cannot bypass validated worksheet bounds (0.112333ms)
✔ spreadsheet duplicate cell coordinates are rejected (0.119208ms)
✔ native export normalizes unsafe styles without mutating the editor (0.636458ms)
✔ DOT import reads nodes, shapes, fills, edge chains and ignores comments (210.720875ms)
✔ DOT import copes with subgraphs, ports, undirected graphs and quoted ids (9.782791ms)
✔ long chains and very wide layers are wrapped or scaled to fit the 2048 pixel canvas (203.397709ms)
✔ automatic layout separates every node and keeps arrows inside the canvas, also with cycles (0.507333ms)
✔ exported DOT keeps labels, shapes, fills and positions through a round trip (3.919833ms)
✔ Mermaid import supports shapes, labelled links, chains, groups and styles (1.386416ms)
✔ Mermaid export reads back to the same graph (0.957833ms)
✔ invalid or oversized diagrams are rejected with a clear message (135.670125ms)
✔ text is inert: html labels lose their markup and colours are validated (4.219542ms)
✔ the extension decides between DOT and Mermaid (0.255084ms)
✔ extensions route to one importer each, including the new Office, image, audio and text variants (625.312666ms)
✔ ZIP containers are classified by structure, templates and macro files included (50.448625ms)
✔ content wins over a wrong extension and the user is told (0.630875ms)
✔ unsupported and broken files fail with advice instead of a generic message (1.143375ms)
✔ unknown extensions and file names open as source code only when the content is text (0.516417ms)
✔ sniffing recognises signatures, UTF-16 text and rejects NUL-filled binaries (0.345417ms)
✔ the format overview is derived from the same table that routes imports (0.149167ms)
✔ interface language choices are bounded and browser language falls back predictably (6.679084ms)
✔ UI interpolation preserves Unicode, user data and unknown placeholders without interpreting HTML (0.265833ms)
✔ language persistence rejects invalid choices and reports blocked storage instead of reloading silently (0.342333ms)
✔ fallback inflates stored, fixed, dynamic and multi-block streams from zlib (764.772833ms)
✔ fallback rejects invalid blocks, truncation, trailing data and expansion above declared size (1.236791ms)
✔ OpenFormula converts qualified, absolute and relative references without changing strings (2.144417ms)
✔ RTF handles Unicode, ANSI escapes, grouping and literal braces safely (1.109917ms)
✔ RTF skips objects and unknown destinations and rejects malformed binary/groups (0.249125ms)
✔ TSV quotes embedded tabs and newlines, preserves Unicode and prevents formula activation (0.152458ms)
✔ local backup contains current document models but no server bindings or source IDs (119.372541ms)
✔ a malformed model prevents preparation of the complete backup import (31.032083ms)
✔ backup models remain independent and document count is bounded (187.26175ms)
✔ a valid native document without a title still participates in the workspace backup (2.1775ms)
✔ PCM WAV interleaves stereo, preserves sample rate and clamps output (1.072084ms)
✔ WAV rejects truncation, declared length mismatch, unsupported codec and sample limits (0.208375ms)
✔ Audio selection across edits retains original source offsets (0.150958ms)
✔ Audio render applies edits, normalization and fades without changing source (0.33825ms)
✔ Media document kinds survive independent native project roundtrips (7.220917ms)
✔ Media validation rejects active resources, oversized layers and invalid audio offsets (0.817458ms)
✔ Diagram SVG escapes labels and keeps connectors attached at shape boundaries (0.541916ms)
✔ WAV reader decodes 8, 24 and 32 bit PCM, 32/64 bit float and WAVE_FORMAT_EXTENSIBLE (6.066375ms)
✔ WAV reader still refuses unsupported codecs, layouts and odd sizes (0.998459ms)
✔ AIFF and AIFC reader handles big-endian PCM, sowt and the 80-bit sample rate (1.033667ms)
✔ BMP export writes a bottom-up 24 bit bitmap with transparency flattened onto white (0.674333ms)
✔ Office ZIP paths and larger entry counts do not relax native container limits (14.571334ms)
✔ OPC relationships resolve relative, rooted and encoded package targets (0.718209ms)
✔ shared Excel formulas shift relative references without changing literals or absolute cells (1.53025ms)
✔ Excel dates preserve the 1900/1904 systems and the fictional leap day (0.565541ms)
✔ Excel basic number formats preserve percentages, currencies, zero padding and dates (22.204333ms)
✔ OpenFormula references preserve literals, absolute ranges and sheet names (2.335667ms)
✔ Office export values retain literal strings and date serial boundaries (0.603042ms)
✔ XLSX stores text as inline strings and formula results as numeric caches (0.700375ms)
✔ ODF package writes uncompressed mimetype first with manifest and OpenFormula (1.466042ms)
✔ DOCX includes relationships, styles, numbering and escaped Unicode text (0.295083ms)
✔ XLSX shares fonts, fills and number formats across unrelated cell styles (0.135583ms)
✔ Office exports normalize HTML/CSS RGB colors as well as hexadecimal colors (0.198666ms)
✔ public static profile preserves the optional self-host profile and source tree (3807.793333ms)
✔ public clients reject every server capability before fetch even with stale credentials (1.444333ms)
✔ public manifests match their complete assets and exclude OT and source download from offline install (406.093625ms)
✔ public service worker denies API fallback at root and inside a subdirectory (23.301958ms)
✔ public builder refuses source directories and unrelated output folders (352.130667ms)
✔ production public build requires the real local SQL runtime (86.812625ms)
✔ source defaults remain offline-installable without Git-ignored optional runtimes (101.214709ms)
✔ YAML profile controls domain, legal pages, hosting and release validation (3351.419459ms)
✔ asset server delivers the complete grid and body-free HEAD responses (692.030959ms)
✔ asset server revalidates weak, strong, list and wildcard ETags (39.539791ms)
✔ asset server retains method and loopback host restrictions (39.834708ms)
✔ server saves use quoted revision tags and same-origin credentials (384.888416ms)
✔ expired administrator sessions clear credentials without retrying a write (0.833875ms)
✔ missing optional API is distinguishable from a temporary proxy failure (0.383208ms)
✔ backup timeout covers slow response bodies without AbortSignal.timeout (9.987791ms)
✔ backup upload transmits original file bytes (0.886417ms)
✔ deployment policy is loaded without requiring policy support from older servers (1.958583ms)
✔ individual login, status and logout keep identity in memory (0.618375ms)
✔ account guest links accept only bounded random workspace routing (0.384875ms)
✔ session revocation clears client credentials only for current session (0.273292ms)
✔ LDAP configuration responses and per-user settings stay within authenticated APIs (0.271542ms)
✔ share management compares share revisions independently of document revisions (0.226166ms)
✔ guest metadata never transmits a password and does not clear an owner session (0.186ms)
✔ Markdown tables escape pipes, line breaks and right-align number columns (0.646125ms)
✔ HTML tables are standalone documents with every cell escaped (0.309042ms)
✔ JSON records use the header row as field names with unique, non-empty keys (0.490958ms)
✔ computed values of every type become plain JSON data (0.205042ms)
✔ JSON Lines import unions keys, flattens nested values and names the failing line (11.567167ms)
✔ delimiter detection prefers the separator that is consistent across lines and ignores quoted text (0.654166ms)
✔ local examples cover every supported editor with stable, immutable catalog IDs (0.991708ms)
✔ each local template creates independently editable document content (304.685917ms)
✔ office cost comparison recalculates assumptions and includes migration costs (106.624875ms)
✔ expense formulas multiply quantities and subtract reimbursements (1.183458ms)
✔ audio example is a bounded real WAV with audible samples and non-destructive fades (54.268958ms)
✔ JSON starter is a real editable JSON source and SQL remains scoped, unexecuted local input (1.277875ms)
✔ PDF example has a complete page tree, bounded stream and valid byte offsets (0.897625ms)
✔ Office text decoding preserves UTF-8, both UTF-16 orders and Windows-1252 (4.859875ms)
✔ Excel sep directive and semicolon output retain quoting and injection protection (0.693042ms)
✔ download names avoid Windows device names, trailing dots and multibyte path limits (0.334291ms)
✔ Excel semicolon CSV uses decimal commas only for numeric values (0.078375ms)
✔ real tinyOT WASM converges concurrent inserts with pending buffers and immutable retries (46.398042ms)
✔ POST acknowledgements can arrive before earlier canonical SSE events (3.614833ms)
✔ UTF-16 boundaries and remote cursor mapping preserve non-BMP characters (0.736041ms)
✔ locally supplied JSON and bitmap algorithms are available in the same WASM (7.45725ms)
✔ structured OT preserves independent Excel cells, formats and sheet identities (95.874ms)
✔ rich text node edits converge while independent formatting is retained (8.620958ms)
✔ concurrent masked bitmap patches on one layer retain both drawings (48.997458ms)
✔ all remaining editor models emit granular structured operations (11.181125ms)
✔ simultaneous binary source replacements report conflict instead of discarding a file (2.204166ms)
✔ undo does not restore a scalar over a later edit from another account (0.979209ms)
ℹ tests 155
ℹ suites 0
ℹ pass 155
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 10611.650375
go test  ./...
ok  	sovereignoffice	83.514s
?   	sovereignoffice/cmd/sovereign	[no test files]
cd third_party/tinyOT && go test  ./...
/Users/simonwaldherr/git/SovereignOffice/third_party/tinyOT
ok  	github.com/SimonWaldherr/tinyOT/bitmap	(cached)
?   	github.com/SimonWaldherr/tinyOT/core	[no test files]
ok  	github.com/SimonWaldherr/tinyOT/jsonot	(cached)
ok  	github.com/SimonWaldherr/tinyOT/server	(cached)
ok  	github.com/SimonWaldherr/tinyOT/text	(cached)
