42 lines
1.8 KiB
Bash
Executable File
42 lines
1.8 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# ============================================================================
|
|
# TC-28 — Journal Sheet
|
|
# Usage: ./tc-28-journal.sh [--navigate]
|
|
# ============================================================================
|
|
set -uo pipefail
|
|
source "$(dirname "$0")/tc-header.sh"
|
|
|
|
echo ""
|
|
echo "╔══════════════════════════════════════════════════════════════╗"
|
|
echo "║ TC-28 — Journal Sheet ║"
|
|
echo "╚══════════════════════════════════════════════════════════════╝"
|
|
echo ""
|
|
|
|
tc_ensure_ready
|
|
|
|
# ============================================================================
|
|
echo "--- TC-28-001: Journal système s'ouvre ---"
|
|
# ============================================================================
|
|
R=$(jse_get_async "
|
|
try {
|
|
const journal = await JournalEntry.create({name: 'TC-28 Test', content: '<p>Test</p>'}, {temporary: true});
|
|
if (!journal) return {error: 'create failed'};
|
|
const sheet = journal.sheet;
|
|
await sheet.render(true);
|
|
await new Promise(r => setTimeout(r, 1500));
|
|
const el = sheet.element;
|
|
const ok = !!el && document.body.contains(el);
|
|
await sheet.close();
|
|
return { opened: ok, sheetName: sheet?.constructor?.name };
|
|
} catch(e) { return {error: e.message}; }
|
|
")
|
|
OPENED=$(eval_ok "$R" opened)
|
|
ERR=$(eval_ok "$R" error)
|
|
[ "$OPENED" = "True" ] && pass "TC-28-001: journal sheet ouverte" || fail "TC-28-001: KO ($ERR)"
|
|
|
|
echo ""
|
|
echo "--- Console errors ---"
|
|
ERRS=$(tc_console_errors)
|
|
[ "$ERRS" -le 5 ] 2>/dev/null && pass "Console errors ≤5 ($ERRS)" || fail "Console errors: $ERRS"
|
|
|
|
tc_summary |