Skip to content

ShapeManager. Правим баги и пишем тесты#269

Open
Anu3ev wants to merge 6 commits intomasterfrom
working-tree
Open

ShapeManager. Правим баги и пишем тесты#269
Anu3ev wants to merge 6 commits intomasterfrom
working-tree

Conversation

@Anu3ev
Copy link
Owner

@Anu3ev Anu3ev commented Mar 12, 2026

  1. ShapeManager. Правим баг когда при увеличении размера текста он вылезает за пределы области выделения.
  2. ShapeManager. Делаем чтобы минимальная ширина при скейлинге по горизонтали всегда была примерно одинаковая и равна одному символу в строке. Фиксим зависание при частом горизонтальном скейлинге.
  3. ShapeManager. Убираем минимальную ширину в виде всей строки текста, делаем минимальной шириной 1 символ.
  4. Фиксим live-скейлинг шейпов когда при резком скейлинге ширина зависала на случайных значениях
  5. Unit & e2e тесты для кейсов перечисленных выше

@Anu3ev Anu3ev changed the title ShapeManager. Правим баг когда при увеличении размера текста он вылезает за пределы области выделения. ShapeManager. Правим баги и пишем тесты Mar 12, 2026
@github-actions
Copy link

github-actions bot commented Mar 12, 2026

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

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

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

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

Метрика Значение Что проверяется
📝 Строки кода 63.71% Сколько строк кода было выполнено во время тестов
Функции 60.67% Сколько функций было вызвано и протестировано
🌿 Ветвления 52.66% Сколько условий if/else/switch было проверено
Утверждения 61.83% Сколько отдельных команд было выполнено
📁 Покрытие по файлам (нажмите чтобы развернуть)
  • 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% функций
  • js/listeners/constants.js: 0% строк, 100% функций
  • js/listeners/init-background-listeners.js: 0% строк, 0% функций
  • js/listeners/init-canvas-state-listeners.js: 0% строк, 0% функций
  • js/listeners/init-editor-actions-listeners.js: 0% строк, 0% функций
  • js/listeners/init-serialization-listeners.js: 0% строк, 0% функций
  • js/listeners/init-shape-listeners.js: 0% строк, 0% функций
  • js/listeners/init-text-listeners.js: 0% строк, 0% функций
  • js/listeners/shared-ui.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.4% строк, 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% функций
  • editor/history-manager/constants.ts: 100% строк, 100% функций
  • editor/history-manager/diff-normalization.ts: 100% строк, 100% функций
  • history-manager/index.ts: 92.23% строк, 91.42% функций
  • editor/history-manager/load-state.ts: 100% строк, 100% функций
  • editor/history-manager/snapshot-interactivity.ts: 100% строк, 100% функций
  • image-manager/index.ts: 94.37% строк, 97.22% функций
  • interaction-blocker/index.ts: 50.98% строк, 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: 81.23% строк, 82.05% функций
  • editor/shape-manager/shape-editing.ts: 100% строк, 100% функций
  • editor/shape-manager/shape-factory.ts: 3.59% строк, 0% функций
  • editor/shape-manager/shape-group.ts: 97.82% строк, 87.5% функций
  • editor/shape-manager/shape-layout.ts: 92.54% строк, 100% функций
  • editor/shape-manager/shape-presets.ts: 98.07% строк, 100% функций
  • editor/shape-manager/shape-runtime.ts: 96.29% строк, 100% функций
  • editor/shape-manager/shape-scaling.ts: 92% строк, 92.85% функций
  • editor/shape-manager/shape-utils.ts: 74.35% строк, 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: 34.79% строк, 65% функций
  • 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: 76.31% строк, 85.71% функций
  • editor/utils/gradient.ts: 7.69% строк, 0% функций
  • editor/utils/object-filter.ts: 93.75% строк, 66.66% функций
  • editor/utils/primitive-shapes.ts: 100% строк, 100% функций
  • 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 | ⏱️ 13.03.2026, 17:44:26

Alexander added 5 commits March 12, 2026 19:15
…ыла примерно одинаковая и равна одному символу в строке. Фиксим зависание при частом горизонтальном скейлинге. Убираем минимальную ширину в виде всей строки текста, делаем минимальной шириной 1 символ.
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