543 lines
21 KiB
JSON
543 lines
21 KiB
JSON
{
|
||
"version": 1,
|
||
"typst_min": "0.15.1",
|
||
"creation_timestamp": 1787702400,
|
||
"dpi": 110,
|
||
"visual_threshold": 0.001,
|
||
"unit_tests": [
|
||
{
|
||
"id": "legacy-numbering",
|
||
"module": ".template/development/tests/domain/legacy-numbering.typ"
|
||
},
|
||
{
|
||
"id": "core-domain",
|
||
"module": ".template/development/tests/domain/core.typ"
|
||
},
|
||
{
|
||
"id": "profile-domain",
|
||
"module": ".template/development/tests/domain/profiles.typ"
|
||
}
|
||
],
|
||
"fixtures": [
|
||
{
|
||
"id": "core-smoke",
|
||
"entry": ".template/development/tests/fixtures/core-smoke/main.typ",
|
||
"expected_pages": 1,
|
||
"expected_page_size": "A4",
|
||
"required_text": [
|
||
"DDD CORE SMOKE",
|
||
"ООО «Тестовая компания»",
|
||
"Изолированное ядро успешно собрано"
|
||
],
|
||
"snapshot_pages": []
|
||
},
|
||
{
|
||
"id": "facade-smoke",
|
||
"entry": ".template/development/tests/fixtures/facade-smoke/main.typ",
|
||
"expected_pages": 1,
|
||
"expected_page_size": "A4",
|
||
"required_text": [
|
||
"ПУБЛИЧНЫЙ ФАСАД",
|
||
"Корневой файл экспортирует единый фасад"
|
||
],
|
||
"snapshot_pages": []
|
||
},
|
||
{
|
||
"id": "default-report",
|
||
"entry": ".template/development/tests/fixtures/default-report/main.typ",
|
||
"expected_pages": 3,
|
||
"expected_page_size": "A4",
|
||
"required_text": [
|
||
"ПРОВЕРКА ПРОФИЛЯ ПО УМОЛЧАНИЮ",
|
||
"Корневой фасад формирует отчёт"
|
||
],
|
||
"snapshot_pages": []
|
||
},
|
||
{
|
||
"id": "report-service-pages-full",
|
||
"entry": ".template/development/tests/fixtures/report-service-pages/main.typ",
|
||
"inputs": {"title": "true", "executors": "true", "outline": "true"},
|
||
"expected_pages": 4,
|
||
"expected_page_size": "A4",
|
||
"required_text": [
|
||
"КОНТРОЛЬНЫЙ ОТЧЁТ",
|
||
"СПИСОК ИСПОЛНИТЕЛЕЙ",
|
||
"СОДЕРЖАНИЕ",
|
||
"ОСНОВНОЙ ТЕКСТ"
|
||
],
|
||
"snapshot_pages": []
|
||
},
|
||
{
|
||
"id": "report-service-pages-outline-only",
|
||
"entry": ".template/development/tests/fixtures/report-service-pages/main.typ",
|
||
"inputs": {"title": "false", "executors": "false", "outline": "true"},
|
||
"expected_pages": 2,
|
||
"expected_page_size": "A4",
|
||
"required_text": ["СОДЕРЖАНИЕ", "ОСНОВНОЙ ТЕКСТ"],
|
||
"forbidden_text": ["КОНТРОЛЬНЫЙ ОТЧЁТ", "СПИСОК ИСПОЛНИТЕЛЕЙ"],
|
||
"snapshot_pages": []
|
||
},
|
||
{
|
||
"id": "report-service-pages-title-only",
|
||
"entry": ".template/development/tests/fixtures/report-service-pages/main.typ",
|
||
"inputs": {"title": "true", "executors": "false", "outline": "false"},
|
||
"expected_pages": 2,
|
||
"expected_page_size": "A4",
|
||
"required_text": ["КОНТРОЛЬНЫЙ ОТЧЁТ", "ОСНОВНОЙ ТЕКСТ"],
|
||
"forbidden_text": ["СПИСОК ИСПОЛНИТЕЛЕЙ", "СОДЕРЖАНИЕ"],
|
||
"snapshot_pages": []
|
||
},
|
||
{
|
||
"id": "report-service-pages-executors-only",
|
||
"entry": ".template/development/tests/fixtures/report-service-pages/main.typ",
|
||
"inputs": {"title": "false", "executors": "true", "outline": "false"},
|
||
"expected_pages": 2,
|
||
"expected_page_size": "A4",
|
||
"required_text": ["СПИСОК ИСПОЛНИТЕЛЕЙ", "ОСНОВНОЙ ТЕКСТ"],
|
||
"forbidden_text": ["КОНТРОЛЬНЫЙ ОТЧЁТ", "СОДЕРЖАНИЕ"],
|
||
"snapshot_pages": []
|
||
},
|
||
{
|
||
"id": "report-service-pages-body-only",
|
||
"entry": ".template/development/tests/fixtures/report-service-pages/main.typ",
|
||
"inputs": {"title": "false", "executors": "false", "outline": "false"},
|
||
"expected_pages": 1,
|
||
"expected_page_size": "A4",
|
||
"required_text": ["ОСНОВНОЙ ТЕКСТ", "Основной текст контрольного отчёта"],
|
||
"forbidden_text": ["КОНТРОЛЬНЫЙ ОТЧЁТ", "СПИСОК ИСПОЛНИТЕЛЕЙ", "СОДЕРЖАНИЕ"],
|
||
"snapshot_pages": []
|
||
},
|
||
{
|
||
"id": "presentation-smoke",
|
||
"entry": ".template/development/tests/fixtures/presentation-smoke/main.typ",
|
||
"expected_pages": 1,
|
||
"expected_page_size": "A4",
|
||
"required_text": [
|
||
"ПРОВЕРКА КОМПОНЕНТОВ",
|
||
"Общая presentation-основа",
|
||
"Media slot"
|
||
],
|
||
"snapshot_pages": [1]
|
||
},
|
||
{
|
||
"id": "report-new",
|
||
"entry": ".template/development/tests/fixtures/report-new/main.typ",
|
||
"expected_pages": 7,
|
||
"expected_page_size": "A4",
|
||
"required_text": [
|
||
"Проверка DDD-профиля",
|
||
"НОРМАТИВНЫЕ ИСТОЧНИКИ",
|
||
"НАУЧНЫЕ ИСТОЧНИКИ",
|
||
"Приложение А"
|
||
],
|
||
"snapshot_pages": [1, 2, 5, 6]
|
||
},
|
||
{
|
||
"id": "report-stress",
|
||
"entry": ".template/development/tests/fixtures/report-stress/main.typ",
|
||
"expected_pages": 12,
|
||
"expected_page_size": "A4",
|
||
"required_text": [
|
||
"Таблицы, списки, формулы и грамматические ссылки",
|
||
"1. Основной пункт",
|
||
"а) Второй уровень",
|
||
"1) Третий уровень",
|
||
"на Рисунках 2.1 и 2.2",
|
||
"контрольная спецификация",
|
||
"Продолжение таблицы 3.1",
|
||
"Ссылка на Таблицу 3.1",
|
||
"Продолжение высокой таблицы 5.1",
|
||
"Строка высокой ячейки 65."
|
||
],
|
||
"required_text_counts": {
|
||
"Контрольные данные": 6,
|
||
"Продолжение таблицы 3.1": 5,
|
||
"Высокая ячейка": 3,
|
||
"Продолжение высокой таблицы 5.1": 2
|
||
},
|
||
"minimum_external_links": 2,
|
||
"minimum_internal_links": 8,
|
||
"snapshot_pages": [3, 4, 5, 9, 10, 11, 12]
|
||
},
|
||
{
|
||
"id": "reference-cases",
|
||
"entry": ".template/development/tests/fixtures/reference-cases/main.typ",
|
||
"expected_pages": 1,
|
||
"expected_page_size": "A4",
|
||
"required_text": [
|
||
"Предложный по умолчанию: на Рисунке",
|
||
"Именительный коротко: Рисунок",
|
||
"Родительный коротко: без Рисунка",
|
||
"Дательный коротко: к Рисунку",
|
||
"Винительный коротко: вижу Рисунок",
|
||
"Творительный коротко: перед Рисунком",
|
||
"Предложный коротко: на Рисунке",
|
||
"Явная строчная форма: на рисунке",
|
||
"Полное название: на Таблице",
|
||
"Формула: согласно Формуле",
|
||
"Раздел: в Разделе",
|
||
"Группа по умолчанию: на Рисунках"
|
||
],
|
||
"snapshot_pages": []
|
||
},
|
||
{
|
||
"id": "report-appendices",
|
||
"entry": ".template/development/tests/fixtures/report-appendices/main.typ",
|
||
"expected_pages": 4,
|
||
"expected_page_size": "A4",
|
||
"required_text": [
|
||
"Приложение А. Исходные данные",
|
||
"Приложение Б. Проверочные расчёты",
|
||
"Стандартная ссылка: Приложение А",
|
||
"Именительный: Приложение А",
|
||
"Родительный: без Приложения А",
|
||
"Дательный: к Приложению А",
|
||
"Винительный: вижу Приложение А",
|
||
"Творительный: перед Приложением А",
|
||
"Предложный по умолчанию: в Приложении А",
|
||
"Группа приложений: в Приложениях А и Б",
|
||
"Рисунок А.1",
|
||
"Таблица Б.1"
|
||
],
|
||
"minimum_internal_links": 8,
|
||
"snapshot_pages": []
|
||
},
|
||
{
|
||
"id": "letter",
|
||
"entry": ".template/development/tests/fixtures/letter/main.typ",
|
||
"expected_pages": 2,
|
||
"expected_page_size": "A4",
|
||
"required_text": [
|
||
"О НАПРАВЛЕНИИ МАТЕРИАЛОВ",
|
||
"Приложение 1: Краткая спецификация",
|
||
"КРАТКАЯ СПЕЦИФИКАЦИЯ"
|
||
],
|
||
"snapshot_pages": [1, 2]
|
||
},
|
||
{
|
||
"id": "commercial-offer",
|
||
"entry": ".template/development/tests/fixtures/commercial-offer/main.typ",
|
||
"expected_pages": 2,
|
||
"expected_page_size": "A4",
|
||
"required_text": [
|
||
"ТЕХНИКО-КОММЕРЧЕСКОЕ ПРЕДЛОЖЕНИЕ",
|
||
"1 250 000 руб.",
|
||
"ТЕХНИЧЕСКОЕ ЗАДАНИЕ"
|
||
],
|
||
"snapshot_pages": [1, 2]
|
||
},
|
||
{
|
||
"id": "contract",
|
||
"entry": ".template/development/tests/fixtures/contract/main.typ",
|
||
"expected_pages": 3,
|
||
"expected_page_size": "A4",
|
||
"required_text": [
|
||
"ДОГОВОР ОКАЗАНИЯ УСЛУГ",
|
||
"РЕКВИЗИТЫ И ПОДПИСИ СТОРОН",
|
||
"СПЕЦИФИКАЦИЯ"
|
||
],
|
||
"snapshot_pages": [1, 2, 3]
|
||
},
|
||
{
|
||
"id": "root-report",
|
||
"entry": "main.typ",
|
||
"expected_pages": 0,
|
||
"expected_page_size": "A4",
|
||
"required_text": [
|
||
"ГЕОМЕХАНИЧЕСКОЕ ОБОСНОВАНИЕ УСТОЙЧИВОСТИ БОРТОВ",
|
||
"СПИСОК ИСПОЛНИТЕЛЕЙ",
|
||
"Результаты проверочных расчётов",
|
||
"СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ",
|
||
"Приложение А. Исходные данные",
|
||
"Приложение Б. Дополнительные расчёты",
|
||
"Рисунок Б.1"
|
||
],
|
||
"snapshot_pages": []
|
||
},
|
||
{
|
||
"id": "public-report",
|
||
"entry": "docs/examples/documents/report/main.typ",
|
||
"expected_pages": 0,
|
||
"expected_page_size": "A4",
|
||
"required_text": [
|
||
"Результаты проверочных расчётов",
|
||
"СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ",
|
||
"Приложение А. Исходные данные",
|
||
"Приложение Б. Дополнительные расчёты",
|
||
"Рисунок Б.1"
|
||
],
|
||
"snapshot_pages": []
|
||
},
|
||
{
|
||
"id": "public-letter",
|
||
"entry": "docs/examples/documents/letter/main.typ",
|
||
"expected_pages": 0,
|
||
"expected_page_size": "A4",
|
||
"required_text": ["О НАПРАВЛЕНИИ МАТЕРИАЛОВ ЭТАПА 1", "Уважаемый Иван Иванович"],
|
||
"snapshot_pages": []
|
||
},
|
||
{
|
||
"id": "public-commercial-offer",
|
||
"entry": "docs/examples/documents/commercial-offer/main.typ",
|
||
"expected_pages": 0,
|
||
"expected_page_size": "A4",
|
||
"required_text": ["Геомеханическое сопровождение горных работ", "Состав и результат работ", "ТЕХНИЧЕСКОЕ ЗАДАНИЕ"],
|
||
"snapshot_pages": []
|
||
},
|
||
{
|
||
"id": "public-contract",
|
||
"entry": "docs/examples/documents/contract/main.typ",
|
||
"expected_pages": 0,
|
||
"expected_page_size": "A4",
|
||
"required_text": ["ДОГОВОР ОКАЗАНИЯ УСЛУГ", "ОТВЕТСТВЕННОСТЬ СТОРОН", "ТЕХНИЧЕСКОЕ ЗАДАНИЕ"],
|
||
"snapshot_pages": []
|
||
},
|
||
{
|
||
"id": "report-draft",
|
||
"entry": ".template/development/tests/fixtures/modes/main.typ",
|
||
"inputs": {"profile": "report", "mode": "draft"},
|
||
"expected_pages": 3,
|
||
"expected_page_size": "A4",
|
||
"required_text": ["Документ собран в режиме draft"],
|
||
"snapshot_pages": []
|
||
},
|
||
{
|
||
"id": "report-clean-copy",
|
||
"entry": ".template/development/tests/fixtures/modes/main.typ",
|
||
"inputs": {"profile": "report", "mode": "clean-copy"},
|
||
"expected_pages": 3,
|
||
"expected_page_size": "A4",
|
||
"required_text": ["Документ собран в режиме clean-copy"],
|
||
"snapshot_pages": []
|
||
},
|
||
{
|
||
"id": "letter-draft",
|
||
"entry": ".template/development/tests/fixtures/modes/main.typ",
|
||
"inputs": {"profile": "letter", "mode": "draft"},
|
||
"expected_pages": 1,
|
||
"expected_page_size": "A4",
|
||
"required_text": ["Документ собран в режиме draft"],
|
||
"snapshot_pages": []
|
||
},
|
||
{
|
||
"id": "letter-clean-copy",
|
||
"entry": ".template/development/tests/fixtures/modes/main.typ",
|
||
"inputs": {"profile": "letter", "mode": "clean-copy"},
|
||
"expected_pages": 1,
|
||
"expected_page_size": "A4",
|
||
"required_text": ["Документ собран в режиме clean-copy"],
|
||
"snapshot_pages": []
|
||
},
|
||
{
|
||
"id": "commercial-offer-draft",
|
||
"entry": ".template/development/tests/fixtures/modes/main.typ",
|
||
"inputs": {"profile": "commercial-offer", "mode": "draft"},
|
||
"expected_pages": 1,
|
||
"expected_page_size": "A4",
|
||
"required_text": ["Документ собран в режиме draft"],
|
||
"snapshot_pages": []
|
||
},
|
||
{
|
||
"id": "commercial-offer-clean-copy",
|
||
"entry": ".template/development/tests/fixtures/modes/main.typ",
|
||
"inputs": {"profile": "commercial-offer", "mode": "clean-copy"},
|
||
"expected_pages": 1,
|
||
"expected_page_size": "A4",
|
||
"required_text": ["Документ собран в режиме clean-copy"],
|
||
"snapshot_pages": []
|
||
},
|
||
{
|
||
"id": "contract-draft",
|
||
"entry": ".template/development/tests/fixtures/modes/main.typ",
|
||
"inputs": {"profile": "contract", "mode": "draft"},
|
||
"expected_pages": 2,
|
||
"expected_page_size": "A4",
|
||
"required_text": ["Документ собран в режиме draft"],
|
||
"snapshot_pages": []
|
||
},
|
||
{
|
||
"id": "contract-clean-copy",
|
||
"entry": ".template/development/tests/fixtures/modes/main.typ",
|
||
"inputs": {"profile": "contract", "mode": "clean-copy"},
|
||
"expected_pages": 2,
|
||
"expected_page_size": "A4",
|
||
"required_text": ["Документ собран в режиме clean-copy"],
|
||
"snapshot_pages": []
|
||
},
|
||
{
|
||
"id": "no-media-placeholder",
|
||
"entry": ".template/development/tests/fixtures/no-media/main.typ",
|
||
"inputs": {"policy": "placeholder"},
|
||
"expected_pages": 1,
|
||
"expected_page_size": "A4",
|
||
"required_text": ["политикой placeholder"],
|
||
"snapshot_pages": [1]
|
||
},
|
||
{
|
||
"id": "no-media-hide",
|
||
"entry": ".template/development/tests/fixtures/no-media/main.typ",
|
||
"inputs": {"policy": "hide"},
|
||
"expected_pages": 1,
|
||
"expected_page_size": "A4",
|
||
"required_text": ["политикой hide"],
|
||
"snapshot_pages": []
|
||
},
|
||
{
|
||
"id": "no-media-reserve-space",
|
||
"entry": ".template/development/tests/fixtures/no-media/main.typ",
|
||
"inputs": {"policy": "reserve-space"},
|
||
"expected_pages": 1,
|
||
"expected_page_size": "A4",
|
||
"required_text": ["политикой reserve-space"],
|
||
"snapshot_pages": []
|
||
},
|
||
{
|
||
"id": "report-baseline",
|
||
"entry": ".template/development/tests/fixtures/report-baseline/main.typ",
|
||
"expected_pages": 7,
|
||
"expected_page_size": "A4",
|
||
"required_text": [
|
||
"ТЕСТОВЫЙ ОТЧЁТ",
|
||
"СПИСОК ИСПОЛНИТЕЛЕЙ",
|
||
"СОДЕРЖАНИЕ",
|
||
"Сложные элементы должны сохранять",
|
||
"ТЕСТОВОЕ ПРИЛОЖЕНИЕ"
|
||
],
|
||
"snapshot_pages": [1, 2, 3, 4]
|
||
},
|
||
{
|
||
"id": "list-counters",
|
||
"entry": ".template/development/tests/fixtures/list-counters/main.typ",
|
||
"expected_pages": 1,
|
||
"expected_page_size": "A4",
|
||
"required_text": [
|
||
"1. Арабские: первый",
|
||
"2. Арабские: второй",
|
||
"3. Арабские: третий",
|
||
"А. Кириллица верхняя: первый",
|
||
"Б. Кириллица верхняя: второй",
|
||
"В. Кириллица верхняя: третий",
|
||
"а. Кириллица нижняя: первый",
|
||
"б. Кириллица нижняя: второй",
|
||
"в. Кириллица нижняя: третий",
|
||
"A. Латиница верхняя: первый",
|
||
"B. Латиница верхняя: второй",
|
||
"C. Латиница верхняя: третий",
|
||
"a. Латиница нижняя: первый",
|
||
"b. Латиница нижняя: второй",
|
||
"c. Латиница нижняя: третий",
|
||
"01. Ведущий ноль: первый",
|
||
"02. Ведущий ноль: второй",
|
||
"03. Ведущий ноль: третий",
|
||
"1.а. Второй уровень: первый",
|
||
"1.б. Второй уровень: второй",
|
||
"1.б.A. Третий уровень: первый",
|
||
"1.б.B. Третий уровень: второй"
|
||
],
|
||
"snapshot_pages": []
|
||
},
|
||
{
|
||
"id": "public-formatting-guide",
|
||
"entry": "docs/examples/formatting/main.typ",
|
||
"expected_pages": 0,
|
||
"expected_page_size": "A4",
|
||
"required_text": [
|
||
"РИСУНКИ",
|
||
"ТАБЛИЦЫ",
|
||
"Обычная встроенная таблица",
|
||
"Многострочная шапка и объединение ячеек",
|
||
"ФОРМУЛЫ",
|
||
"СПИСКИ И ТЕКСТ",
|
||
"Быстрая многоуровневая схема ГОСТ",
|
||
"Полная десятичная нумерация",
|
||
"Доступные типы счётчиков",
|
||
"Произвольные разделители",
|
||
"Маркеры вместо чисел",
|
||
"Геометрия и интервалы",
|
||
"Продолжение с нужного номера",
|
||
"1. Первый уровень.",
|
||
"а) Второй уровень.",
|
||
"1.1.1. Вложенный пункт.",
|
||
"II. Второй.",
|
||
"III. Третий.",
|
||
"ii. Второй.",
|
||
"iii. Третий.",
|
||
"B. Второй.",
|
||
"C. Третий.",
|
||
"b. Второй.",
|
||
"c. Третий.",
|
||
"02. Второй.",
|
||
"03. Третий.",
|
||
"Б. Второй.",
|
||
"В. Третий.",
|
||
"б. Второй.",
|
||
"в. Третий.",
|
||
"1.а)A. Третий уровень",
|
||
"A)1. Цифровой уровень.",
|
||
"§ 001: Пользовательский уровень",
|
||
"• Маркер •.",
|
||
"∙ Маркер ∙.",
|
||
"‣ Маркер ‣.",
|
||
"⁃ Маркер ⁃.",
|
||
"◦ Маркер ◦.",
|
||
"08. Восьмой пункт",
|
||
"09. Следующий пункт"
|
||
],
|
||
"snapshot_pages": []
|
||
}
|
||
],
|
||
"negative_fixtures": [
|
||
{
|
||
"id": "negative-letter",
|
||
"entry": ".template/development/tests/fixtures/negative-letter/main.typ",
|
||
"required_errors": ["Scientia / letter.recipient"]
|
||
},
|
||
{
|
||
"id": "negative-offer",
|
||
"entry": ".template/development/tests/fixtures/negative-offer/main.typ",
|
||
"required_errors": ["Scientia / commercial-offer.terms.amount"]
|
||
},
|
||
{
|
||
"id": "negative-contract",
|
||
"entry": ".template/development/tests/fixtures/negative-contract/main.typ",
|
||
"required_errors": ["Scientia / parties", "повторяющийся id"]
|
||
},
|
||
{
|
||
"id": "negative-company",
|
||
"entry": ".template/development/tests/fixtures/negative-company/main.typ",
|
||
"required_errors": ["Scientia / load-company.id", "неизвестная компания"]
|
||
},
|
||
{
|
||
"id": "negative-references",
|
||
"entry": ".template/development/tests/fixtures/negative-references/main.typ",
|
||
"required_errors": ["Scientia / vrefs", "ожидался label"]
|
||
},
|
||
{
|
||
"id": "negative-reference-case",
|
||
"entry": ".template/development/tests/fixtures/negative-reference-case/main.typ",
|
||
"required_errors": ["Scientia / reference", "неизвестный падеж"]
|
||
},
|
||
{
|
||
"id": "negative-list-scheme",
|
||
"entry": ".template/development/tests/fixtures/negative-list-scheme/main.typ",
|
||
"required_errors": ["Scientia / numbered-list.scheme", "неизвестная схема"]
|
||
},
|
||
{
|
||
"id": "negative-report-appendices",
|
||
"entry": ".template/development/tests/fixtures/negative-report-appendices/main.typ",
|
||
"required_errors": ["Scientia / report.appendices", "каждый элемент должен быть path"]
|
||
}
|
||
],
|
||
"compile_matrices": [
|
||
{
|
||
"id": "company-profile-matrix",
|
||
"entry": ".template/development/tests/fixtures/modes/main.typ",
|
||
"parameters": {
|
||
"company": ["scientia", "technology", "too", "test-company"],
|
||
"profile": ["report", "letter", "commercial-offer", "contract"],
|
||
"mode": ["final"]
|
||
}
|
||
}
|
||
]
|
||
}
|