Launch 1Password installer when missing
This commit is contained in:
Executable
+45
@@ -0,0 +1,45 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
source "$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)/base-test.sh"
|
||||
|
||||
test_tmp=$(mktemp -d)
|
||||
trap 'rm -rf "$test_tmp"' EXIT
|
||||
|
||||
mock_bin="$test_tmp/bin"
|
||||
mkdir -p "$mock_bin"
|
||||
|
||||
cat >"$mock_bin/omarchy-cmd-present" <<'SH'
|
||||
#!/bin/bash
|
||||
[[ ${OMARCHY_TEST_INSTALLED:-false} == "true" ]]
|
||||
SH
|
||||
|
||||
cat >"$mock_bin/setsid" <<'SH'
|
||||
#!/bin/bash
|
||||
shift
|
||||
printf 'launch:%s\n' "$*" >"$OMARCHY_TEST_LOG"
|
||||
SH
|
||||
|
||||
cat >"$mock_bin/omarchy-launch-floating-terminal-with-presentation" <<'SH'
|
||||
#!/bin/bash
|
||||
printf 'install:%s\n' "$*" >"$OMARCHY_TEST_LOG"
|
||||
SH
|
||||
|
||||
chmod +x "$mock_bin"/*
|
||||
|
||||
launch_log="$test_tmp/launch-log"
|
||||
PATH="$mock_bin:$PATH" OMARCHY_TEST_INSTALLED=true OMARCHY_TEST_LOG="$launch_log" \
|
||||
bash "$ROOT/bin/omarchy-launch-1password"
|
||||
grep -Fxq 'launch:-- 1password' "$launch_log" || fail "1Password launcher starts the installed app"
|
||||
pass "1Password launcher starts the installed app"
|
||||
|
||||
PATH="$mock_bin:$PATH" OMARCHY_TEST_INSTALLED=false OMARCHY_TEST_LOG="$launch_log" \
|
||||
bash "$ROOT/bin/omarchy-launch-1password"
|
||||
grep -Fxq 'install:omarchy-install-service-1password' "$launch_log" ||
|
||||
fail "1Password launcher starts the installer when missing"
|
||||
pass "1Password launcher starts the installer when missing"
|
||||
|
||||
grep -Fq '{ omarchy = "1password" }' "$ROOT/default/hypr/bindings/applications.lua" ||
|
||||
fail "1Password keybinding uses the conditional launcher"
|
||||
pass "1Password keybinding uses the conditional launcher"
|
||||
Reference in New Issue
Block a user