Commit graph

222 commits

Author SHA1 Message Date
Lukas Tenbrink
1b1ab76a14 Add FixedVector template.
This is a high performance `Vector`-like object that can be used if the maximum number of objects is small and known, and the objects are needed only temporarily.
2025-04-30 19:14:08 +02:00
smix8
f2197a1013 Expose TriangleMesh api functions wrapped for scripting
Adds script wrapped TriangleMesh api functions to create and query the triangle BVH tree.
2025-04-02 09:52:35 +02:00
Michael Alexsander
556933306a
Allow to compile templates without navigation features 2025-04-01 11:53:35 -03:00
A Thousand Ships
5cc0539961
[Navigation] Create a dedicated 2D navigation server
* Add a dedicated 2D server
* Create dedicated tests
* Split performance metrics between 2D and 3D
* Rename the 3D only server module
2025-03-29 12:10:50 +01:00
Michael Alexsander
5ad414d046
Allow to compile templates without physics servers 2025-03-28 11:00:44 -03:00
Pablo Andres Fuente
e2bef7041e Fix StreamPeerGZIP::finish() internal buffer size usage
Fixes #97201

Instead of using and arbitrary fixed size for the internal buffer,
the remaining available bytes of the internal `RingBuffer` is used.

Also add unit tests for `StreamPeerGZIP`.
2025-03-19 09:56:32 +01:00
A Thousand Ships
b064fcf547
[Navigation] Rename classes in preparation for future restructure 2025-03-12 13:26:34 +01:00
Lukas Tenbrink
605b62cd29 Add Span struct (replacing StrRange). Spans represent read-only access to a contiguous array, resembling std::span. 2025-03-09 18:19:51 +01:00
Pablo Andres Fuente
5775d29ad8 Fix SCRIPT ERROR/ERROR/WARNING on test output
Also "fixing" some GDScript completion tests which
where named wrongly.
2025-03-06 13:44:48 +01:00
Pablo Andres Fuente
d1338528f9 Fix file loggin log rotation
Fixes #97066

`RBSet` were used on `RotatedFileLogger` because it guarantees that
iterating it is done via `operator<`. This is important because
`RotatedFileLogger` depends on this behavior to delete the oldest log file.
On #61194 `HashSet` was added and all `RBSet` uses were replaced by
`HashSet`.
When that happened, the iteration in order is guaranteed to be the insertion
order, wich made that `RotatedFileLogger` delete the newest log file.
As a bonus, I added unit test for `RotatedFileLogger` and `CompositeLogger`.
2025-02-10 21:57:07 +01:00
Rémi Verschelde
4cf02312f6
Merge pull request #101136 from JulianHeuser/master
Add test for GLTFDocument
2025-01-07 00:45:14 +01:00
Julian
5727eda0e1 GLTFDocument test case 2025-01-06 15:53:33 -05:00
AThousandShips
25ecf5ec83
[Core] Fix UID encoding
Fixes edge case where `0` encoded as `uid://` instead of `uid://a`, and
fixes the size of the temporary buffer storing encoded UID strings.
2024-12-31 15:20:09 +01:00
Hilderin
9d2a4c03be Embedding game process in editor 2024-12-18 17:52:42 -05:00
kit
63a90b3dd8 Add tests for SplitContainer 2024-12-17 18:16:52 -05:00
Rémi Verschelde
0ce9e3e941
Merge pull request #98504 from timothyqiu/test-keyevent-rtr
Fix `InputEventKey` test failure under certain system languages
2024-12-17 16:18:46 +01:00
demolke
35bb827d10 Destroy EditorFilesystem/EditorSettings on test shutdown
Otherwise asan complains if a test tries to use these.

Split off from https://github.com/godotengine/godot/pull/98909
2024-12-02 19:34:39 +01:00
Pablo Andres Fuente
0c03db09f8 Add unit tests for TCPServer
This PR aims to help "fix" #43440
2024-11-29 12:55:49 +01:00
Pablo Andres Fuente
2c9de1d9d2 Add unit tests for UDPServer
This PR aims to help "fix" #43440
2024-11-22 23:08:05 -03:00
Rémi Verschelde
23fc8e22a3
Merge pull request #95303 from EIREXE/inverted_composer
Fix `Projection::invert` for orthographic projection
2024-11-20 17:03:03 +01:00
Thaddeus Crews
32b4f40cc8
Merge pull request #99131 from MarcusAahl/my-testing-branch
Add basic tests for Fontfile
2024-11-19 15:20:17 -06:00
marcus åhl
c636c86f65 Basic Fontfile tests 2024-11-19 11:56:26 +01:00
Álex Román
02b2efc668 Fix Projection::invert on orthogonal projections and others.
Fixes #68878, specially when using orthographic projection.

Also adds some tests.
2024-11-18 16:13:04 +01:00
arkology
d692b7bdde Improve set_radial_initial_angle by removing loops
Replace two while loops with fposmodp.
Document radial_initial_angle wrapping.
Add testcases for set_radial_initial_angle()
2024-11-14 20:20:20 +03:00
Adam Johnston
3ac043c508 Add fuzzy string matching to quick open search
Co-authored-by: sam <samsface@gmail.com>
2024-10-28 11:24:36 -07:00
Haoyu Qiu
dc3de73d18 Fix InputEventKey test failure under certain system languages 2024-10-28 19:39:33 +08:00
nazarii
76208f7155 Implement array based hash map 2024-10-24 21:34:12 +03:00
Rémi Verschelde
2d8bfab47c
Merge pull request #97255 from kitbdev/test-tabs
Fix TabBar initialization issue and add tests
2024-10-04 11:21:33 +02:00
jonas
b2e38f3c4b Add unit tests for PhysicsMaterial 2024-10-04 10:09:03 +02:00
Rémi Verschelde
9c716408ef
Merge pull request #97512 from matthewestopinal/mestopinal-sky-tests
Add Unit Test cases for `Sky`
2024-10-01 17:31:07 +02:00
Rémi Verschelde
a7d0464e9e
Merge pull request #95931 from pafuent/adding_packet_peer_tests
Add unit tests for `PacketPeer`
2024-10-01 17:30:36 +02:00
Pablo Andres Fuente
ff10dee946 Add unit tests for StreamPeer and StreamPeerBuffer
Partially fixes #43440
2024-10-01 12:25:11 -03:00
Pablo Andres Fuente
0a41a715da Add unit tests for PacketPeer
Partially fixes #43440
2024-10-01 12:19:41 -03:00
MATTHEW ESTOPINAL
136e4d5636
Add Unit Test cases for Sky 2024-10-01 15:54:53 +02:00
Ricardo Buring
7c4c4b9987 Move Godot Physics 2D into a module; add dummy 2D physics server
If the module is enabled (default), 2D physics works as it did before.

If the module is disabled and no other 2D physics server is registered
(via a module or GDExtension), then we fall back to a dummy
implementation which effectively disables 2D physics functionality (and
a warning is printed).

The dummy 2D physics server can also be selected explicitly, in which
case no warning is printed.
2024-09-23 17:33:45 +02:00
Ricardo Buring
0333648cea Move Godot Physics 3D into a module; add dummy 3D physics server
If the module is enabled (default), 3D physics works as it did before.

If the module is disabled and no other 3D physics server is registered
(via a module or GDExtension), then we fall back to a dummy
implementation which effectively disables 3D physics functionality (and
a warning is printed).

The dummy 3D physics server can also be selected explicitly, in which
case no warning is printed.
2024-09-21 21:19:45 +02:00
kit
f2f34e9c50 Fix TabBar initialization issue and add tests 2024-09-20 18:49:46 -04:00
demolke
0468bea899 Add per-bone meta to Skeleton3D
Individual bones are not represented as `Node`s in Godot, in order to support meta functionality for them the skeleton has to carry the information similarly to how other per-bone properties are handled.
- Also adds support for GLTF import/export
2024-09-16 16:26:15 +02:00
Leon Stansfield
3d13d90185
Add unit tests for Parallax2D
- Added test cases for setting and getting key properties of Parallax2D, including:
  - Scroll scale
  - Repeat size and times
  - Autoscroll
  - Scroll and screen offset
  - Limit begin and end
  - Follow viewport and ignore camera scroll flags
2024-09-06 22:34:51 +02:00
Leon Stansfield
6c4ee85f29
Add unit tests for HeightMapShape3D
Added test cases for constructor and property getters/setters:
- Map width, depth, and data
- Minimum and maximum height
- Update map data from image
2024-09-06 09:54:48 +02:00
Hendrik Brucker
36a0ec166e [Tests] Make [Audio] tag consistent with other test environment tags 2024-09-04 15:14:49 +02:00
Rémi Verschelde
4c6bac15a3
Merge pull request #92656 from fire/vsk-json-to-native-4.3
Ability to convert native engine types to JSON and back.
2024-08-30 09:58:57 +02:00
K. S. Ernest (iFire) Lee
71bdbcdfb1 Ability to convert native engine types to JSON and back.
Implements support for all engine types in JSON encoding/decoding

Co-Authored-By: Juan <reduzio@gmail.com>
Co-Authored-By: Rémi Verschelde <rverschelde@gmail.com>
2024-08-29 10:57:15 -07:00
Rémi Verschelde
8931177d47
Merge pull request #93824 from wheatear-dev/test-option-button
Add unit tests for `OptionButton`
2024-08-28 00:11:30 +02:00
Rémi Verschelde
b523add340
Merge pull request #93381 from Luis-Wong/test-button
Add button unit test
2024-08-28 00:11:11 +02:00
Rémi Verschelde
a7c6136644
Merge pull request #90501 from Calinou/test-add-gradienttexture
Add unit tests for GradientTexture1D and GradientTexture2D
2024-08-28 00:10:37 +02:00
Rémi Verschelde
4f02b37f70
Merge pull request #95218 from MylesScholz/unit-tests
Add unit tests for `StyleBoxTexture`
2024-08-27 22:27:39 +02:00
MylesScholz
cdaba941d5 StyleBoxTexture unit tests
Capitalization fix in test_style_box_texture.h

Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>

Newline fix in test_style_box_texture.h

Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2024-08-08 11:36:34 -07:00
aaronp64
040f241f39 Improve Tree performance
Added TreeItem::last_child to avoid needing to iterate through all children to get to the end.  This mainly helps in cases where one TreeItem has many children (1000s), and new children are added to the end, as each add had to iterate through all previously added children.
2024-07-26 11:32:45 -04:00
Luis-Wong
77331d132b Created button test for is_hovered() method. 2024-07-26 00:05:46 -04:00