File
{#if test_mode_popup_data.is_url}
type: URL file (no local cache)
url: {test_mode_popup_data.filename}
{#if test_mode_popup_data.title}
title: {test_mode_popup_data.title}
{/if}
{:else}
filename: {test_mode_popup_data.filename}
extension: {test_mode_popup_data.extension}
hash: {test_mode_popup_data.hash_sha256}
temp path: {test_mode_popup_data.simulated_temp_path}
{/if}
Steps 1–2
{#if test_mode_popup_data.is_url}
Skipped — URL file (no cache download or temp copy)
{:else}
check_hash_file_cache: {test_mode_popup_data.cache_check}
copy_from_cache_to_temp: {test_mode_popup_data.copy_to_temp}
{/if}
Resolved LaunchProfile
app: {test_mode_popup_data.profile.app}
display_mode: {test_mode_popup_data.profile.display_mode}
{#if test_mode_popup_data.display_override}
display_override (cfg_json): {test_mode_popup_data.display_override}
{/if}
post_delay_ms: {test_mode_popup_data.profile.post_delay_ms ?? '(default: 2000ms)'}
Step 3 — set_display_layout
{#if test_mode_popup_data.profile.display_mode !== 'none'}
native.set_display_layout({{ mode: '{test_mode_popup_data.profile.display_mode}' }})
{:else}
skipped (display_mode: none)
{/if}
Step 4 — Open File
{#if test_mode_popup_data.is_url}
native.open_external()
{test_mode_popup_data.open_cmd_resolved}
{:else if test_mode_popup_data.open_cmd_resolved}
native.run_cmd()
{test_mode_popup_data.open_cmd_resolved}
{:else}
native.open_local_file_v2()
{test_mode_popup_data.simulated_temp_path}
(OS default handler)
{/if}
Steps 5–6 — Wait + Post-Script
sleep({test_mode_popup_data.profile.post_script ? (test_mode_popup_data.profile.post_delay_ms ?? 2000) : 0}ms){test_mode_popup_data.profile.post_script ? '' : ' — skipped (no post_script)'}
{#if test_mode_popup_data.profile.post_script}
{#if test_mode_popup_data.profile.post_script.startsWith('shell:')}
native.run_cmd() [shell prefix]
{test_mode_popup_data.profile.post_script.slice(6)}
{:else}
native.run_osascript() [AppleScript]
{test_mode_popup_data.profile.post_script}
{/if}
{:else}
no post_script
{/if}