Полный тест FB2 2.2: все элементы
Полный тест FB2 2.2: все элементы
cover

Полный тест FB2 2.2: все элементы

Иван Иванович Тестов, Jane Smith


Аннотация

Тестовый документ, содержащий все возможные элементы формата FictionBook 2.2.

Используется для проверки корректности парсинга и генерации XML при round-trip.

Версия теста: 1.0. Охватывает: inline-форматирование, стихи, цитаты, таблицы, изображения, сноски.

В начале было слово, а слово было тест.

И увидел разработчик, что это хорошо.

Книга Тестов, глава 1

Глава 1: Инлайн-форматирование

Форматирование — это искусство и наука.

Неизвестный типограф

Обычный параграф с жирным, курсивным, зачёркнутым и моноширинным кодом.

Надстрочный и подстрочный: H2O молекула воды, E=mc2 формула Эйнштейна.

Внешняя ссылка: Example.com. Внутренняя сноска: примечание [1]. Другая сноска: [2].

Ссылка с type="regular": Git SCM.

Комбинации форматирования: текст с жирным, затем курсивным, затем зачёркнутым, затем обычным снова.

Специальные символы XML: амперсанд &, меньше <, больше >, кавычка ", апостроф '.

Подзаголовок 1.1 внутри главы

Параграф после подзаголовка. let x = a & b — пример кода со спецсимволами.


Параграф после пустой строки (empty-line). Текст продолжается.

Подзаголовок 1.2

Ещё один параграф с нижним и верхним индексами в одном тексте.


Глава 2: Стихи и цитаты

Эта глава тестирует элементы poem, stanza, v и cite с inline-форматированием внутри.

Ода тестированию (полная форма)

Тестируй всё, что движется.

И то, что не движется — тоже тестируй.

Народная мудрость программиста

Строфа первая: форматирование

О жирном и курсивном

Я пишу жирными буквами код,

И курсивом комментирую ход,

Строка ошибочная зачёркнута смело,

А monospace — это программное дело.

Строфа вторая: ссылки и индексы

Сноска идёт [1] к примечанию,

H2O и CO2 — химия знания,

E=mc2 — великая формула та,

Вот ссылка на внешний сайт, красота!

Строфа без заголовка — тоже валидна,

Простые стихи без украшений видна,

Финальная строфа теста стихов,

Готов к проверке round-trip без слов.

Автор неизвестен

Редактор: Тест-машина


Цитата из документации

«Хороший тест — это документация кода, написанная автоматически

Правильное тестирование помогает найти и скрыть исправить ошибки. Химически: H2O2 — перекись водорода.

Ссылка внутри цитаты: документация.

Мудрый программист

Из книги «Искусство тестирования»

Глава 3: Таблицы с th и td

Таблица с заголовочными ячейками <th> (Фаза C):

Элемент FB2ОписаниеФазаСтатус
genre matchСтепень соответствия жанру (0-100)CРеализовано
date valueМашиночитаемая дата xs:dateCРеализовано
th / tdЯчейки-заголовки таблицCРеализовано
src-title-infoМетаданные оригинала переводных книгAРеализовано
custom-infoПроизвольные key-value метаданныеAРеализовано
[[InlineElement]]Inline-форматирование в стихах и цитатахBРеализовано

Таблица с colspan и rowspan атрибутами:

Объединённый заголовок (colspan=3)
Колонка AКолонка BКолонка C
Объединённая ячейка (rowspan=2)B1C1
B2C2
Выравнивание leftcenterright

Минимальная таблица (только td):

Ячейка 1Ячейка 2

Глава 4: Изображения

Встроенное изображение с alt и title атрибутами:


Второе изображение (то же, другая ссылка):

Изображение хранится в секции binary как Base64-encoded данные.

Глава 5: Вложенные секции

FB2 поддерживает произвольную вложенность секций (подглав). Эта глава демонстрирует три уровня вложенности.

Подраздел 5.1: Первый уровень вложенности

Контент первого подраздела с жирным и курсивом.

Цитата внутри подраздела: «Глубина вложенности ограничена только воображением».

Спецификация FB2

Подподраздел 5.1.1: Второй уровень

Глубоко вложенный контент. section → section → content.

Параграф с сноской [2] и жирным текстом.

Подподраздел 5.1.2: Ещё один второй уровень

Второй подподраздел на том же уровне.


С пустой строкой.

Подраздел 5.2: Второй подраздел

Эпиграф тоже работает в подразделах.

Автор эпиграфа

Второй подраздел с курсивом, кодом и зачёркиванием.

Подзаголовок в подразделе

После подзаголовка внутри подраздела.

Глава 6: Эпиграфы с inline-форматированием

Первый эпиграф с жирным и курсивным текстом.

Второй параграф эпиграфа: H2O и E=mc2.

Источник эпиграфа 1

Второй эпиграф секции: со ссылкой и кодом.

Источник эпиграфа 2

Секция с несколькими эпиграфами (FB2 допускает множество).

Inline-форматирование в эпиграфах хранится как [[InlineElement]] после Фазы B.


Примечания

1

Первая сноска. Ссылка создаётся через <a l:href="#note1" type="note">.

Сноски хранятся в теле с name="notes".

2

Вторая сноска о коммитах и ветках. Полезная ссылка: Git Documentation.

3

Третья сноска — не используется в тексте, но присутствует в notes body.