55//!
66//! godot-rust provides optional serialization support for many core types. Enable the feature `serde` to make use of it.
77
8- mod geom;
9-
10- mod access;
118mod color;
12- mod dictionary;
139mod error;
1410mod node_path;
1511mod pool_array;
1612mod rid;
17- mod string;
18- mod variant;
19- mod variant_array;
2013mod vector2;
2114mod vector3;
2215
23- pub use access:: * ;
24- pub use color:: * ;
25- pub use dictionary:: * ;
16+ pub mod access;
17+ pub mod array;
18+ pub mod dictionary;
19+ pub mod geom;
20+ pub mod string;
21+ pub mod variant;
22+
23+ pub use array:: VariantArray ;
24+ pub use color:: Color ;
25+ pub use dictionary:: Dictionary ;
2626pub use error:: { GodotError , GodotResult } ;
27- pub use geom:: * ;
28- pub use node_path:: * ;
29- pub use pool_array:: * ;
30- pub use rid:: * ;
31- pub use string:: * ;
32- pub use variant:: * ;
33- pub use variant_array:: * ;
34- pub use vector2:: * ;
35- pub use vector3:: * ;
27+ pub use geom:: { Aabb , Basis , Margin , MarginError , Plane , Quat , Rect2 , Transform , Transform2D } ;
28+ pub use node_path:: NodePath ;
29+ pub use pool_array:: { PoolArray , PoolElement } ;
30+ pub use rid:: Rid ;
31+ pub use string:: { GodotString , StringName } ;
32+ pub use variant:: {
33+ CoerceFromVariant , FromVariant , FromVariantError , OwnedToVariant , ToVariant , ToVariantEq ,
34+ Variant , VariantType ,
35+ } ;
36+ pub use vector2:: Vector2 ;
37+ pub use vector3:: { Axis , Vector3 } ;
3638
3739use approx:: relative_eq;
3840
@@ -55,3 +57,49 @@ impl IsEqualApprox for f64 {
5557 relative_eq ! ( self , to, epsilon = CMP_EPSILON )
5658 }
5759}
60+
61+ #[ cfg( feature = "gd-test" ) ]
62+ #[ doc( hidden) ]
63+ #[ inline]
64+ #[ must_use]
65+ pub fn test_core_types ( ) -> bool {
66+ let mut status = true ;
67+
68+ status &= string:: test_string ( ) ;
69+ status &= string:: test_string_name_eq ( ) ;
70+ status &= string:: test_string_name_ord ( ) ;
71+
72+ status &= array:: test_array ( ) ;
73+ status &= array:: test_array_debug ( ) ;
74+ status &= array:: test_array_clone_clear ( ) ;
75+ status &= dictionary:: test_dictionary ( ) ;
76+ status &= dictionary:: test_dictionary_clone_clear ( ) ;
77+
78+ status &= color:: test_color ( ) ;
79+ status &= vector2:: test_vector2_variants ( ) ;
80+ status &= vector3:: test_vector3_variants ( ) ;
81+
82+ status &= variant:: test_variant_nil ( ) ;
83+ status &= variant:: test_variant_i64 ( ) ;
84+ status &= variant:: test_variant_bool ( ) ;
85+ status &= variant:: test_variant_option ( ) ;
86+ status &= variant:: test_variant_result ( ) ;
87+ status &= variant:: test_variant_hash_map ( ) ;
88+ status &= variant:: test_variant_hash_set ( ) ;
89+ status &= variant:: test_variant_vec ( ) ;
90+ status &= variant:: test_to_variant_iter ( ) ;
91+ status &= variant:: test_variant_tuple ( ) ;
92+ status &= variant:: test_variant_dispatch ( ) ;
93+
94+ status &= pool_array:: test_byte_array_access ( ) ;
95+ status &= pool_array:: test_int32_array_access ( ) ;
96+ status &= pool_array:: test_float32_array_access ( ) ;
97+ status &= pool_array:: test_color_array_access ( ) ;
98+ status &= pool_array:: test_string_array_access ( ) ;
99+ status &= pool_array:: test_vector2_array_access ( ) ;
100+ status &= pool_array:: test_vector3_array_access ( ) ;
101+
102+ status &= geom:: test_transform2d_behavior ( ) ;
103+
104+ status
105+ }
0 commit comments