@@ -59,7 +59,7 @@ fn error_has_value_and_no_cause() {
59
59
60
60
for ( err, err_str) in errors. into_iter ( ) {
61
61
assert ! (
62
- err. value ( ) . is_some( ) ,
62
+ err. value_str ( ) . is_some( ) ,
63
63
"{err_str} conversion has no value: {err:?}"
64
64
) ;
65
65
assert ! (
@@ -74,22 +74,17 @@ fn error_has_value_and_no_cause() {
74
74
/// Check that the value stored in an error is the same as the value we tried to convert.
75
75
#[ itest]
76
76
fn error_maintains_value ( ) {
77
- // Need to use Debug to check equality here since we get a `dyn Debug` and thus cannot check equality
78
- // directly.
79
77
let value = i32:: MAX ;
80
78
let err = Vector2Axis :: try_from_godot ( value) . unwrap_err ( ) ;
81
- assert_eq ! ( format!( "{value:?}" ) , format! ( "{:?}" , err. value ( ) . unwrap( ) ) ) ;
79
+ assert_eq ! ( format!( "{value:?}" ) , err. value_str ( ) . unwrap( ) ) ;
82
80
83
81
let value = i64:: MAX ;
84
82
let err = value. to_variant ( ) . try_to :: < i32 > ( ) . unwrap_err ( ) ;
85
- assert_eq ! ( format!( "{value:?}" ) , format! ( "{:?}" , err. value ( ) . unwrap( ) ) ) ;
83
+ assert_eq ! ( format!( "{value:?}" ) , err. value_str ( ) . unwrap( ) ) ;
86
84
87
- let value = f64:: MAX ;
88
- let err = value. to_variant ( ) . try_to :: < i32 > ( ) . unwrap_err ( ) ;
89
- assert_eq ! (
90
- format!( "{:?}" , value. to_variant( ) ) ,
91
- format!( "{:?}" , err. value( ) . unwrap( ) )
92
- ) ;
85
+ let value = f64:: MAX . to_variant ( ) ;
86
+ let err = value. try_to :: < i32 > ( ) . unwrap_err ( ) ;
87
+ assert_eq ! ( format!( "{value:?}" ) , err. value_str( ) . unwrap( ) ) ;
93
88
}
94
89
95
90
// Manual implementation of `GodotConvert` and related traits to ensure conversion works.
@@ -167,6 +162,7 @@ fn custom_convert_error_from_variant() {
167
162
. to_variant ( )
168
163
. try_to :: < Foo > ( )
169
164
. expect_err ( "should be missing key `a`" ) ;
165
+
170
166
assert_eq ! ( err. cause( ) . unwrap( ) . to_string( ) , Foo :: MISSING_KEY_A ) ;
171
167
172
168
let missing_b = dict ! {
@@ -176,6 +172,7 @@ fn custom_convert_error_from_variant() {
176
172
. to_variant ( )
177
173
. try_to :: < Foo > ( )
178
174
. expect_err ( "should be missing key `b`" ) ;
175
+
179
176
assert_eq ! ( err. cause( ) . unwrap( ) . to_string( ) , Foo :: MISSING_KEY_B ) ;
180
177
181
178
let too_many_keys = dict ! {
@@ -187,6 +184,7 @@ fn custom_convert_error_from_variant() {
187
184
. to_variant ( )
188
185
. try_to :: < Foo > ( )
189
186
. expect_err ( "should have too many keys" ) ;
187
+
190
188
assert_eq ! ( err. cause( ) . unwrap( ) . to_string( ) , Foo :: TOO_MANY_KEYS ) ;
191
189
192
190
let wrong_type_a = dict ! {
@@ -197,11 +195,10 @@ fn custom_convert_error_from_variant() {
197
195
. to_variant ( )
198
196
. try_to :: < Foo > ( )
199
197
. expect_err ( "should have wrongly typed key `a`" ) ;
198
+
200
199
assert ! ( err. cause( ) . is_none( ) ) ;
201
- // Need to use Debug to check equality here since we get a `dyn Debug` and thus cannot check equality
202
- // directly.
203
200
assert_eq ! (
204
- format! ( "{:?}" , err. value ( ) . unwrap( ) ) ,
201
+ err. value_str ( ) . unwrap( ) ,
205
202
format!( "{:?}" , "hello" . to_variant( ) )
206
203
) ;
207
204
@@ -213,9 +210,10 @@ fn custom_convert_error_from_variant() {
213
210
. to_variant ( )
214
211
. try_to :: < Foo > ( )
215
212
. expect_err ( "should have wrongly typed key `b`" ) ;
213
+
216
214
assert ! ( err. cause( ) . is_none( ) ) ;
217
215
assert_eq ! (
218
- format! ( "{:?}" , err. value ( ) . unwrap( ) ) ,
216
+ err. value_str ( ) . unwrap( ) ,
219
217
format!( "{:?}" , Vector2 :: new( 1.0 , 23.4 ) . to_variant( ) )
220
218
) ;
221
219
@@ -227,9 +225,7 @@ fn custom_convert_error_from_variant() {
227
225
. to_variant ( )
228
226
. try_to :: < Foo > ( )
229
227
. expect_err ( "should have too big value for field `a`" ) ;
228
+
230
229
assert ! ( err. cause( ) . is_none( ) ) ;
231
- assert_eq ! (
232
- format!( "{:?}" , err. value( ) . unwrap( ) ) ,
233
- format!( "{:?}" , i64 :: MAX )
234
- ) ;
230
+ assert_eq ! ( err. value_str( ) . unwrap( ) , format!( "{:?}" , i64 :: MAX ) ) ;
235
231
}
0 commit comments