67 lines
2.0 KiB
Bash
Executable File
67 lines
2.0 KiB
Bash
Executable File
#!/bin/bash
|
|
# Regression: engine-powered graph HTML must build locally and stay offline-friendly
|
|
|
|
set -euo pipefail
|
|
|
|
REPO_ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
|
source "$REPO_ROOT/tests/lib/graph-html-engine-helpers.sh"
|
|
|
|
test_graph_html_engine_output_exists() {
|
|
local tmp_dir output_dir
|
|
tmp_dir="$(mktemp -d)"
|
|
output_dir="$tmp_dir/wiki"
|
|
|
|
build_graph_html_fixture "$tmp_dir"
|
|
assert_single_file_engine_output "$output_dir"
|
|
|
|
rm -rf "$tmp_dir"
|
|
}
|
|
|
|
test_graph_html_embeds_engine_runtime_and_sanitizer() {
|
|
local tmp_dir html
|
|
tmp_dir="$(mktemp -d)"
|
|
|
|
build_graph_html_fixture "$tmp_dir"
|
|
html="$tmp_dir/wiki/knowledge-graph.html"
|
|
|
|
assert_file_contains "$html" "window.LlmWikiGraphEngine.createGraphEngine"
|
|
assert_file_contains "$html" "DOMPurify.sanitize"
|
|
assert_file_contains "$html" "marked.parse"
|
|
assert_file_contains "$html" "graph-reader-markdown"
|
|
assert_file_contains "$html" "llm-wiki-graph-engine"
|
|
assert_file_not_contains "$html" "cdn.jsdelivr.net"
|
|
assert_file_not_contains "$html" "fonts.googleapis.com"
|
|
assert_file_not_contains "$html" "fonts.gstatic.com"
|
|
assert_file_not_contains "$html" "sample-data.js"
|
|
assert_file_not_contains "$html" "vis-network.min.js"
|
|
|
|
rm -rf "$tmp_dir"
|
|
}
|
|
|
|
test_graph_html_oriental_visual_contract() {
|
|
local tmp_dir html
|
|
tmp_dir="$(mktemp -d)"
|
|
|
|
build_graph_html_fixture "$tmp_dir"
|
|
html="$tmp_dir/wiki/knowledge-graph.html"
|
|
|
|
assert_file_contains "$html" "国风知识库·数字山水图"
|
|
assert_file_contains "$html" "知识舆图"
|
|
assert_file_contains "$html" "var(--cinnabar)"
|
|
assert_file_contains "$html" "community-wash"
|
|
assert_file_contains "$html" "node-layer"
|
|
assert_file_contains "$html" "edge-layer"
|
|
assert_file_contains "$html" "mini-map"
|
|
|
|
rm -rf "$tmp_dir"
|
|
}
|
|
|
|
main() {
|
|
test_graph_html_engine_output_exists
|
|
test_graph_html_embeds_engine_runtime_and_sanitizer
|
|
test_graph_html_oriental_visual_contract
|
|
echo "PASS: graph HTML engine regression coverage"
|
|
}
|
|
|
|
main "$@"
|