Patch: enable new view options similar to Diff (#5162)

* enable new view options on patch page

* add unit test

* new constant for unchanged lines
This commit is contained in:
Christian Günter 2021-11-26 07:41:57 +01:00 committed by GitHub
parent 095c35f49b
commit 13c4d57dd3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 32 additions and 10 deletions

View File

@ -47,9 +47,9 @@ CLASS ZCL_ABAPGIT_GIT_ADD_PATCH IMPLEMENTATION.
LOOP AT mt_diff ASSIGNING <ls_diff>.
CASE <ls_diff>-result.
WHEN ' '.
WHEN zif_abapgit_definitions=>c_diff-unchanged.
INSERT <ls_diff>-new INTO TABLE rt_patch.
INSERT <ls_diff>-old INTO TABLE rt_patch.
WHEN zif_abapgit_definitions=>c_diff-insert.

View File

@ -23,6 +23,8 @@ CLASS ltcl_calculate_patch DEFINITION FINAL FOR TESTING
mixed FOR TESTING RAISING cx_static_check,
no_diff FOR TESTING RAISING cx_static_check,
unknown_result_type FOR TESTING RAISING cx_static_check.
METHODS:
@ -612,6 +614,23 @@ CLASS ltcl_calculate_patch IMPLEMENTATION.
ENDMETHOD.
METHOD no_diff.
given_diff( iv_patch_flag = ' '
iv_new_num = ' 1'
iv_new = '" new'
iv_result = ' '
iv_old_num = ' 1'
iv_old = '" old' ).
when_patch_is_calculated( ).
then_patch_should_be( |" old| ).
ENDMETHOD.
METHOD unknown_result_type.
given_diff( iv_patch_flag = ' '

View File

@ -152,9 +152,12 @@ CLASS zcl_abapgit_gui_page_diff DEFINITION
VALUE(rv_is_refrseh) TYPE abap_bool.
METHODS modify_files_before_diff_calc
IMPORTING
!it_diff_files_old TYPE ty_file_diffs
it_diff_files_old TYPE ty_file_diffs
RETURNING
VALUE(rt_files) TYPE zif_abapgit_definitions=>ty_stage_tt.
METHODS add_view_sub_menu
IMPORTING
io_menu TYPE REF TO zcl_abapgit_html_toolbar .
METHODS render_content
REDEFINITION .
@ -232,9 +235,6 @@ CLASS zcl_abapgit_gui_page_diff DEFINITION
METHODS add_filter_sub_menu
IMPORTING
!io_menu TYPE REF TO zcl_abapgit_html_toolbar .
METHODS add_view_sub_menu
IMPORTING
!io_menu TYPE REF TO zcl_abapgit_html_toolbar .
METHODS render_lines
IMPORTING
!is_diff TYPE ty_file_diff

View File

@ -164,6 +164,8 @@ CLASS zcl_abapgit_gui_page_patch IMPLEMENTATION.
iv_id = 'stage'
iv_typ = zif_abapgit_html=>c_action_type-dummy ).
add_view_sub_menu( io_menu ).
ENDMETHOD.

View File

@ -150,7 +150,7 @@ CLASS zcl_abapgit_diff IMPLEMENTATION.
ELSEIF <ls_delta>-flag1 = 'M' AND <ls_delta>-flag2 = 'M'.
ls_diff-result = zif_abapgit_definitions=>c_diff-update.
ELSEIF <ls_delta>-flag1 = '' AND <ls_delta>-flag2 = ''.
ls_diff-result = ''.
ls_diff-result = zif_abapgit_definitions=>c_diff-unchanged.
ELSE.
ASSERT 0 = 1. " unknown comparison result
ENDIF.

View File

@ -392,6 +392,7 @@ INTERFACE zif_abapgit_definitions
END OF c_git_branch.
CONSTANTS:
BEGIN OF c_diff,
unchanged TYPE c LENGTH 1 VALUE ' ',
insert TYPE c LENGTH 1 VALUE 'I',
delete TYPE c LENGTH 1 VALUE 'D',
update TYPE c LENGTH 1 VALUE 'U',