# UpDock Pro Complete Feature Test Summary

Baseline: UpDock Pro 0.2.1 Beta 1, build 75 or later. Test on macOS 15.7 or later. Record the UpDock version/build, macOS version, Mac model, display arrangement, exact steps, expected result, and actual result with every report.

## Installation, Identity, Licensing, and Updates

- [ ] Download the ZIP, expand it, move UpDock Pro to Applications, and launch it through Gatekeeper.
- [ ] Confirm the app is Developer ID signed, Apple-notarized, and identified everywhere as UpDock Pro with the correct version and build.
- [ ] Launch, quit, relaunch, restart the Mac, replace an older build, and confirm settings persist.
- [ ] Activate with a valid license key and import a valid `.updocklicense` file.
- [ ] Test invalid, malformed, wrong-product, already-used, revoked, and expired-beta licenses.
- [ ] Test offline launch after activation, activation limits, deactivation, reactivation, and Keychain persistence.
- [ ] Confirm Diagnostics reports Pro license status, unlimited mini-docks and items per mini-dock, app path, and sandbox state.
- [ ] Run Check for Updates from build 67 and later; test full and delta Sparkle updates.
- [ ] Confirm a background update changes the menu command to Update Available without forcing a window.
- [ ] Test skipped versions, no-update state, interrupted download, offline update check, relaunch after update, and signature rejection for an invalid archive.

## Fresh Installation and Persistence

- [ ] Confirm a fresh installation creates the general starter docks and the disabled Accessibility starter dock.
- [ ] Verify the Accessibility starter dock's System Settings action, Apple accessibility links, apps, and folders.
- [ ] Confirm first-run defaults, saved default mini-dock settings, and factory defaults are correct.
- [ ] Verify settings, bookmarks, custom icons, nested folders, item order, and accessibility choices survive relaunch, restart, and update.
- [ ] Test recovery from missing, malformed, older-version, and partially migrated settings.

## Mini-Dock Management

- [ ] Create, select, rename, duplicate, delete, enable, disable, and manually reorder mini-docks.
- [ ] Confirm new mini-docks appear at the top and scroll into view in Settings.
- [ ] Use Move to Top and Move to Bottom and verify exact saved order.
- [ ] Create more than 100 mini-docks and verify Pro does not impose a capacity limit or lose data.
- [ ] Add more than 50 items to a mini-dock and nested folder and verify Pro does not impose a capacity limit or lose data.
- [ ] Test large mini-docks for scrolling, hover behavior, performance, labels, and insertion animation.
- [ ] Assign mini-docks to left, right, and bottom edges, including multiple docks on one edge.
- [ ] Test one display, multiple displays, changed arrangement, scaling, Spaces, full-screen apps, sleep/wake, and disconnected displays.
- [ ] Confirm Pro automatically follows the Apple Dock edge at launch and after its position changes.
- [ ] Test enabled state, edge, icon size, label mode, trigger thickness, trigger delay, and auto-hide delay.
- [ ] Use one dock's settings as defaults and verify new docks inherit them.
- [ ] Set a mini-dock as the default item template; apply My Defaults and Factory Defaults.
- [ ] Confirm Reset Defaults clearly warns that user-created mini-docks will be removed.
- [ ] Double-click a mini-dock in Settings to toggle its enabled state.
- [ ] Turn ABC sorting on/off and verify manual order is restored exactly and cannot be edited while the sorted view is active.
- [ ] Mark a dock as a palette and confirm its items copy instead of move when dragged elsewhere.

## Visible Mini-Dock Behavior

- [ ] Trigger docks repeatedly from the complete edge trigger area and confirm they remain flush with the screen edge.
- [ ] Hover icons, return to the edge, and verify the panel does not shift away from the edge.
- [ ] Test hover magnification, labels, bubble labels, clicking, contextual menus, auto-hide, and delayed activation.
- [ ] Hold Shift while a dock is visible; verify the leading two-line version/dock header and supplemental Shift Items appear and disappear correctly.
- [ ] Select and customize the Shift Items source dock; verify only one source is active.
- [ ] Hold Option while app and dock-item menus are open; verify live alphabetical ordering and exact restoration on release.
- [ ] Test manual and alphabetical menu order with renamed, added, deleted, enabled, and disabled mini-docks.
- [ ] Open, reveal, quit, remove, and otherwise invoke every contextual action applicable to each item kind.

## Application Pairing and Running Indicators

- [ ] Pair a disabled mini-dock with an application and confirm While Frontmost is selected by default.
- [ ] With While Frontmost, verify the dock's edge trigger becomes available only while the paired app is frontmost.
- [ ] With While Running, verify the dock remains available from launch until the paired app terminates, including while other apps are frontmost.
- [ ] Confirm pairing temporarily activates the dock without changing its saved Enabled checkbox.
- [ ] Confirm an already-enabled paired dock remains enabled after its app stops matching.
- [ ] Pair one application with two mini-docks and confirm both activate on distinct edges.
- [ ] Attempt to pair a third mini-dock with the same app and confirm it is rejected without changing existing pairings.
- [ ] Test paired and ordinarily enabled docks on the same edge; verify the active paired dock temporarily takes precedence and the ordinary dock returns afterward.
- [ ] Change and remove a paired application and verify activation updates immediately and persists after relaunch.
- [ ] Confirm application dock items display a green diamond while their app is running and remove it promptly after termination.
- [ ] Test indicators for apps opened from UpDock, Finder, Spotlight, Login Items, and another app.
- [ ] Confirm non-application items never show the running diamond.

## Finder Items, URLs, Packages, and Icons

- [ ] Add and open applications, files, Finder folders, URLs, separators, multiple Finder selections, special folders, Finder icons, and BBEdit project folders.
- [ ] Confirm apps, Xcode projects/workspaces, AppleScript bundles, Automator workflows, and other packages are treated as files/apps instead of ordinary folders.
- [ ] Confirm applications launch, document packages open in their associated apps, and AppleScript bundles execute.
- [ ] Test Show Package Contents for supported apps and bundles; confirm it does not replace the normal open action.
- [ ] Test Open With Default, Finder, BBEdit, Xcode, and a user-selected application.
- [ ] Rename, reorder, duplicate, reveal, retarget, and remove items.
- [ ] Test URL name generation, favicon retrieval/refresh, persistence, malformed URLs, redirects, and offline behavior.
- [ ] Choose, paste, restore, export, and re-import custom icons.
- [ ] Choose icons from the built-in Custom Icons asset library and from arbitrary image files.
- [ ] Verify icon rendering and persistence for regular items, folders, packages, URLs, automations, and imported docks.
- [ ] Test missing, moved, renamed, inaccessible, and deleted targets with actionable recovery behavior.

## Drag and Drop

- [ ] Drag Finder items into visible mini-docks and verify a full-width target, insertion bar, 3/4-icon opening animation, correct order, and exactly one copy.
- [ ] Reorder items within one dock and confirm the source moves with no duplicate or linked pseudo-duplicate.
- [ ] Drag between mini-docks and confirm the source remains and the destination receives an independent copy.
- [ ] Drag from Settings into a visible mini-dock and from Finder into Settings.
- [ ] Test top, middle, bottom, left, right, and near-edge drop targets on every dock edge.
- [ ] Move same-dock items into folders and copy cross-dock items into folders.
- [ ] Drag Finder items into regular, special, BBEdit project, and UpDock Auto folders.
- [ ] Confirm canceled and rejected drops restore the original layout without changing data.

## Hierarchy Editor and Folders

- [ ] Open Mini-Dock Contents and verify all root items, nested folders, and descendants appear in saved order.
- [ ] Expand/collapse individual folders and use Expand All/Collapse All.
- [ ] Verify Finder/special folders do not expose false child expansion controls; UpDock folders do.
- [ ] Confirm folder icons match their mini-dock presentation and top-level rows have separators while nested rows do not.
- [ ] Select one item and Command-select multiple items; verify click targets and selection highlights are precise.
- [ ] Drag one or multiple selected items before siblings, into folders, between levels, and back to the root.
- [ ] Confirm all selected items move/copy atomically, retain order, remain selected, and produce the correct count message.
- [ ] Create empty top-level and nested folders.
- [ ] Create a folder with selected items and verify the original selection moves inside in order.
- [ ] Rename and delete individual or multiple hierarchy items.
- [ ] Copy items from another dock and add files/apps/packages/folders from Finder.
- [ ] Confirm a folder cannot move into itself or a descendant and full destinations reject the entire operation.
- [ ] Test regular UpDock folders, Finder/special folders, BBEdit project folders, UpDock Auto folders, and nested combinations.
- [ ] Confirm regular and special folder menus begin with Open Folder in Finder and never append unrelated startup-disk folders.

## Accessibility

- [ ] Test per-dock accessibility icon size, accessible labels, and Speak on Hover independently.
- [ ] Enable the application-wide Accessibility override and test each override value independently.
- [ ] Confirm the override ignores but does not modify each mini-dock's saved accessibility settings.
- [ ] Disable the override and verify every dock returns to its own saved values.
- [ ] Test hover speech for dock names, item names, nested folders, Shift Items, menus, and rapid pointer movement.
- [ ] Verify VoiceOver labels, help text, keyboard focus order, checkboxes, menus, sheets, alerts, and help buttons.
- [ ] Test the Accessibility starter dock and System Settings > Accessibility action.

## AppleScript Dock Items

- [ ] Create, edit, rename, duplicate, move, import/export, and run inline AppleScript items.
- [ ] Add and execute `.applescript`, `.scpt`, and AppleScript bundle files.
- [ ] Test automatic, in-process, and applet runner modes.
- [ ] Test returned values, no-result scripts, dialogs, compile errors, runtime errors, cancellation, timeouts, missing apps, and denied Automation permission.
- [ ] Confirm applet suggestions and generated applets remain associated with the current script/project.
- [ ] Verify AppleScript history records success/failure without exposing secrets.

## Shell Script Dock Items

- [ ] Create and edit shell items using every interpreter and built-in template/command library.
- [ ] Test fixed arguments, prompted input, dropped-file input, environment variables, working directory, Terminal mode, and confirmation mode.
- [ ] Test stdout, stderr, nonzero exit, cancellation, long output, missing interpreters, invalid directories, spaces, quotes, and Unicode paths.
- [ ] Verify history, diagnostics, redaction, and repeated execution.

## UpDock Search

- [ ] Search plain text and regular expressions with case sensitivity on/off.
- [ ] Test include/exclude patterns, file-type filters, hidden files, subfolders, binary files, inaccessible roots, large trees, cancellation, and no results.
- [ ] Test AppleScript, Automator workflow, and Shortcut-content search modes.
- [ ] Open results in Finder, BBEdit, Xcode, and configured applications.
- [ ] Verify result limits, context, validation, saved defaults, and repeatability.

## Shortcuts and Automator

- [ ] Enumerate the Shortcuts library, add one/many shortcuts, run them repeatedly, and handle renamed/missing shortcuts and permission denial.
- [ ] Add, run, edit, move, copy, import/export, and remove Automator workflows.
- [ ] Test `.workflow` packages, applets, input requirements, missing dependencies, cancellation, and repeated execution.
- [ ] Verify automation histories distinguish success, failure, and cancellation.

## AppleScript Dictionary and Commands

- [ ] Verify read-only application name, app path, version, build, AppleScript/Automator/shell logs, diagnostics report, auto-backup directory, and scripts directory.
- [ ] Enumerate mini-docks, nested dock items/folders, settings backups, and settings windows by index, name, and ID.
- [ ] Get/set mini-dock name, enabled, default, palette, edge, label mode, icon size, trigger thickness/delay, auto-hide delay, accessibility mode, and speak-on-hover.
- [ ] Get dock-item containing mini-dock and one-based position; set position with integers, top, bottom, beginning, and end.
- [ ] Get/set dock-item name, target, script source, BBEdit project folder, and UpDock Auto Folder properties.
- [ ] Test make/duplicate mini-dock, make/duplicate dock item, reposition, move, remove, delete, open, and run.
- [ ] Test add application, path, URL, and separator to named/ID mini-docks and nested folders, including before/after placement.
- [ ] Test show/hide/toggle docks, show settings/diagnostics, select, defaults, accessibility override, backup/revert, import/export, and reveal folders.
- [ ] Confirm invalid references, IDs, positions, kinds, paths, nested destinations, capacity limits, and deleted objects return useful errors without data loss.

## Import, Export, Sharing, Backups, and Recovery

- [ ] Export selected mini-docks and complete settings to arbitrary user-selected locations.
- [ ] Share a mini-dock and verify its package and preview image.
- [ ] Import `.updock` and legacy `.json` files containing one dock, multiple docks, and complete settings.
- [ ] Round-trip nested folders, custom icons, favicons, bookmarks, labels, accessibility, palette, Shift Items, automation data, and item order.
- [ ] Import from another Mac; test missing bookmarks, inaccessible targets, malformed data, older formats, and capacity overflow.
- [ ] Confirm automatic backups are created, sorted newest-first, protected when required, pruned correctly, and restored reliably.
- [ ] Test manual backup/revert and recovery after scripted, imported, and hierarchy changes.
- [ ] Generate, copy, and email Diagnostics; verify useful context and redaction.

## Permissions, Failure, and Stress Testing

- [ ] Test Accessibility, Automation, Files and Folders, network, Keychain, and other permission prompts when allowed, denied, and later changed.
- [ ] Test offline operation, slow network, inaccessible volumes, disconnected external drives, and stale bookmarks.
- [ ] Exercise rapid triggering, repeated drags, many nested folders, maximum capacities, long-running scripts/searches, and repeated updates.
- [ ] Rapidly launch, activate, hide, and terminate paired apps; verify docks and running indicators do not become stale or flicker indefinitely.
- [ ] Confirm failures never corrupt settings, duplicate linked items, freeze the app, or leave mini-dock panels displaced.
