@@ -927,6 +927,24 @@ cpp_class!(
927
927
) ;
928
928
929
929
impl QJSValue {
930
+ pub fn is_bool ( & self ) -> bool {
931
+ cpp ! ( unsafe [ self as "const QJSValue *" ] -> bool as "bool" {
932
+ return self ->isBool( ) ;
933
+ } )
934
+ }
935
+
936
+ pub fn is_number ( & self ) -> bool {
937
+ cpp ! ( unsafe [ self as "const QJSValue *" ] -> bool as "bool" {
938
+ return self ->isNumber( ) ;
939
+ } )
940
+ }
941
+
942
+ pub fn is_string ( & self ) -> bool {
943
+ cpp ! ( unsafe [ self as "const QJSValue *" ] -> bool as "bool" {
944
+ return self ->isString( ) ;
945
+ } )
946
+ }
947
+
930
948
pub fn to_string ( & self ) -> QString {
931
949
cpp ! ( unsafe [ self as "const QJSValue *" ] -> QString as "QString" {
932
950
return self ->toString( ) ;
@@ -1026,6 +1044,33 @@ mod qjsvalue_tests {
1026
1044
assert_eq ! ( foo. to_variant( ) . to_qbytearray( ) , "45" . into( ) ) ;
1027
1045
}
1028
1046
1047
+ #[ test]
1048
+ fn test_is_bool ( ) {
1049
+ let bool_value = QJSValue :: from ( true ) ;
1050
+ let num_value = QJSValue :: from ( 42 ) ;
1051
+
1052
+ assert ! ( bool_value. is_bool( ) ) ;
1053
+ assert ! ( !num_value. is_bool( ) ) ;
1054
+ }
1055
+
1056
+ #[ test]
1057
+ fn test_is_number ( ) {
1058
+ let string_value = QJSValue :: from ( QString :: from ( "Konqui" ) ) ;
1059
+ let num_value = QJSValue :: from ( 42 ) ;
1060
+
1061
+ assert ! ( num_value. is_number( ) ) ;
1062
+ assert ! ( !string_value. is_number( ) ) ;
1063
+ }
1064
+
1065
+ #[ test]
1066
+ fn test_is_string ( ) {
1067
+ let string_value = QJSValue :: from ( QString :: from ( "Konqui" ) ) ;
1068
+ let num_value = QJSValue :: from ( 42 ) ;
1069
+
1070
+ assert ! ( string_value. is_string( ) ) ;
1071
+ assert ! ( !num_value. is_string( ) ) ;
1072
+ }
1073
+
1029
1074
#[ test]
1030
1075
fn test_qvariantlist_from_iter ( ) {
1031
1076
let v = vec ! [ 1u32 , 2u32 , 3u32 ] ;
0 commit comments