fix SUPPORTED_LIST (#1293)

* fix SUPPORTED_LIST

* and fail unit test if nothing is supported

* moved test objects to abapGit organization
This commit is contained in:
Lars Hvam 2018-04-03 16:22:03 +02:00 committed by GitHub
parent 13a559779f
commit 3b09bdba29
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 35 additions and 66 deletions

View File

@ -72,32 +72,24 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_DEBUGINFO IMPLEMENTATION.
METHOD render_supported_object_types.
DATA: lt_objects TYPE STANDARD TABLE OF ko100,
lv_list TYPE string,
ls_item TYPE zif_abapgit_definitions=>ty_item.
DATA: lv_list TYPE string,
lt_types TYPE zcl_abapgit_objects=>ty_types_tt,
lv_type LIKE LINE OF lt_types.
FIELD-SYMBOLS <ls_object> LIKE LINE OF lt_objects.
CALL FUNCTION 'TR_OBJECT_TABLE'
TABLES
wt_object_text = lt_objects
EXCEPTIONS
OTHERS = 1 ##FM_SUBRC_OK.
lt_types = zcl_abapgit_objects=>supported_list( ).
LOOP AT lt_objects ASSIGNING <ls_object> WHERE pgmid = 'R3TR'.
ls_item-obj_type = <ls_object>-object.
IF zcl_abapgit_objects=>is_supported( is_item = ls_item iv_native_only = abap_true ) = abap_true.
LOOP AT lt_types INTO lv_type.
IF lv_list IS INITIAL.
lv_list = ls_item-obj_type.
lv_list = lv_type.
ELSE.
lv_list = lv_list && `, ` && ls_item-obj_type.
ENDIF.
lv_list = lv_list && `, ` && lv_type.
ENDIF.
ENDLOOP.
rv_html = |<p>Supported objects: { lv_list }</p>|.
ENDMETHOD. " render_supported_object_types
ENDMETHOD.
METHOD scripts.

View File

@ -730,29 +730,32 @@ CLASS ZCL_ABAPGIT_OBJECTS IMPLEMENTATION.
METHOD supported_list.
DATA: lv_type LIKE LINE OF rt_types,
lt_snode TYPE TABLE OF snode.
DATA: lt_objects TYPE STANDARD TABLE OF ko100,
lv_supported TYPE abap_bool,
ls_item TYPE zif_abapgit_definitions=>ty_item.
FIELD-SYMBOLS: <ls_snode> LIKE LINE OF lt_snode.
FIELD-SYMBOLS <ls_object> LIKE LINE OF lt_objects.
CALL FUNCTION 'WB_TREE_ACTUALIZE'
EXPORTING
tree_name = 'PG_ZABAPGIT'
without_crossreference = abap_true
with_tcode_index = abap_true
CALL FUNCTION 'TR_OBJECT_TABLE'
TABLES
p_tree = lt_snode.
wt_object_text = lt_objects
EXCEPTIONS
OTHERS = 1 ##FM_SUBRC_OK.
DELETE lt_snode WHERE type <> 'OPL'
OR name NP 'LCL_OBJECT_++++'.
LOOP AT lt_objects ASSIGNING <ls_object> WHERE pgmid = 'R3TR'.
ls_item-obj_type = <ls_object>-object.
LOOP AT lt_snode ASSIGNING <ls_snode>.
lv_type = <ls_snode>-name+11.
APPEND lv_type TO rt_types.
lv_supported = zcl_abapgit_objects=>is_supported(
is_item = ls_item
iv_native_only = abap_true ).
IF lv_supported = abap_true.
APPEND <ls_object>-object TO rt_types.
ENDIF.
ENDLOOP.
ENDMETHOD. "supported_list
ENDMETHOD.
METHOD update_package_tree.

View File

@ -58,7 +58,7 @@ CLASS ltcl_dangerous IMPLEMENTATION.
lt_types = zcl_abapgit_objects=>supported_list( ).
lo_repo = zcl_abapgit_repo_srv=>get_instance( )->new_online(
iv_url = 'https://github.com/larshp/abapGit-Unit-Test.git'
iv_url = 'https://github.com/abapGit/Test-Objects.git'
iv_branch_name = 'refs/heads/master'
iv_package = c_package ).
lo_repo->status( ).
@ -111,7 +111,6 @@ CLASS ltcl_object_types DEFINITION FOR TESTING RISK LEVEL HARMLESS DURATION SHOR
PRIVATE SECTION.
METHODS:
is_supported FOR TESTING,
not_exist FOR TESTING RAISING zcx_abapgit_exception.
ENDCLASS. "ltcl_object_types DEFINITION
@ -123,32 +122,6 @@ ENDCLASS. "ltcl_object_types DEFINITION
*----------------------------------------------------------------------*
CLASS ltcl_object_types IMPLEMENTATION.
METHOD is_supported.
DATA: ls_item TYPE zif_abapgit_definitions=>ty_item,
lv_supported TYPE abap_bool,
lt_types TYPE zcl_abapgit_objects=>ty_types_tt.
FIELD-SYMBOLS: <lv_type> LIKE LINE OF lt_types.
lt_types = zcl_abapgit_objects=>supported_list( ).
LOOP AT lt_types ASSIGNING <lv_type>.
CLEAR ls_item.
ls_item-obj_type = <lv_type>.
lv_supported = zcl_abapgit_objects=>is_supported( ls_item ).
cl_abap_unit_assert=>assert_equals(
act = lv_supported
exp = abap_true
msg = ls_item-obj_type
quit = if_aunit_constants=>no ).
ENDLOOP.
ENDMETHOD. "is_supported
METHOD not_exist.
DATA: ls_item TYPE zif_abapgit_definitions=>ty_item,
@ -160,6 +133,8 @@ CLASS ltcl_object_types IMPLEMENTATION.
lt_types = zcl_abapgit_objects=>supported_list( ).
cl_abap_unit_assert=>assert_not_initial( lt_types ).
LOOP AT lt_types ASSIGNING <lv_type>.
CLEAR ls_item.
ls_item-obj_name = 'ZABAPGIT_FOOBAR'.
@ -177,7 +152,6 @@ CLASS ltcl_object_types IMPLEMENTATION.
ENDCLASS. "ltcl_object_types IMPLEMENTATION
*----------------------------------------------------------------------*
* CLASS ltcl_serialize DEFINITION
*----------------------------------------------------------------------*