manim/tests
Henrik Skov Midtiby 357bb3fbba
Rewrite MathTex to make it more robust regarding splitting (#4515)
* Extracted the method get_mob_from_shape_element

* Moved more functionality to get_mob_from_shape_element

* More cleanup

* Parse the svg file while maintaining the group structure.

* Make the svg groups available

* Handle PERF401 issue

* [pre-commit.ci] pre-commit autoupdate (#4506)

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.14.7 → v0.14.8](https://github.com/astral-sh/ruff-pre-commit/compare/v0.14.7...v0.14.8)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Added an example of the issue

* Experimenting with coloring elements from the latex equation

* ...

* Regular expression can now match more than one object

* Process the string by applying the substrings in the order they match

* Code refactoring and added type annotations

* ...

* Added a lot of test cases

* More examples

* More examples

* Use matched_strings_and_ids to simplify existing methods

* Remove unused code

* Update get_part_by_tex to use matched_strings_and_ids

* This is required for test_MathTable to pass

* Ensure that self.texstring is set.

* Added more examples from exising issues in the github repo

* Ensure that latex groups are maintained by adding an additional pair of curly braces around the extracted part

* ExampleScene -> Scene

* Added comment

* _break_up_by_substrings

* Refactor code

* Added comment to example

* Handle integer inputs well.

* Expose the original tex_string

* Do not treat the content of substrings_to_isolate as regular expressions.

* Updated examples

* Update examples

* Fix SVMobject caching issue.

* Remove traces from brace_notation_split_occurred

* Simplify MathTex::_break_up_by_substrings

* Fix small issue in tex that in some cases moved elements a tiny bit around

* No use of regular expressions for locate substrings.

* Updated notes to the set of test cases

* Handle issues with the center environment.

* Add example

* Fix issue with rectangles (e.g. from sqrt)

* ConvertToOpenGL

* Reduce the number of nesting levels.

* Use the specified arg_seperator

* Deal with the double curly brace markup

* Code cleanup

* Code cleanup

* Rollback a few changes

* Code cleanup

* Adjust paths the generated artefacts in tests that rely on MathTex

* Added a remark to the using text guide on enclosing snippets in curly braces for substrings_to_isolate to work

* Added space around the numerator argument to frac to avoid having double curly braces in the example.

This would otherwise trigger MathTex to split the string at that location.

* Log errors properly and display some information about the errors and their context.

* Code refactoring as suggested by Benjamin

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2026-02-16 14:22:56 +01:00
..
control_data Rewrite MathTex to make it more robust regarding splitting (#4515) 2026-02-16 14:22:56 +01:00
helpers Resolve more race conditions potentially happening during directory creation (#4589) 2026-02-12 08:18:26 +01:00
interface Bump minimum Python to 3.11 and av to 14.0.1 (#4385) 2026-01-12 14:27:48 +01:00
miscellaneous Update dependency constraints, fix deprecation warnings (#3376) 2023-12-06 14:44:13 +01:00
module Rewrite MathTex to make it more robust regarding splitting (#4515) 2026-02-16 14:22:56 +01:00
opengl Rewrite MathTex to make it more robust regarding splitting (#4515) 2026-02-16 14:22:56 +01:00
test_graphical_units Enable strict=True for zip() where safe (#4547) 2026-02-11 10:39:25 +01:00
test_logging Use ruff for pytest style (#3872) 2024-07-21 14:37:57 +00:00
test_plugins Resolve more race conditions potentially happening during directory creation (#4589) 2026-02-12 08:18:26 +01:00
test_scene_rendering feat: add a 'seed' option for reproducible outputs (#4532) 2026-01-20 22:24:32 +01:00
utils Enable strict=True for zip() where safe (#4547) 2026-02-11 10:39:25 +01:00
__init__.py CI: Add support for using Opengl in Subprocess (Windows) (#1987) 2021-08-31 13:16:20 +01:00
assert_utils.py Migrate more os.path to pathlib in tests (#2991) 2022-10-26 19:51:38 +02:00
conftest.py Add support for Python 3.13 (#3967) 2024-12-02 08:50:14 +01:00
standard_config.cfg Add OpenGLMobject tests (#2080) 2021-09-28 07:47:06 +08:00
template_generate_graphical_units_data.py Upgraded typehints (#2429) 2022-01-20 12:26:21 +08:00
test_camera.py Allow using :meth:.MovingCamera.auto_zoom without animation (#2693) 2022-04-22 23:07:52 +02:00
test_code_mobject.py Better parsing of color styles in CodeMobject (#4454) 2025-10-26 08:47:47 +01:00
test_config.py Fix scene skipping for config.upto_animation_number (-n flag in CLI) set to 0 to end after first animation (#4013) 2024-11-13 21:23:50 -03:00
test_ipython_magic.py Change from tempconfig to a config fixture in tests (#3853) 2024-07-12 22:41:51 +02:00
test_linear_transformation_scene.py Use ruff for pytest style (#3872) 2024-07-21 14:37:57 +00:00