mirror of
https://github.com/abap2UI5/abap2UI5.git
synced 2025-04-29 02:58:20 +08:00
refactoring (#888)
* refactoring * Update abaplint.jsonc * update * Update abaplint.jsonc
This commit is contained in:
parent
fd321c91df
commit
c291ca5345
|
@ -22,7 +22,7 @@
|
|||
"strict_sql" : true,
|
||||
"easy_to_find_messages" : true,
|
||||
"fully_type_itabs" : true,
|
||||
"align_parameters": true,
|
||||
"align_parameters": false,
|
||||
"smim_consistency": true,
|
||||
"allowed_object_naming": true,
|
||||
"allowed_object_types": {
|
||||
|
@ -124,7 +124,7 @@
|
|||
"line_break_multiple_parameters": false,
|
||||
"line_break_style": true,
|
||||
"line_length": false,
|
||||
"line_only_punc": true,
|
||||
"line_only_punc": false,
|
||||
"local_class_naming": false,
|
||||
"local_testclass_consistency": true,
|
||||
"local_variable_names": false,
|
||||
|
|
|
@ -1,256 +1,108 @@
|
|||
*
|
||||
*CLASS ltcl_test_dissolve DEFINITION DEFERRED.
|
||||
*CLASS z2ui5_cl_core_model_srv DEFINITION LOCAL FRIENDS ltcl_test_dissolve.
|
||||
*
|
||||
*CLASS ltcl_test_dissolve DEFINITION FINAL FOR TESTING
|
||||
* DURATION SHORT
|
||||
* RISK LEVEL HARMLESS.
|
||||
*
|
||||
* PUBLIC SECTION.
|
||||
*
|
||||
* TYPES:
|
||||
* BEGIN OF s_01,
|
||||
* input TYPE string,
|
||||
* BEGIN OF s_02,
|
||||
* input TYPE string,
|
||||
* BEGIN OF s_03,
|
||||
* input TYPE string,
|
||||
* BEGIN OF s_04,
|
||||
* input TYPE string,
|
||||
* END OF s_04,
|
||||
* END OF s_03,
|
||||
* END OF s_02,
|
||||
* END OF s_01.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* PRIVATE SECTION.
|
||||
* METHODS test_dissolve_init FOR TESTING RAISING cx_static_check.
|
||||
* METHODS test_dissolve_struc FOR TESTING RAISING cx_static_check.
|
||||
* METHODS test_dissolve_dref FOR TESTING RAISING cx_static_check.
|
||||
* METHODS test_dissolve_oref FOR TESTING RAISING cx_static_check.
|
||||
* METHODS test_ref FOR TESTING RAISING cx_static_check.
|
||||
*
|
||||
*ENDCLASS.
|
||||
*
|
||||
*CLASS ltcl_test_dissolve IMPLEMENTATION.
|
||||
*
|
||||
*
|
||||
* METHOD test_ref.
|
||||
*
|
||||
* DATA(lo_app) = NEW ltcl_test_dissolve( ).
|
||||
*
|
||||
* DATA lt_attri TYPE z2ui5_if_core_types=>ty_t_attri.
|
||||
* DATA(lo_model) = NEW z2ui5_cl_core_model_srv(
|
||||
* attri = REF #( lt_attri )
|
||||
* app = lo_app ).
|
||||
*
|
||||
* lo_model->dissolve( ).
|
||||
*
|
||||
* DATA(ls_attri) = lt_attri[ name = `MV_VALUE` ].
|
||||
* GET REFERENCE OF lo_app->mv_value INTO DATA(lr_ref).
|
||||
*
|
||||
* IF ls_attri-r_ref <> lr_ref.
|
||||
* cl_abap_unit_assert=>abort( ).
|
||||
* ENDIF.
|
||||
*
|
||||
* ENDMETHOD.
|
||||
*
|
||||
* METHOD test_dissolve_init.
|
||||
*
|
||||
* DATA(lo_app) = NEW ltcl_test_dissolve( ).
|
||||
*
|
||||
* DATA lt_attri TYPE z2ui5_if_core_types=>ty_t_attri.
|
||||
* DATA(lo_model) = NEW z2ui5_cl_core_model_srv(
|
||||
* attri = REF #( lt_attri )
|
||||
* app = lo_app ).
|
||||
*
|
||||
* lo_model->dissolve( ).
|
||||
* lo_model->dissolve( ).
|
||||
* lo_model->dissolve( ).
|
||||
* lo_model->dissolve( ).
|
||||
*
|
||||
* cl_abap_unit_assert=>assert_not_initial( VALUE #( lt_attri[ name = `MR_STRUC` ] OPTIONAL ) ).
|
||||
* cl_abap_unit_assert=>assert_not_initial( VALUE #( lt_attri[ name = `MR_VALUE` ] OPTIONAL ) ).
|
||||
* cl_abap_unit_assert=>assert_not_initial( VALUE #( lt_attri[ name = `MS_STRUC` ] OPTIONAL ) ).
|
||||
* cl_abap_unit_assert=>assert_not_initial( VALUE #( lt_attri[ name = `MV_VALUE` ] OPTIONAL ) ).
|
||||
*
|
||||
* ENDMETHOD.
|
||||
*
|
||||
* METHOD test_dissolve_dref.
|
||||
*
|
||||
* DATA(lo_app) = NEW ltcl_test_dissolve( ).
|
||||
* CREATE DATA lo_app->mr_struc.
|
||||
* CREATE DATA lo_app->mr_value TYPE string.
|
||||
*
|
||||
* DATA lt_attri TYPE z2ui5_if_core_types=>ty_t_attri.
|
||||
* DATA(lo_model) = NEW z2ui5_cl_core_model_srv(
|
||||
* attri = REF #( lt_attri )
|
||||
* app = lo_app ).
|
||||
*
|
||||
* lo_model->dissolve( ).
|
||||
* lo_model->dissolve( ).
|
||||
* lo_model->dissolve( ).
|
||||
* lo_model->dissolve( ).
|
||||
* lo_model->dissolve( ).
|
||||
*
|
||||
* cl_abap_unit_assert=>assert_not_initial( VALUE #( lt_attri[ name = `MR_VALUE->*` ] OPTIONAL ) ).
|
||||
*
|
||||
* ENDMETHOD.
|
||||
*
|
||||
* METHOD test_dissolve_oref.
|
||||
*
|
||||
* DATA(lo_app) = NEW ltcl_test_dissolve( ).
|
||||
* lo_app->mo_app = NEW #( ).
|
||||
* DATA(lo_app2) = NEW ltcl_test_dissolve( ).
|
||||
* lo_app2->mo_app = lo_app.
|
||||
*
|
||||
* CREATE DATA lo_app->mo_app->mr_struc.
|
||||
* CREATE DATA lo_app->mo_app->mr_value TYPE string.
|
||||
*
|
||||
* DATA lt_attri TYPE z2ui5_if_core_types=>ty_t_attri.
|
||||
* DATA(lo_model) = NEW z2ui5_cl_core_model_srv(
|
||||
* attri = REF #( lt_attri )
|
||||
* app = lo_app2 ).
|
||||
*
|
||||
* lo_model->dissolve( ).
|
||||
* lo_model->dissolve( ).
|
||||
* lo_model->dissolve( ).
|
||||
* lo_model->dissolve( ).
|
||||
*
|
||||
* cl_abap_unit_assert=>assert_not_initial( VALUE #( lt_attri[ name = `MO_APP->MV_VALUE` ] OPTIONAL ) ).
|
||||
* cl_abap_unit_assert=>assert_not_initial( VALUE #( lt_attri[ name = `MO_APP->MR_STRUC` ] OPTIONAL ) ).
|
||||
* cl_abap_unit_assert=>assert_not_initial( VALUE #( lt_attri[ name = `MO_APP->MR_VALUE` ] OPTIONAL ) ).
|
||||
* cl_abap_unit_assert=>assert_not_initial( VALUE #( lt_attri[ name = `MO_APP->MS_STRUC` ] OPTIONAL ) ).
|
||||
*
|
||||
* ENDMETHOD.
|
||||
*
|
||||
* METHOD test_dissolve_struc.
|
||||
*
|
||||
* DATA(lo_app) = NEW ltcl_test_dissolve( ).
|
||||
* DATA lt_attri TYPE z2ui5_if_core_types=>ty_t_attri.
|
||||
* DATA(lo_model) = NEW z2ui5_cl_core_model_srv(
|
||||
* attri = REF #( lt_attri )
|
||||
* app = lo_app ).
|
||||
*
|
||||
* lo_model->dissolve( ).
|
||||
* lo_model->dissolve( ).
|
||||
* lo_model->dissolve( ).
|
||||
* lo_model->dissolve( ).
|
||||
* lo_model->dissolve( ).
|
||||
*
|
||||
* cl_abap_unit_assert=>assert_not_initial( VALUE #( lt_attri[ name = `MS_STRUC-INPUT` ] OPTIONAL ) ).
|
||||
* cl_abap_unit_assert=>assert_not_initial( VALUE #( lt_attri[ name = `MS_STRUC-S_02-INPUT` ] OPTIONAL ) ).
|
||||
* cl_abap_unit_assert=>assert_not_initial( VALUE #( lt_attri[ name = `MS_STRUC-S_02-S_03-S_04-INPUT` ] OPTIONAL ) ).
|
||||
*
|
||||
* ENDMETHOD.
|
||||
*
|
||||
*ENDCLASS.
|
||||
*
|
||||
*
|
||||
*CLASS ltcl_test_app2 DEFINITION FINAL FOR TESTING
|
||||
* DURATION MEDIUM
|
||||
* RISK LEVEL HARMLESS.
|
||||
*
|
||||
* PUBLIC SECTION.
|
||||
*
|
||||
* DATA mv_value TYPE string ##NEEDED.
|
||||
* DATA mr_value TYPE REF TO data.
|
||||
* DATA mr_value2 TYPE REF TO data.
|
||||
* DATA mo_app TYPE REF TO ltcl_test_app2.
|
||||
*
|
||||
* DATA xx TYPE string ##NEEDED.
|
||||
* METHODS constructor.
|
||||
*ENDCLASS.
|
||||
*
|
||||
*CLASS ltcl_test_app2 IMPLEMENTATION.
|
||||
*
|
||||
* METHOD constructor.
|
||||
*
|
||||
* ENDMETHOD.
|
||||
*
|
||||
*ENDCLASS.
|
||||
*
|
||||
*CLASS ltcl_test_search_attri DEFINITION FINAL FOR TESTING
|
||||
* DURATION SHORT
|
||||
* RISK LEVEL HARMLESS.
|
||||
*
|
||||
* PRIVATE SECTION.
|
||||
* METHODS first_test FOR TESTING RAISING cx_static_check.
|
||||
* METHODS second_test FOR TESTING RAISING cx_static_check.
|
||||
* METHODS third_test FOR TESTING RAISING cx_static_check.
|
||||
*
|
||||
*ENDCLASS.
|
||||
*
|
||||
*CLASS z2ui5_cl_core_model_srv DEFINITION LOCAL FRIENDS ltcl_test_search_attri.
|
||||
*
|
||||
*CLASS ltcl_test_search_attri IMPLEMENTATION.
|
||||
*
|
||||
* METHOD first_test.
|
||||
*
|
||||
* DATA(lo_app_client) = NEW ltcl_test_app2( ).
|
||||
* DATA lr_value TYPE REF TO data.
|
||||
* GET REFERENCE OF lo_app_client->mv_value INTO lr_value.
|
||||
*
|
||||
* DATA(lt_attri) = VALUE z2ui5_if_core_types=>ty_t_attri( ( r_ref = lr_value ) ).
|
||||
*
|
||||
* DATA(lo_model) = NEW z2ui5_cl_core_model_srv(
|
||||
* attri = REF #( lt_attri )
|
||||
* app = lo_app_client ).
|
||||
*
|
||||
* DATA(lr_attri) = lo_model->attri_search_a_dissolve( REF #( lo_app_client->mv_value ) ).
|
||||
*
|
||||
* IF lr_attri->r_ref <> lr_value.
|
||||
* cl_abap_unit_assert=>abort( ).
|
||||
* ENDIF.
|
||||
*
|
||||
* ENDMETHOD.
|
||||
*
|
||||
* METHOD second_test.
|
||||
*
|
||||
* DATA(lo_app_client) = NEW ltcl_test_app2( ).
|
||||
* DATA lr_value TYPE REF TO data.
|
||||
* GET REFERENCE OF lo_app_client->mv_value INTO lr_value.
|
||||
*
|
||||
* DATA(lt_attri) = VALUE z2ui5_if_core_types=>ty_t_attri( ( r_ref = REF #( lo_app_client->mv_value ) ) ).
|
||||
*
|
||||
* DATA(lo_model) = NEW z2ui5_cl_core_model_srv(
|
||||
* attri = REF #( lt_attri )
|
||||
* app = lo_app_client ).
|
||||
*
|
||||
* DATA(lr_attri) = lo_model->attri_search_a_dissolve( REF #( lo_app_client->mv_value ) ).
|
||||
*
|
||||
* IF lr_attri->r_ref <> lr_value.
|
||||
* cl_abap_unit_assert=>abort( ).
|
||||
* ENDIF.
|
||||
*
|
||||
* ENDMETHOD.
|
||||
*
|
||||
* METHOD third_test.
|
||||
*
|
||||
* DATA(lo_app_client) = NEW ltcl_test_app2( ).
|
||||
* DATA lr_value TYPE REF TO data.
|
||||
* GET REFERENCE OF lo_app_client->mv_value INTO lr_value.
|
||||
*
|
||||
* lo_app_client->mo_app = NEW #( ).
|
||||
*
|
||||
* DATA(lt_attri) = VALUE z2ui5_if_core_types=>ty_t_attri(
|
||||
* ( name = `1` r_ref = REF #( lo_app_client->mr_value ) )
|
||||
* ( name = `4` r_ref = REF #( lo_app_client->mr_value2 ) )
|
||||
* ( name = `2` r_ref = REF #( lo_app_client->mo_app ) )
|
||||
* ( name = `3` r_ref = REF #( lo_app_client->mv_value ) )
|
||||
* ).
|
||||
*
|
||||
* DATA(lr_attri) = REF #( lt_attri[ r_ref = lr_value ] ).
|
||||
* IF lr_attri->r_ref <> lr_value.
|
||||
* cl_abap_unit_assert=>abort( ).
|
||||
* ENDIF.
|
||||
*
|
||||
* ENDMETHOD.
|
||||
*
|
||||
*
|
||||
*ENDCLASS.
|
||||
|
||||
CLASS ltcl_test_app2 DEFINITION FINAL FOR TESTING
|
||||
DURATION MEDIUM
|
||||
RISK LEVEL HARMLESS.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
DATA mv_value TYPE string ##NEEDED.
|
||||
DATA mr_value TYPE REF TO data.
|
||||
DATA mr_value2 TYPE REF TO data.
|
||||
DATA mo_app TYPE REF TO ltcl_test_app2.
|
||||
|
||||
DATA xx TYPE string ##NEEDED.
|
||||
METHODS constructor.
|
||||
ENDCLASS.
|
||||
|
||||
CLASS ltcl_test_app2 IMPLEMENTATION.
|
||||
|
||||
METHOD constructor.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
CLASS ltcl_test_search_attri DEFINITION FINAL FOR TESTING
|
||||
DURATION SHORT
|
||||
RISK LEVEL HARMLESS.
|
||||
|
||||
PRIVATE SECTION.
|
||||
METHODS first_test FOR TESTING RAISING cx_static_check.
|
||||
METHODS second_test FOR TESTING RAISING cx_static_check.
|
||||
METHODS third_test FOR TESTING RAISING cx_static_check.
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
CLASS z2ui5_cl_core_attri_srv DEFINITION LOCAL FRIENDS ltcl_test_search_attri.
|
||||
|
||||
CLASS ltcl_test_search_attri IMPLEMENTATION.
|
||||
|
||||
METHOD first_test.
|
||||
|
||||
DATA(lo_app_client) = NEW ltcl_test_app2( ).
|
||||
DATA lr_value TYPE REF TO data.
|
||||
GET REFERENCE OF lo_app_client->mv_value INTO lr_value.
|
||||
|
||||
DATA(lt_attri) = VALUE z2ui5_if_core_types=>ty_t_attri( (
|
||||
r_ref = lr_value
|
||||
o_typedescr = cl_abap_datadescr=>describe_by_data_ref( lr_value )
|
||||
) ).
|
||||
|
||||
DATA(lo_model) = NEW z2ui5_cl_core_attri_srv(
|
||||
attri = REF #( lt_attri )
|
||||
app = lo_app_client ).
|
||||
|
||||
DATA(lr_attri) = lo_model->attri_search_a_dissolve( REF #( lo_app_client->mv_value ) ).
|
||||
|
||||
IF lr_attri->r_ref <> lr_value.
|
||||
cl_abap_unit_assert=>abort( ).
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD second_test.
|
||||
|
||||
DATA(lo_app_client) = NEW ltcl_test_app2( ).
|
||||
DATA lr_value TYPE REF TO data.
|
||||
GET REFERENCE OF lo_app_client->mv_value INTO lr_value.
|
||||
|
||||
DATA(lt_attri) = VALUE z2ui5_if_core_types=>ty_t_attri( (
|
||||
r_ref = REF #( lo_app_client->mv_value )
|
||||
o_typedescr = cl_abap_datadescr=>describe_by_data_ref( lr_value )
|
||||
) ).
|
||||
|
||||
DATA(lo_model) = NEW z2ui5_cl_core_attri_srv(
|
||||
attri = REF #( lt_attri )
|
||||
app = lo_app_client ).
|
||||
|
||||
DATA(lr_attri) = lo_model->attri_search_a_dissolve( REF #( lo_app_client->mv_value ) ).
|
||||
|
||||
IF lr_attri->r_ref <> lr_value.
|
||||
cl_abap_unit_assert=>abort( ).
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD third_test.
|
||||
|
||||
DATA(lo_app_client) = NEW ltcl_test_app2( ).
|
||||
DATA lr_value TYPE REF TO data.
|
||||
GET REFERENCE OF lo_app_client->mv_value INTO lr_value.
|
||||
|
||||
lo_app_client->mo_app = NEW #( ).
|
||||
|
||||
DATA(lt_attri) = VALUE z2ui5_if_core_types=>ty_t_attri(
|
||||
( name = `1` r_ref = REF #( lo_app_client->mr_value ) )
|
||||
( name = `4` r_ref = REF #( lo_app_client->mr_value2 ) )
|
||||
( name = `2` r_ref = REF #( lo_app_client->mo_app ) )
|
||||
( name = `3` r_ref = REF #( lo_app_client->mv_value ) ) ).
|
||||
|
||||
DATA(lr_attri) = REF #( lt_attri[ r_ref = lr_value ] ).
|
||||
IF lr_attri->r_ref <> lr_value.
|
||||
cl_abap_unit_assert=>abort( ).
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
ENDCLASS.
|
||||
|
|
|
@ -1,17 +1,16 @@
|
|||
CLASS z2ui5_cl_core_dissolve_srv DEFINITION
|
||||
PUBLIC
|
||||
FINAL
|
||||
CREATE PUBLIC.
|
||||
CREATE PUBLIC .
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
METHODS constructor
|
||||
IMPORTING
|
||||
attri TYPE REF TO z2ui5_if_core_types=>ty_t_attri
|
||||
app TYPE REF TO object.
|
||||
|
||||
METHODS main.
|
||||
!attri TYPE REF TO z2ui5_if_core_types=>ty_t_attri
|
||||
!app TYPE REF TO object.
|
||||
|
||||
METHODS main .
|
||||
PROTECTED SECTION.
|
||||
|
||||
DATA mt_attri TYPE REF TO z2ui5_if_core_types=>ty_t_attri.
|
||||
|
@ -47,7 +46,7 @@ ENDCLASS.
|
|||
|
||||
|
||||
|
||||
CLASS z2ui5_cl_core_dissolve_srv IMPLEMENTATION.
|
||||
CLASS Z2UI5_CL_CORE_DISSOLVE_SRV IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD constructor.
|
||||
|
|
146
src/01/02/01/z2ui5_cl_core_dissolve_srv.clas.testclasses.abap
Normal file
146
src/01/02/01/z2ui5_cl_core_dissolve_srv.clas.testclasses.abap
Normal file
|
@ -0,0 +1,146 @@
|
|||
CLASS ltcl_test_dissolve DEFINITION DEFERRED.
|
||||
CLASS z2ui5_cl_core_dissolve_srv DEFINITION LOCAL FRIENDS ltcl_test_dissolve.
|
||||
|
||||
CLASS ltcl_test_dissolve DEFINITION FINAL FOR TESTING
|
||||
DURATION SHORT
|
||||
RISK LEVEL HARMLESS.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
TYPES:
|
||||
BEGIN OF s_01,
|
||||
input TYPE string,
|
||||
BEGIN OF s_02,
|
||||
input TYPE string,
|
||||
BEGIN OF s_03,
|
||||
input TYPE string,
|
||||
BEGIN OF s_04,
|
||||
input TYPE string,
|
||||
END OF s_04,
|
||||
END OF s_03,
|
||||
END OF s_02,
|
||||
END OF s_01.
|
||||
|
||||
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.
|
||||
|
||||
PRIVATE SECTION.
|
||||
METHODS test_dissolve_init FOR TESTING RAISING cx_static_check.
|
||||
METHODS test_dissolve_struc FOR TESTING RAISING cx_static_check.
|
||||
METHODS test_dissolve_dref FOR TESTING RAISING cx_static_check.
|
||||
METHODS test_dissolve_oref FOR TESTING RAISING cx_static_check.
|
||||
METHODS test_ref FOR TESTING RAISING cx_static_check.
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
CLASS ltcl_test_dissolve IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD test_ref.
|
||||
|
||||
DATA(lo_app) = NEW ltcl_test_dissolve( ).
|
||||
|
||||
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( ).
|
||||
|
||||
DATA(ls_attri) = lt_attri[ name = `MV_VALUE` ].
|
||||
GET REFERENCE OF lo_app->mv_value INTO DATA(lr_ref).
|
||||
|
||||
IF ls_attri-r_ref <> lr_ref.
|
||||
cl_abap_unit_assert=>abort( ).
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD test_dissolve_init.
|
||||
|
||||
DATA(lo_app) = NEW ltcl_test_dissolve( ).
|
||||
|
||||
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( ).
|
||||
|
||||
cl_abap_unit_assert=>assert_not_initial( VALUE #( lt_attri[ name = `MR_STRUC` ] OPTIONAL ) ).
|
||||
cl_abap_unit_assert=>assert_not_initial( VALUE #( lt_attri[ name = `MR_VALUE` ] OPTIONAL ) ).
|
||||
cl_abap_unit_assert=>assert_not_initial( VALUE #( lt_attri[ name = `MS_STRUC` ] OPTIONAL ) ).
|
||||
cl_abap_unit_assert=>assert_not_initial( VALUE #( lt_attri[ name = `MV_VALUE` ] OPTIONAL ) ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD test_dissolve_dref.
|
||||
|
||||
DATA(lo_app) = NEW ltcl_test_dissolve( ).
|
||||
CREATE DATA lo_app->mr_struc.
|
||||
CREATE DATA lo_app->mr_value 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( ).
|
||||
|
||||
cl_abap_unit_assert=>assert_not_initial( VALUE #( lt_attri[ name = `MR_VALUE->*` ] OPTIONAL ) ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD test_dissolve_oref.
|
||||
|
||||
DATA(lo_app) = NEW ltcl_test_dissolve( ).
|
||||
lo_app->mo_app = NEW #( ).
|
||||
DATA(lo_app2) = NEW ltcl_test_dissolve( ).
|
||||
lo_app2->mo_app = lo_app.
|
||||
|
||||
CREATE DATA lo_app->mo_app->mr_struc.
|
||||
CREATE DATA lo_app->mo_app->mr_value 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_app2 ).
|
||||
|
||||
lo_model->main( ).
|
||||
lo_model->main( ).
|
||||
lo_model->main( ).
|
||||
|
||||
cl_abap_unit_assert=>assert_not_initial( VALUE #( lt_attri[ name = `MO_APP->MV_VALUE` ] OPTIONAL ) ).
|
||||
cl_abap_unit_assert=>assert_not_initial( VALUE #( lt_attri[ name = `MO_APP->MR_STRUC` ] OPTIONAL ) ).
|
||||
cl_abap_unit_assert=>assert_not_initial( VALUE #( lt_attri[ name = `MO_APP->MR_VALUE` ] OPTIONAL ) ).
|
||||
cl_abap_unit_assert=>assert_not_initial( VALUE #( lt_attri[ name = `MO_APP->MS_STRUC` ] OPTIONAL ) ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD test_dissolve_struc.
|
||||
|
||||
DATA(lo_app) = NEW ltcl_test_dissolve( ).
|
||||
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( ).
|
||||
lo_model->main( ).
|
||||
|
||||
cl_abap_unit_assert=>assert_not_initial( VALUE #( lt_attri[ name = `MS_STRUC-INPUT` ] OPTIONAL ) ).
|
||||
cl_abap_unit_assert=>assert_not_initial( VALUE #( lt_attri[ name = `MS_STRUC-S_02-INPUT` ] OPTIONAL ) ).
|
||||
cl_abap_unit_assert=>assert_not_initial( VALUE #( lt_attri[ name = `MS_STRUC-S_02-S_03-S_04-INPUT` ] OPTIONAL ) ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
|
@ -10,6 +10,7 @@
|
|||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
<WITH_UNIT_TESTS>X</WITH_UNIT_TESTS>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
|
|
|
@ -59,6 +59,8 @@ CLASS z2ui5_cl_core_draft_srv IMPLEMENTATION.
|
|||
|
||||
METHOD create.
|
||||
|
||||
ASSERT draft-id IS NOT INITIAL.
|
||||
|
||||
DATA(ls_db) = VALUE z2ui5_if_core_types=>ty_s_db(
|
||||
id = draft-id
|
||||
id_prev = draft-id_prev
|
||||
|
|
|
@ -1,21 +1,37 @@
|
|||
CLASS ltcl_test_db DEFINITION FINAL FOR TESTING
|
||||
CLASS ltcl_test DEFINITION FINAL FOR TESTING
|
||||
DURATION LONG
|
||||
RISK LEVEL DANGEROUS.
|
||||
RISK LEVEL HARMLESS.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
INTERFACES z2ui5_if_app.
|
||||
DATA mr_data TYPE REF TO data ##NEEDED.
|
||||
METHODS constructor.
|
||||
METHODS test_create FOR TESTING.
|
||||
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
CLASS ltcl_test_db IMPLEMENTATION.
|
||||
CLASS ltcl_test IMPLEMENTATION.
|
||||
|
||||
METHOD constructor.
|
||||
|
||||
METHOD z2ui5_if_app~main.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD test_create.
|
||||
|
||||
DATA(lo_draft) = NEW z2ui5_cl_core_draft_srv( ).
|
||||
|
||||
lo_draft->create(
|
||||
draft = VALUE #( id = `TEST_ID` )
|
||||
model_xml = `my xml`
|
||||
).
|
||||
|
||||
DATA(ls_db) = lo_draft->read_draft( `TEST_ID` ).
|
||||
|
||||
cl_abap_unit_assert=>assert_equals(
|
||||
act = ls_db-data
|
||||
exp = `my xml` ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
|
|
@ -18,3 +18,52 @@ CLASS ltcl_test IMPLEMENTATION.
|
|||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
CLASS ltcl_test_db DEFINITION FINAL FOR TESTING
|
||||
DURATION LONG
|
||||
RISK LEVEL HARMLESS.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
DATA mv_value TYPE string.
|
||||
INTERFACES z2ui5_if_app.
|
||||
METHODS constructor.
|
||||
|
||||
METHODS test_db_save FOR TESTING.
|
||||
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
CLASS ltcl_test_db IMPLEMENTATION.
|
||||
|
||||
METHOD constructor.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD test_db_save.
|
||||
|
||||
DATA(lo_app_user) = NEW ltcl_test_db( ).
|
||||
lo_app_user->mv_value = `my value`.
|
||||
|
||||
DATA(lo_app) = NEW z2ui5_cl_core_app( ).
|
||||
lo_app->ms_draft-id = `TEST_ID`.
|
||||
lo_app->mo_app = lo_app_user.
|
||||
|
||||
lo_app->db_save( ).
|
||||
|
||||
DATA(lo_app_db) = z2ui5_cl_core_app=>db_load( `TEST_ID` ).
|
||||
DATA(lo_app_user_db) = CAST ltcl_test_db( lo_app_db->mo_app ).
|
||||
|
||||
cl_abap_unit_assert=>assert_equals(
|
||||
act = lo_app_user_db->mv_value
|
||||
exp = lo_app_user->mv_value ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD z2ui5_if_app~main.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
||||
|
|
|
@ -22,7 +22,6 @@ CLASS z2ui5_cl_core_app_info DEFINITION
|
|||
RETURNING
|
||||
VALUE(result) TYPE REF TO z2ui5_cl_core_app_info.
|
||||
|
||||
METHODS z2ui5_on_init.
|
||||
METHODS z2ui5_on_event.
|
||||
METHODS view_display_start.
|
||||
PROTECTED SECTION.
|
||||
|
@ -121,7 +120,6 @@ CLASS z2ui5_cl_core_app_info IMPLEMENTATION.
|
|||
|
||||
IF mv_check_initialized = abap_false.
|
||||
mv_check_initialized = abap_true.
|
||||
z2ui5_on_init( ).
|
||||
view_display_start( ).
|
||||
RETURN.
|
||||
ENDIF.
|
||||
|
@ -132,7 +130,6 @@ CLASS z2ui5_cl_core_app_info IMPLEMENTATION.
|
|||
ENDIF.
|
||||
|
||||
z2ui5_on_event( ).
|
||||
* view_display_start( ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
@ -150,9 +147,4 @@ CLASS z2ui5_cl_core_app_info IMPLEMENTATION.
|
|||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD z2ui5_on_init.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
||||
|
|
|
@ -49,7 +49,6 @@ CLASS z2ui5_cl_core_app_startup IMPLEMENTATION.
|
|||
DATA li_app_test TYPE REF TO z2ui5_if_app.
|
||||
|
||||
TRY.
|
||||
|
||||
ms_home-classname = z2ui5_cl_util=>c_trim_upper( ms_home-classname ).
|
||||
CREATE OBJECT li_app_test TYPE (ms_home-classname).
|
||||
|
||||
|
@ -79,19 +78,12 @@ CLASS z2ui5_cl_core_app_startup IMPLEMENTATION.
|
|||
DATA(page2) = z2ui5_cl_xml_view=>factory( )->shell( )->page(
|
||||
shownavbutton = abap_false ).
|
||||
|
||||
|
||||
* DATA(lv_url_info) = z2ui5_cl_util=>app_get_url(
|
||||
* client = client
|
||||
* classname = 'z2ui5_cl_core_app_info' ).
|
||||
|
||||
page2->header_content(
|
||||
)->text(
|
||||
)->title( `abap2UI5 - Developing UI5 Apps Purely in ABAP`
|
||||
)->toolbar_spacer(
|
||||
)->button( text = `System` icon = `sap-icon://information`
|
||||
press = client->_event( `OPEN_INFO` ) ).
|
||||
* press = client->_event_client( val = client->cs_event-open_new_tab
|
||||
* t_arg = VALUE #( ( lv_url_info ) ) ) ).
|
||||
|
||||
DATA(simple_form2) = page2->simple_form(
|
||||
editable = abap_true
|
||||
|
|
|
@ -51,17 +51,14 @@ ENDCLASS.
|
|||
CLASS z2ui5_cl_popup_to_select IMPLEMENTATION.
|
||||
|
||||
METHOD factory.
|
||||
FIELD-SYMBOLS <tab> TYPE any.
|
||||
|
||||
r_result = NEW #( ).
|
||||
r_result->title = i_title.
|
||||
r_result->sort_field = i_sort_field.
|
||||
r_result->descending = i_descending.
|
||||
CREATE DATA r_result->mr_tab LIKE i_tab.
|
||||
CREATE DATA r_result->ms_result-row LIKE LINE OF i_tab.
|
||||
|
||||
ASSIGN r_result->mr_tab->* TO <tab>.
|
||||
<tab> = i_tab.
|
||||
r_result->mr_tab = z2ui5_cl_util=>conv_copy_ref_data( i_tab ).
|
||||
CREATE DATA r_result->ms_result-row LIKE LINE OF i_tab.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
@ -181,9 +178,6 @@ CLASS z2ui5_cl_popup_to_select IMPLEMENTATION.
|
|||
CREATE DATA mr_tab_popup TYPE HANDLE lo_tab_type.
|
||||
CREATE DATA mr_tab_popup_backup TYPE HANDLE lo_tab_type.
|
||||
|
||||
|
||||
|
||||
|
||||
ASSIGN mr_tab_popup->* TO <tab_out>.
|
||||
ASSIGN mr_tab_popup_backup->* TO <tab_out2>.
|
||||
LOOP AT <tab> ASSIGNING <row>.
|
||||
|
@ -223,9 +217,7 @@ CLASS z2ui5_cl_popup_to_select IMPLEMENTATION.
|
|||
CONTINUE.
|
||||
ENDIF.
|
||||
|
||||
|
||||
ASSIGN ms_result-row->* TO <row_result>.
|
||||
|
||||
IF check_table_line = abap_true.
|
||||
|
||||
ASSIGN ('<ROW_SELECTED>-TAB_LINE') TO <table_line_selected>.
|
||||
|
@ -259,10 +251,7 @@ CLASS z2ui5_cl_popup_to_select IMPLEMENTATION.
|
|||
|
||||
<tab_out> = <tab_out_backup>.
|
||||
|
||||
DATA(lo_type) = cl_abap_structdescr=>describe_by_data( <tab_out> ).
|
||||
DATA(lo_table) = CAST cl_abap_tabledescr( lo_type ).
|
||||
DATA(lo_struct) = CAST cl_abap_structdescr( lo_table->get_table_line_type( ) ).
|
||||
DATA(lt_comp) = lo_struct->get_components( ).
|
||||
DATA(lt_comp) = z2ui5_cl_util=>rtti_get_t_attri_by_struc( <tab_out> ).
|
||||
LOOP AT <tab_out> ASSIGNING <row2>.
|
||||
DATA(lv_check_continue) = abap_false.
|
||||
LOOP AT lt_comp INTO DATA(ls_comp).
|
||||
|
|
Loading…
Reference in New Issue
Block a user