49 lines
3.5 KiB
Markdown
49 lines
3.5 KiB
Markdown
# Контролируемые fixtures: типы макетов 1С
|
|
|
|
## Цель
|
|
|
|
Зафиксировать platform-dependent таблицу `Template descriptor type code ->
|
|
TemplateType` для конкретной сборки 1С. До выполнения каждого опыта код не
|
|
является именем типа, а carrier payload не является источником типа.
|
|
|
|
## Условия опыта
|
|
|
|
- База: `upo_test`; изменения допускаются только в отдельном расширении
|
|
`codex_TemplateCodecFixtures`.
|
|
- Для каждого типа создаётся ровно один пустой макет с именем
|
|
`CodecFixture_<EnglishType>` и один минимальный, но непустой вариант.
|
|
- До создания, после создания и после сохранения конфигурации снимаются
|
|
descriptor `{GUID}` и все части `{GUID}.*` из SQL saved state.
|
|
- Для каждого снимка сохраняются SHA-1, размер, compression, descriptor tree,
|
|
descriptor type code, XML root/сигнатура carrier и экспорт Конфигуратора.
|
|
- Обратная запись запрещена, пока для того же типа не доказан byte-preserving
|
|
round trip и не подтверждён результат человеком в Конфигураторе.
|
|
|
|
## Матрица
|
|
|
|
| Fixture suffix | Тип из мастера | Минимальное содержимое | Нужный артефакт |
|
|
| --- | --- | --- | --- |
|
|
| `Spreadsheet` | Табличный документ | Одна ячейка `X` | `.mxl` + SQL carrier |
|
|
| `Text` | Текстовый документ | `X` | `.txt` + SQL carrier |
|
|
| `Binary` | Двоичные данные | 3 байта `01 02 03` | `.bin` + SQL carrier |
|
|
| `Active` | Active document | минимальный выбранный Active object | SQL carrier, тип OLE |
|
|
| `Html` | HTML документ | `<p>X</p>` | `.htm` + SQL carrier |
|
|
| `Geo` | Географическая схема | пустая схема | `.geo` + SQL carrier |
|
|
| `Graphical` | Графическая схема | один прямоугольник | `.grs` + SQL carrier |
|
|
| `Dcs` | Схема компоновки данных | параметр `P` и пустой dataset | XML + SQL carrier |
|
|
| `DcsAppearance` | Макет оформления компоновки данных | одно правило оформления | XML + SQL carrier |
|
|
| `AddIn` | Внешняя компонента | тестовый ZIP с манифестом | ZIP + SQL carrier |
|
|
|
|
## Критерий принятия одной строки таблицы
|
|
|
|
Строка считается `proven` только когда одновременно совпали:
|
|
|
|
1. тип, выбранный в мастере Конфигуратора;
|
|
2. descriptor type code из сохранённого объекта;
|
|
3. снимок carrier `{GUID}.0` и export соответствующего редактора;
|
|
4. повторное открытие и сохранение fixture в Конфигураторе без ошибки.
|
|
|
|
Любое отсутствие пункта оставляет строку `unresolved_mapping`. Имена макетов,
|
|
XML root и архивная сигнатура являются вспомогательными evidence и не заменяют
|
|
эти условия.
|