fix_binding (#905)

This commit is contained in:
oblomov 2024-02-19 15:47:54 +01:00 committed by GitHub
parent 2b2eefdbce
commit 945318bb6d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 35 additions and 6 deletions

View File

@ -175,7 +175,7 @@ CLASS z2ui5_cl_core_bind_srv IMPLEMENTATION.
METHOD get_client_name.
result = replace( val = mr_attri->name sub = `-` with = `/` ).
result = replace( val = mr_attri->name sub = `-` with = `/` occ = 0 ).
result = replace( val = result sub = `>` with = `` ).
result = COND #( WHEN mv_type = z2ui5_if_core_types=>cs_bind_type-two_way
THEN `/` && z2ui5_if_core_types=>cs_ui5-two_way_model )

View File

@ -238,7 +238,7 @@ CLASS ltcl_test_main_structure IMPLEMENTATION.
cl_abap_unit_assert=>assert_equals(
act = lv_result
exp = `{/MS_STRUC/S_02-INPUT}` ).
exp = `{/MS_STRUC/S_02/INPUT}` ).
ENDMETHOD.
@ -255,7 +255,7 @@ CLASS ltcl_test_main_structure IMPLEMENTATION.
cl_abap_unit_assert=>assert_equals(
act = lv_result
exp = `{/MS_STRUC/S_02-S_03-INPUT}` ).
exp = `{/MS_STRUC/S_02/S_03/INPUT}` ).
ENDMETHOD.
@ -272,7 +272,7 @@ CLASS ltcl_test_main_structure IMPLEMENTATION.
cl_abap_unit_assert=>assert_equals(
act = lv_result
exp = `{/MS_STRUC/S_02-S_03-S_04-INPUT}` ).
exp = `{/MS_STRUC/S_02/S_03/S_04/INPUT}` ).
ENDMETHOD.
@ -347,7 +347,7 @@ CLASS ltcl_test_main_object IMPLEMENTATION.
cl_abap_unit_assert=>assert_equals(
act = lv_result
exp = `{/MO_OBJ/MS_STRUC-INPUT}` ).
exp = `{/MO_OBJ/MS_STRUC/INPUT}` ).
ENDMETHOD.

View File

@ -21,16 +21,25 @@ CLASS ltcl_test_dissolve DEFINITION FINAL FOR TESTING
END OF s_02,
END OF s_01.
TYPES:
BEGIN OF ty_s_struc,
r_ref TYPE REF TO data,
s_01 TYPE s_01,
END OF ty_s_struc.
DATA ms_struc TYPE s_01 ##NEEDED.
DATA mv_value TYPE string ##NEEDED.
DATA mr_value TYPE REF TO data.
DATA mr_struc TYPE REF TO s_01.
DATA mo_app TYPE REF TO ltcl_test_dissolve.
DATA ms_struc2 TYPE ty_s_struc.
PRIVATE SECTION.
METHODS test_init FOR TESTING RAISING cx_static_check.
METHODS test_struc FOR TESTING RAISING cx_static_check.
METHODS test_dref FOR TESTING RAISING cx_static_check.
METHODS test_struc_dref FOR TESTING RAISING cx_static_check.
METHODS test_oref FOR TESTING RAISING cx_static_check.
METHODS test_ref FOR TESTING RAISING cx_static_check.
METHODS test_oref_dref_struc FOR TESTING RAISING cx_static_check.
@ -218,4 +227,25 @@ CLASS ltcl_test_dissolve IMPLEMENTATION.
ENDMETHOD.
METHOD test_struc_dref.
DATA(lo_app) = NEW ltcl_test_dissolve( ).
lo_app->mo_app = NEW #( ).
CREATE DATA lo_app->mo_app->ms_struc2-r_ref TYPE string.
DATA lt_attri TYPE z2ui5_if_core_types=>ty_t_attri.
DATA(lo_model) = NEW z2ui5_cl_core_dissolve_srv(
attri = REF #( lt_attri )
app = lo_app ).
lo_model->main( ).
lo_model->main( ).
lo_model->main( ).
lo_model->main( ).
cl_abap_unit_assert=>assert_not_initial( VALUE #( lt_attri[ name = `MO_APP->MS_STRUC2-R_REF` ] OPTIONAL ) ).
cl_abap_unit_assert=>assert_not_initial( VALUE #( lt_attri[ name = `MO_APP->MS_STRUC2-R_REF->*` ] OPTIONAL ) ).
ENDMETHOD.
ENDCLASS.

View File

@ -27,7 +27,6 @@ CLASS z2ui5_cl_http_handler IMPLEMENTATION.
METHOD http_get.
DATA(lo_get) = NEW z2ui5_cl_core_http_get( val ).
result = lo_get->main( ).