# UnifiedFiler Regression Test Checklist

This checklist is intended for manual browser verification before Product v1.0 acceptance.

## 1. FileExplorer basic

- Open `demo/explorer.html` over HTTP.
- App Storage lists root entries.
- Create folder works.
- Upload works for App Storage.
- Rename starts only on selected-name click or F2.
- Delete removes selected entries.
- Copy/Cut/Paste work in the same storage.
- Detail/List/Icon view switching works.
- Toolbar, context menu and keyboard shortcuts call the same CommandRegistry actions.
- Tree splitter and preview splitter move in the expected direction.

## 2. FilePicker

- Open `demo/file-picker.html`.
- App Storage picker lists files/folders.
- This Device asks to mount a local folder, then shows the mounted folder tree/list.
- Left tree, center list and preview pane scroll independently.
- File click updates preview.
- Folder click updates lightweight preview even when folders are not selectable.
- Recent/Favorites buttons open their virtual scopes.

## 3. FileSaver

- Open `demo/file-saver.html`.
- App Storage save works.
- This Device asks to mount a local folder before save.
- Save As, Export and Package Save workflows return the expected request object.
- New Folder works in the selected target storage.
- File name extension completion works.

## 4. Google Drive

- Configure Client ID/API Key in `demo/google-drive.html`.
- Connect Google Drive with frontend-only OAuth token flow.
- List My Drive.
- Upload a small text file.
- Rename only when Drive capabilities allow rename.
- Shared with me node opens.
- Shared Drives node opens when the account has shared drives.
- Workspace export command is visible for Google-native files.

## 5. Backend API

- Select Backend API storage in FileExplorer.
- List seeded Memory API files.
- Upload, rename, delete, copy and move work.
- Metadata can be read through `FileService.metadata(entry)`.
- Metadata can be updated through `FileService.updateMetadata(entry, metadata)`.
- `BackendApiAdapter.getBackendSpec()` returns contractVersion `1.0`.

## 6. Security

- Uploading `.exe` is rejected by the default demo policy.
- Renaming to an empty name is rejected.
- Creating folder with `/` in the name is rejected.
- Path traversal such as `../` is rejected before adapter calls.
- Large file settings can be changed through `SecurityPolicyService` options.

## 7. Packaging

- `node --check` passes for all JS files.
- `unzip -t unified_filer_v*.zip` passes.
- No `scripts/plugins/` directory exists.
- Package root contains `scripts/`, `themes/`, `demo/`, `docs/`, `README.txt`.


## Product v1.0.0 additions based on dev-2.1.0

- Extended metadata editing UI.
- PermissionPolicyService and capability badges.
- FileSaver workflow/export-format UI.
- HostApplicationBridgeService for UnifiedDesktop / Viewer / Editor / Owners Reform / Sappane Tools.
- GoogleDriveWorkflowService descriptors.
- PHP / Node.js backend API samples.
