mirror of
https://github.com/tw93/Mole.git
synced 2026-02-08 10:19:20 +00:00
feat: Enhance app protection with centralized critical component checks, improve UI string width calculation, refine analysis and cleaning logic, and add new tests.
This commit is contained in:
32
tests/app_protection.bats
Normal file
32
tests/app_protection.bats
Normal file
@@ -0,0 +1,32 @@
|
||||
#!/usr/bin/env bats
|
||||
|
||||
setup_file() {
|
||||
PROJECT_ROOT="$(cd "${BATS_TEST_DIRNAME}/.." && pwd)"
|
||||
export PROJECT_ROOT
|
||||
}
|
||||
|
||||
@test "is_critical_system_component matches known system services" {
|
||||
run bash --noprofile --norc <<'EOF'
|
||||
set -euo pipefail
|
||||
source "$PROJECT_ROOT/lib/core/app_protection.sh"
|
||||
is_critical_system_component "backgroundtaskmanagement" && echo "yes"
|
||||
is_critical_system_component "SystemSettings" && echo "yes"
|
||||
EOF
|
||||
[ "$status" -eq 0 ]
|
||||
[[ "${lines[0]}" == "yes" ]]
|
||||
[[ "${lines[1]}" == "yes" ]]
|
||||
}
|
||||
|
||||
@test "is_critical_system_component ignores non-system names" {
|
||||
run bash --noprofile --norc <<'EOF'
|
||||
set -euo pipefail
|
||||
source "$PROJECT_ROOT/lib/core/app_protection.sh"
|
||||
if is_critical_system_component "myapp"; then
|
||||
echo "bad"
|
||||
else
|
||||
echo "ok"
|
||||
fi
|
||||
EOF
|
||||
[ "$status" -eq 0 ]
|
||||
[[ "$output" == "ok" ]]
|
||||
}
|
||||
Reference in New Issue
Block a user