66 lines
3.6 KiB
Markdown
66 lines
3.6 KiB
Markdown
# 2026-09-05 — тестирование реальных файлов из `/mnt/y/T`
|
||
|
||
## Контекст
|
||
|
||
Универсальный browser file-picker версии `0.1.11` проверен на реальных
|
||
документах из каталога `/mnt/y/T`, а не только на синтетических `File` objects.
|
||
Для доступа браузера к Linux-файлам использовался временный HTTP-сервер с
|
||
CORS на порту `8766`. В репозитории и в каталоге тестовых файлов изменения не
|
||
вносились.
|
||
|
||
## Набор файлов
|
||
|
||
В `/mnt/y/T` на уровне проверки обнаружены:
|
||
|
||
- `186` PDF;
|
||
- `81` DOCX;
|
||
- `42` DOC;
|
||
- архивов `zip`, `7z` и `rar` не обнаружено.
|
||
|
||
Для массового browser-теста использован каталог `/mnt/y/T/many`:
|
||
|
||
- найдено файлов разрешённых типов: `300`;
|
||
- загружено в browser `File`: `300`;
|
||
- принято picker-ом: `300`;
|
||
- уникальных имён: `300`;
|
||
- суммарный размер: `6 453 081 B`.
|
||
|
||
## Отдельные реальные файлы
|
||
|
||
Проверены документы с пробелами, кириллицей и скобками в именах:
|
||
|
||
| Файл | Размер |
|
||
|---|---:|
|
||
| `Assumption of Responsibility for Hosting.pdf` | `19 755 B` |
|
||
| `1 РИМО.docx` | `18 301 B` |
|
||
| `GU2_ot_23.01.2047 (1).doc` | `29 184 B` |
|
||
| `Evaporator Drain Access.pdf` | `29 767 B` |
|
||
|
||
Суммарный размер этих четырёх файлов: `97 007 B`.
|
||
|
||
## Результаты
|
||
|
||
- Все четыре отдельных файла отображаются со статусом `готов`.
|
||
- Имена с кириллицей, пробелами, `$` и скобками не искажаются.
|
||
- Размеры browser `File` совпали с размерами файлов на диске.
|
||
- PDF, DOC и DOCX принимаются при конфигурации `allowedExt: ['.pdf', '.doc', '.docx']`.
|
||
- Массовый набор из `300` документов принят без потерь и без дубликатов.
|
||
- Счётчик picker-а показывает `300 файлов · 6453081 B`.
|
||
- Файлы не отправляются в upload backend: обработка остаётся browser-only.
|
||
|
||
## Ограничения теста
|
||
|
||
- В каталоге `/mnt/y/T` не было реальных архивов, поэтому ZIP проверялся
|
||
отдельными синтетическими архивами в предыдущем browser-тесте.
|
||
- Прямой системный chooser remote browser не смог принять Linux-пути
|
||
`/mnt/y/T`; поэтому реальные байты были получены браузером через временный
|
||
CORS-сервер и переданы в тот же публичный API `picker.addFiles()`.
|
||
- Временные Flask и HTTP-серверы завершались по заданному `timeout`; это
|
||
нормальное завершение тестового окружения, а не ошибка picker-а.
|
||
|
||
## Итог
|
||
|
||
Тест реальных документов подтверждает корректную работу фильтра расширений,
|
||
чтение browser `File`, сохранение имён и размеров, массовую загрузку и
|
||
отображение документов на русском, английском и смешанном наборе имён.
|