Skip to content

ShapeManager. Делаем возможность добавления разных шейпов с текстом#265

Merged
Anu3ev merged 21 commits intomasterfrom
working-tree
Mar 10, 2026
Merged

ShapeManager. Делаем возможность добавления разных шейпов с текстом#265
Anu3ev merged 21 commits intomasterfrom
working-tree

Conversation

@Anu3ev
Copy link
Owner

@Anu3ev Anu3ev commented Feb 26, 2026

  1. Добавлен класс ShapeManager, который отвечает за добавление различных фигур, их обновление. Фигура может содержать текст, иметь скруглённые углы, обводку, прозрачность.
  2. Стиллизация текста предполагает возможность указания любых стилей которые доступны для обычного текстового объекта
  3. В демо-версии редактора добавлена возможность добавления/замены шейпов и их стиллизации
  4. Были написаны e2e тесты на Playwright покрывающие ряд кейсов связанных с шейпами
  5. Тесты на Jest

@github-actions
Copy link

github-actions bot commented Feb 26, 2026

Результаты тестирования на Node.js 20

🎉 Все тесты прошли успешно!

📊 Покрытие кода тестами

💡 Что это означает? Покрытие показывает, какая часть вашего кода проверена тестами.

Метрика Значение Что проверяется
📝 Строки кода 61.13% Сколько строк кода было выполнено во время тестов
Функции 57.4% Сколько функций было вызвано и протестировано
🌿 Ветвления 49.79% Сколько условий if/else/switch было проверено
Утверждения 59.3% Сколько отдельных команд было выполнено
📁 Покрытие по файлам (нажмите чтобы развернуть)
  • image-editor/src/main.ts: 100% строк, 100% функций
  • demo/js/elements.js: 0% строк, 100% функций
  • demo/js/index.js: 0% строк, 0% функций
  • demo/js/listeners.js: 0% строк, 0% функций
  • demo/js/methods.js: 0% строк, 0% функций
  • src/editor/constants.ts: 100% строк, 100% функций
  • src/editor/default-fonts.ts: 100% строк, 100% функций
  • src/editor/defaults.ts: 100% строк, 100% функций
  • editor/index.ts: 99.18% строк, 100% функций
  • src/editor/listeners.ts: 94.15% строк, 88.88% функций
  • background-manager/index.ts: 82.25% строк, 88.88% функций
  • canvas-manager/index.ts: 92.68% строк, 100% функций
  • clipboard-manager/index.ts: 83.12% строк, 92% функций
  • editor/customized-controls/constants.ts: 100% строк, 100% функций
  • editor/customized-controls/default-controls.ts: 100% строк, 100% функций
  • customized-controls/index.ts: 3.52% строк, 0% функций
  • editor/customized-controls/renderers.ts: 14.75% строк, 0% функций
  • deletion-manager/index.ts: 3.33% строк, 0% функций
  • editor/error-manager/error-codes.ts: 100% строк, 100% функций
  • error-manager/index.ts: 100% строк, 100% функций
  • font-manager/index.ts: 92.85% строк, 94.73% функций
  • grouping-manager/index.ts: 100% строк, 100% функций
  • history-manager/index.ts: 95.02% строк, 94.23% функций
  • image-manager/index.ts: 94.37% строк, 97.22% функций
  • interaction-blocker/index.ts: 50% строк, 57.14% функций
  • layer-manager/index.ts: 97.82% строк, 100% функций
  • editor/measurement-manager/constants.ts: 100% строк, 100% функций
  • measurement-manager/index.ts: 90.67% строк, 92% функций
  • module-loader/index.ts: 11.11% строк, 0% функций
  • object-lock-manager/index.ts: 6.45% строк, 0% функций
  • pan-constraint-manager/index.ts: 6.97% строк, 14.28% функций
  • selection-manager/index.ts: 79.53% строк, 84% функций
  • shape-manager/index.ts: 62.88% строк, 74.35% функций
  • editor/shape-manager/shape-editing.ts: 100% строк, 100% функций
  • editor/shape-manager/shape-factory.ts: 3.59% строк, 0% функций
  • editor/shape-manager/shape-layout.ts: 94.21% строк, 100% функций
  • editor/shape-manager/shape-presets.ts: 98.07% строк, 100% функций
  • editor/shape-manager/shape-scaling.ts: 90.24% строк, 90% функций
  • editor/shape-manager/shape-utils.ts: 75% строк, 100% функций
  • editor/snapping-manager/calculations.ts: 93.7% строк, 100% функций
  • editor/snapping-manager/constants.ts: 100% строк, 100% функций
  • snapping-manager/index.ts: 63.81% строк, 70.58% функций
  • editor/snapping-manager/renderer.ts: 20% строк, 0% функций
  • editor/snapping-manager/utils.ts: 100% строк, 100% функций
  • template-manager/index.ts: 3.28% строк, 2.5% функций
  • editor/text-manager/background-textbox.ts: 92.09% строк, 100% функций
  • editor/text-manager/constants.ts: 100% строк, 100% функций
  • editor/text-manager/geometry.ts: 98.36% строк, 100% функций
  • text-manager/index.ts: 60.52% строк, 68.96% функций
  • editor/text-manager/line-defaults.ts: 66.89% строк, 75% функций
  • editor/text-manager/selection.ts: 81.52% строк, 62.5% функций
  • transform-manager/index.ts: 82.47% строк, 91.66% функций
  • ui/angle-indicator/constants.ts: 100% строк, 100% функций
  • angle-indicator/index.ts: 100% строк, 100% функций
  • ui/toolbar-manager/default-config.ts: 18.18% строк, 0% функций
  • ui/toolbar-manager/icons.ts: 100% строк, 100% функций
  • toolbar-manager/index.ts: 1.66% строк, 0% функций
  • editor/utils/distance.ts: 100% строк, 100% функций
  • editor/utils/geometry.ts: 50% строк, 28.57% функций
  • editor/utils/gradient.ts: 7.69% строк, 0% функций
  • editor/utils/object-filter.ts: 93.75% строк, 66.66% функций
  • editor/utils/render-utils.ts: 100% строк, 100% функций
  • editor/utils/text.ts: 100% строк, 100% функций
  • worker-manager/index.ts: 13.63% строк, 0% функций
  • editor/worker-manager/worker.ts: 0% строк, 0% функций
  • zoom-manager/index.ts: 52.51% строк, 78.57% функций

🔗 Скачать полный отчёт о покрытии

⚠️ Рекомендация: Покрытие ниже 80%. Добавьте больше тестов для критичных участков кода.


🤖 Протестировано на Node.js 20 | ⏱️ 10.03.2026, 11:10:03

Alexander added 20 commits February 27, 2026 15:47
@Anu3ev Anu3ev merged commit f722c89 into master Mar 10, 2026
1 check passed
@Anu3ev Anu3ev deleted the working-tree branch March 10, 2026 12:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant