Fix file to object mapping (#5902)

Co-authored-by: Lars Hvam <larshp@hotmail.com>
This commit is contained in:
Marc Bernard 2022-12-01 03:03:47 -05:00 committed by GitHub
parent 498f31f191
commit 258e6488b4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 22 additions and 3 deletions

View File

@ -55,7 +55,7 @@ CLASS zcl_abapgit_filename_logic IMPLEMENTATION.
DATA:
lv_name TYPE string,
lv_type TYPE trobjtype,
lv_type TYPE string,
lv_ext TYPE string.
" Guess object type and name
@ -67,7 +67,7 @@ CLASS zcl_abapgit_filename_logic IMPLEMENTATION.
REPLACE ALL OCCURRENCES OF '#' IN lv_ext WITH '/'.
" Assume AFF namespace convention
CREATE OBJECT go_aff_registry TYPE zcl_abapgit_aff_registry.
IF go_aff_registry->is_supported_object_type( lv_type ) = abap_true.
IF go_aff_registry->is_supported_object_type( |{ lv_type }| ) = abap_true.
REPLACE ALL OCCURRENCES OF '(' IN lv_name WITH '/'.
REPLACE ALL OCCURRENCES OF ')' IN lv_name WITH '/'.
ENDIF.
@ -146,5 +146,4 @@ CLASS zcl_abapgit_filename_logic IMPLEMENTATION.
TRANSLATE rv_filename TO LOWER CASE.
ENDMETHOD.
ENDCLASS.

View File

@ -9,6 +9,7 @@ CLASS ltcl_run_checks DEFINITION FOR TESTING RISK LEVEL HARMLESS
METHODS:
setup,
dot_abapgit FOR TESTING RAISING zcx_abapgit_exception,
file_to_object FOR TESTING RAISING zcx_abapgit_exception,
object_to_file FOR TESTING RAISING zcx_abapgit_exception,
file_to_object_pack FOR TESTING RAISING zcx_abapgit_exception,
@ -25,6 +26,25 @@ CLASS ltcl_run_checks IMPLEMENTATION.
ENDMETHOD.
METHOD dot_abapgit.
DATA lv_is_xml TYPE abap_bool.
zcl_abapgit_filename_logic=>file_to_object(
EXPORTING
iv_filename = zif_abapgit_definitions=>c_dot_abapgit
iv_path = '/'
io_dot = mo_dot
IMPORTING
ev_is_xml = lv_is_xml ).
" .abapgit.xml is not considered an "XML file" since it does not represent an object (item)
cl_abap_unit_assert=>assert_equals(
exp = abap_false
act = lv_is_xml ).
ENDMETHOD.
METHOD file_to_object.
DATA ls_item TYPE zif_abapgit_definitions=>ty_item.