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,
|
"strict_sql" : true,
|
||||||
"easy_to_find_messages" : true,
|
"easy_to_find_messages" : true,
|
||||||
"fully_type_itabs" : true,
|
"fully_type_itabs" : true,
|
||||||
"align_parameters": true,
|
"align_parameters": false,
|
||||||
"smim_consistency": true,
|
"smim_consistency": true,
|
||||||
"allowed_object_naming": true,
|
"allowed_object_naming": true,
|
||||||
"allowed_object_types": {
|
"allowed_object_types": {
|
||||||
|
@ -124,7 +124,7 @@
|
||||||
"line_break_multiple_parameters": false,
|
"line_break_multiple_parameters": false,
|
||||||
"line_break_style": true,
|
"line_break_style": true,
|
||||||
"line_length": false,
|
"line_length": false,
|
||||||
"line_only_punc": true,
|
"line_only_punc": false,
|
||||||
"local_class_naming": false,
|
"local_class_naming": false,
|
||||||
"local_testclass_consistency": true,
|
"local_testclass_consistency": true,
|
||||||
"local_variable_names": false,
|
"local_variable_names": false,
|
||||||
|
|
|
@ -1,256 +1,108 @@
|
||||||
*
|
|
||||||
*CLASS ltcl_test_dissolve DEFINITION DEFERRED.
|
CLASS ltcl_test_app2 DEFINITION FINAL FOR TESTING
|
||||||
*CLASS z2ui5_cl_core_model_srv DEFINITION LOCAL FRIENDS ltcl_test_dissolve.
|
DURATION MEDIUM
|
||||||
*
|
RISK LEVEL HARMLESS.
|
||||||
*CLASS ltcl_test_dissolve DEFINITION FINAL FOR TESTING
|
|
||||||
* DURATION SHORT
|
PUBLIC SECTION.
|
||||||
* RISK LEVEL HARMLESS.
|
|
||||||
*
|
DATA mv_value TYPE string ##NEEDED.
|
||||||
* PUBLIC SECTION.
|
DATA mr_value TYPE REF TO data.
|
||||||
*
|
DATA mr_value2 TYPE REF TO data.
|
||||||
* TYPES:
|
DATA mo_app TYPE REF TO ltcl_test_app2.
|
||||||
* BEGIN OF s_01,
|
|
||||||
* input TYPE string,
|
DATA xx TYPE string ##NEEDED.
|
||||||
* BEGIN OF s_02,
|
METHODS constructor.
|
||||||
* input TYPE string,
|
ENDCLASS.
|
||||||
* BEGIN OF s_03,
|
|
||||||
* input TYPE string,
|
CLASS ltcl_test_app2 IMPLEMENTATION.
|
||||||
* BEGIN OF s_04,
|
|
||||||
* input TYPE string,
|
METHOD constructor.
|
||||||
* END OF s_04,
|
|
||||||
* END OF s_03,
|
ENDMETHOD.
|
||||||
* END OF s_02,
|
|
||||||
* END OF s_01.
|
ENDCLASS.
|
||||||
*
|
|
||||||
* DATA ms_struc TYPE s_01 ##NEEDED.
|
CLASS ltcl_test_search_attri DEFINITION FINAL FOR TESTING
|
||||||
* DATA mv_value TYPE string ##NEEDED.
|
DURATION SHORT
|
||||||
* DATA mr_value TYPE REF TO data.
|
RISK LEVEL HARMLESS.
|
||||||
* DATA mr_struc TYPE REF TO s_01.
|
|
||||||
* DATA mo_app TYPE REF TO ltcl_test_dissolve.
|
PRIVATE SECTION.
|
||||||
*
|
METHODS first_test FOR TESTING RAISING cx_static_check.
|
||||||
* PRIVATE SECTION.
|
METHODS second_test FOR TESTING RAISING cx_static_check.
|
||||||
* METHODS test_dissolve_init FOR TESTING RAISING cx_static_check.
|
METHODS third_test 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.
|
ENDCLASS.
|
||||||
* METHODS test_dissolve_oref FOR TESTING RAISING cx_static_check.
|
|
||||||
* METHODS test_ref FOR TESTING RAISING cx_static_check.
|
CLASS z2ui5_cl_core_attri_srv DEFINITION LOCAL FRIENDS ltcl_test_search_attri.
|
||||||
*
|
|
||||||
*ENDCLASS.
|
CLASS ltcl_test_search_attri IMPLEMENTATION.
|
||||||
*
|
|
||||||
*CLASS ltcl_test_dissolve IMPLEMENTATION.
|
METHOD first_test.
|
||||||
*
|
|
||||||
*
|
DATA(lo_app_client) = NEW ltcl_test_app2( ).
|
||||||
* METHOD test_ref.
|
DATA lr_value TYPE REF TO data.
|
||||||
*
|
GET REFERENCE OF lo_app_client->mv_value INTO lr_value.
|
||||||
* DATA(lo_app) = NEW ltcl_test_dissolve( ).
|
|
||||||
*
|
DATA(lt_attri) = VALUE z2ui5_if_core_types=>ty_t_attri( (
|
||||||
* DATA lt_attri TYPE z2ui5_if_core_types=>ty_t_attri.
|
r_ref = lr_value
|
||||||
* DATA(lo_model) = NEW z2ui5_cl_core_model_srv(
|
o_typedescr = cl_abap_datadescr=>describe_by_data_ref( lr_value )
|
||||||
* attri = REF #( lt_attri )
|
) ).
|
||||||
* app = lo_app ).
|
|
||||||
*
|
DATA(lo_model) = NEW z2ui5_cl_core_attri_srv(
|
||||||
* lo_model->dissolve( ).
|
attri = REF #( lt_attri )
|
||||||
*
|
app = lo_app_client ).
|
||||||
* DATA(ls_attri) = lt_attri[ name = `MV_VALUE` ].
|
|
||||||
* GET REFERENCE OF lo_app->mv_value INTO DATA(lr_ref).
|
DATA(lr_attri) = lo_model->attri_search_a_dissolve( REF #( lo_app_client->mv_value ) ).
|
||||||
*
|
|
||||||
* IF ls_attri-r_ref <> lr_ref.
|
IF lr_attri->r_ref <> lr_value.
|
||||||
* cl_abap_unit_assert=>abort( ).
|
cl_abap_unit_assert=>abort( ).
|
||||||
* ENDIF.
|
ENDIF.
|
||||||
*
|
|
||||||
* ENDMETHOD.
|
ENDMETHOD.
|
||||||
*
|
|
||||||
* METHOD test_dissolve_init.
|
METHOD second_test.
|
||||||
*
|
|
||||||
* DATA(lo_app) = NEW ltcl_test_dissolve( ).
|
DATA(lo_app_client) = NEW ltcl_test_app2( ).
|
||||||
*
|
DATA lr_value TYPE REF TO data.
|
||||||
* DATA lt_attri TYPE z2ui5_if_core_types=>ty_t_attri.
|
GET REFERENCE OF lo_app_client->mv_value INTO lr_value.
|
||||||
* DATA(lo_model) = NEW z2ui5_cl_core_model_srv(
|
|
||||||
* attri = REF #( lt_attri )
|
DATA(lt_attri) = VALUE z2ui5_if_core_types=>ty_t_attri( (
|
||||||
* app = lo_app ).
|
r_ref = REF #( lo_app_client->mv_value )
|
||||||
*
|
o_typedescr = cl_abap_datadescr=>describe_by_data_ref( lr_value )
|
||||||
* lo_model->dissolve( ).
|
) ).
|
||||||
* lo_model->dissolve( ).
|
|
||||||
* lo_model->dissolve( ).
|
DATA(lo_model) = NEW z2ui5_cl_core_attri_srv(
|
||||||
* lo_model->dissolve( ).
|
attri = REF #( lt_attri )
|
||||||
*
|
app = lo_app_client ).
|
||||||
* 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 ) ).
|
DATA(lr_attri) = lo_model->attri_search_a_dissolve( REF #( lo_app_client->mv_value ) ).
|
||||||
* 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 ) ).
|
IF lr_attri->r_ref <> lr_value.
|
||||||
*
|
cl_abap_unit_assert=>abort( ).
|
||||||
* ENDMETHOD.
|
ENDIF.
|
||||||
*
|
|
||||||
* METHOD test_dissolve_dref.
|
ENDMETHOD.
|
||||||
*
|
|
||||||
* DATA(lo_app) = NEW ltcl_test_dissolve( ).
|
METHOD third_test.
|
||||||
* CREATE DATA lo_app->mr_struc.
|
|
||||||
* CREATE DATA lo_app->mr_value TYPE string.
|
DATA(lo_app_client) = NEW ltcl_test_app2( ).
|
||||||
*
|
DATA lr_value TYPE REF TO data.
|
||||||
* DATA lt_attri TYPE z2ui5_if_core_types=>ty_t_attri.
|
GET REFERENCE OF lo_app_client->mv_value INTO lr_value.
|
||||||
* DATA(lo_model) = NEW z2ui5_cl_core_model_srv(
|
|
||||||
* attri = REF #( lt_attri )
|
lo_app_client->mo_app = NEW #( ).
|
||||||
* app = lo_app ).
|
|
||||||
*
|
DATA(lt_attri) = VALUE z2ui5_if_core_types=>ty_t_attri(
|
||||||
* lo_model->dissolve( ).
|
( name = `1` r_ref = REF #( lo_app_client->mr_value ) )
|
||||||
* lo_model->dissolve( ).
|
( name = `4` r_ref = REF #( lo_app_client->mr_value2 ) )
|
||||||
* lo_model->dissolve( ).
|
( name = `2` r_ref = REF #( lo_app_client->mo_app ) )
|
||||||
* lo_model->dissolve( ).
|
( name = `3` r_ref = REF #( lo_app_client->mv_value ) ) ).
|
||||||
* lo_model->dissolve( ).
|
|
||||||
*
|
DATA(lr_attri) = REF #( lt_attri[ r_ref = lr_value ] ).
|
||||||
* cl_abap_unit_assert=>assert_not_initial( VALUE #( lt_attri[ name = `MR_VALUE->*` ] OPTIONAL ) ).
|
IF lr_attri->r_ref <> lr_value.
|
||||||
*
|
cl_abap_unit_assert=>abort( ).
|
||||||
* ENDMETHOD.
|
ENDIF.
|
||||||
*
|
|
||||||
* METHOD test_dissolve_oref.
|
ENDMETHOD.
|
||||||
*
|
|
||||||
* DATA(lo_app) = NEW ltcl_test_dissolve( ).
|
|
||||||
* lo_app->mo_app = NEW #( ).
|
ENDCLASS.
|
||||||
* 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.
|
|
||||||
|
|
|
@ -1,17 +1,16 @@
|
||||||
CLASS z2ui5_cl_core_dissolve_srv DEFINITION
|
CLASS z2ui5_cl_core_dissolve_srv DEFINITION
|
||||||
PUBLIC
|
PUBLIC
|
||||||
FINAL
|
FINAL
|
||||||
CREATE PUBLIC.
|
CREATE PUBLIC .
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
METHODS constructor
|
METHODS constructor
|
||||||
IMPORTING
|
IMPORTING
|
||||||
attri TYPE REF TO z2ui5_if_core_types=>ty_t_attri
|
!attri TYPE REF TO z2ui5_if_core_types=>ty_t_attri
|
||||||
app TYPE REF TO object.
|
!app TYPE REF TO object.
|
||||||
|
|
||||||
METHODS main.
|
|
||||||
|
|
||||||
|
METHODS main .
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
|
|
||||||
DATA mt_attri TYPE REF TO z2ui5_if_core_types=>ty_t_attri.
|
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.
|
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>
|
<CLSCCINCL>X</CLSCCINCL>
|
||||||
<FIXPT>X</FIXPT>
|
<FIXPT>X</FIXPT>
|
||||||
<UNICODE>X</UNICODE>
|
<UNICODE>X</UNICODE>
|
||||||
|
<WITH_UNIT_TESTS>X</WITH_UNIT_TESTS>
|
||||||
</VSEOCLASS>
|
</VSEOCLASS>
|
||||||
</asx:values>
|
</asx:values>
|
||||||
</asx:abap>
|
</asx:abap>
|
||||||
|
|
|
@ -59,6 +59,8 @@ CLASS z2ui5_cl_core_draft_srv IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD create.
|
METHOD create.
|
||||||
|
|
||||||
|
ASSERT draft-id IS NOT INITIAL.
|
||||||
|
|
||||||
DATA(ls_db) = VALUE z2ui5_if_core_types=>ty_s_db(
|
DATA(ls_db) = VALUE z2ui5_if_core_types=>ty_s_db(
|
||||||
id = draft-id
|
id = draft-id
|
||||||
id_prev = draft-id_prev
|
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
|
DURATION LONG
|
||||||
RISK LEVEL DANGEROUS.
|
RISK LEVEL HARMLESS.
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
INTERFACES z2ui5_if_app.
|
METHODS constructor.
|
||||||
DATA mr_data TYPE REF TO data ##NEEDED.
|
METHODS test_create FOR TESTING.
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
ENDCLASS.
|
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.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
|
@ -18,3 +18,52 @@ CLASS ltcl_test IMPLEMENTATION.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
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
|
RETURNING
|
||||||
VALUE(result) TYPE REF TO z2ui5_cl_core_app_info.
|
VALUE(result) TYPE REF TO z2ui5_cl_core_app_info.
|
||||||
|
|
||||||
METHODS z2ui5_on_init.
|
|
||||||
METHODS z2ui5_on_event.
|
METHODS z2ui5_on_event.
|
||||||
METHODS view_display_start.
|
METHODS view_display_start.
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
|
@ -121,7 +120,6 @@ CLASS z2ui5_cl_core_app_info IMPLEMENTATION.
|
||||||
|
|
||||||
IF mv_check_initialized = abap_false.
|
IF mv_check_initialized = abap_false.
|
||||||
mv_check_initialized = abap_true.
|
mv_check_initialized = abap_true.
|
||||||
z2ui5_on_init( ).
|
|
||||||
view_display_start( ).
|
view_display_start( ).
|
||||||
RETURN.
|
RETURN.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
@ -132,7 +130,6 @@ CLASS z2ui5_cl_core_app_info IMPLEMENTATION.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
z2ui5_on_event( ).
|
z2ui5_on_event( ).
|
||||||
* view_display_start( ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
@ -150,9 +147,4 @@ CLASS z2ui5_cl_core_app_info IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD z2ui5_on_init.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -49,7 +49,6 @@ CLASS z2ui5_cl_core_app_startup IMPLEMENTATION.
|
||||||
DATA li_app_test TYPE REF TO z2ui5_if_app.
|
DATA li_app_test TYPE REF TO z2ui5_if_app.
|
||||||
|
|
||||||
TRY.
|
TRY.
|
||||||
|
|
||||||
ms_home-classname = z2ui5_cl_util=>c_trim_upper( ms_home-classname ).
|
ms_home-classname = z2ui5_cl_util=>c_trim_upper( ms_home-classname ).
|
||||||
CREATE OBJECT li_app_test TYPE (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(
|
DATA(page2) = z2ui5_cl_xml_view=>factory( )->shell( )->page(
|
||||||
shownavbutton = abap_false ).
|
shownavbutton = abap_false ).
|
||||||
|
|
||||||
|
|
||||||
* DATA(lv_url_info) = z2ui5_cl_util=>app_get_url(
|
|
||||||
* client = client
|
|
||||||
* classname = 'z2ui5_cl_core_app_info' ).
|
|
||||||
|
|
||||||
page2->header_content(
|
page2->header_content(
|
||||||
)->text(
|
)->text(
|
||||||
)->title( `abap2UI5 - Developing UI5 Apps Purely in ABAP`
|
)->title( `abap2UI5 - Developing UI5 Apps Purely in ABAP`
|
||||||
)->toolbar_spacer(
|
)->toolbar_spacer(
|
||||||
)->button( text = `System` icon = `sap-icon://information`
|
)->button( text = `System` icon = `sap-icon://information`
|
||||||
press = client->_event( `OPEN_INFO` ) ).
|
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(
|
DATA(simple_form2) = page2->simple_form(
|
||||||
editable = abap_true
|
editable = abap_true
|
||||||
|
|
|
@ -51,17 +51,14 @@ ENDCLASS.
|
||||||
CLASS z2ui5_cl_popup_to_select IMPLEMENTATION.
|
CLASS z2ui5_cl_popup_to_select IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD factory.
|
METHOD factory.
|
||||||
FIELD-SYMBOLS <tab> TYPE any.
|
|
||||||
|
|
||||||
r_result = NEW #( ).
|
r_result = NEW #( ).
|
||||||
r_result->title = i_title.
|
r_result->title = i_title.
|
||||||
r_result->sort_field = i_sort_field.
|
r_result->sort_field = i_sort_field.
|
||||||
r_result->descending = i_descending.
|
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>.
|
r_result->mr_tab = z2ui5_cl_util=>conv_copy_ref_data( i_tab ).
|
||||||
<tab> = i_tab.
|
CREATE DATA r_result->ms_result-row LIKE LINE OF i_tab.
|
||||||
|
|
||||||
ENDMETHOD.
|
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 TYPE HANDLE lo_tab_type.
|
||||||
CREATE DATA mr_tab_popup_backup 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->* TO <tab_out>.
|
||||||
ASSIGN mr_tab_popup_backup->* TO <tab_out2>.
|
ASSIGN mr_tab_popup_backup->* TO <tab_out2>.
|
||||||
LOOP AT <tab> ASSIGNING <row>.
|
LOOP AT <tab> ASSIGNING <row>.
|
||||||
|
@ -223,9 +217,7 @@ CLASS z2ui5_cl_popup_to_select IMPLEMENTATION.
|
||||||
CONTINUE.
|
CONTINUE.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
|
|
||||||
ASSIGN ms_result-row->* TO <row_result>.
|
ASSIGN ms_result-row->* TO <row_result>.
|
||||||
|
|
||||||
IF check_table_line = abap_true.
|
IF check_table_line = abap_true.
|
||||||
|
|
||||||
ASSIGN ('<ROW_SELECTED>-TAB_LINE') TO <table_line_selected>.
|
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>.
|
<tab_out> = <tab_out_backup>.
|
||||||
|
|
||||||
DATA(lo_type) = cl_abap_structdescr=>describe_by_data( <tab_out> ).
|
DATA(lt_comp) = z2ui5_cl_util=>rtti_get_t_attri_by_struc( <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( ).
|
|
||||||
LOOP AT <tab_out> ASSIGNING <row2>.
|
LOOP AT <tab_out> ASSIGNING <row2>.
|
||||||
DATA(lv_check_continue) = abap_false.
|
DATA(lv_check_continue) = abap_false.
|
||||||
LOOP AT lt_comp INTO DATA(ls_comp).
|
LOOP AT lt_comp INTO DATA(ls_comp).
|
||||||
|
|
Loading…
Reference in New Issue
Block a user