5
5
//!
6
6
//! godot-rust provides optional serialization support for many core types. Enable the feature `serde` to make use of it.
7
7
8
- mod geom;
9
-
10
- mod access;
11
8
mod color;
12
- mod dictionary;
13
9
mod error;
14
10
mod node_path;
15
11
mod pool_array;
16
12
mod rid;
17
- mod string;
18
- mod variant;
19
- mod variant_array;
20
13
mod vector2;
21
14
mod vector3;
22
15
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 ;
26
26
pub 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 } ;
36
38
37
39
use approx:: relative_eq;
38
40
@@ -55,3 +57,49 @@ impl IsEqualApprox for f64 {
55
57
relative_eq ! ( self , to, epsilon = CMP_EPSILON )
56
58
}
57
59
}
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