mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 04:08:27 +08:00
parsing git branch list, throw errors (#4547)
* parsing git branch list, throw errors closes #4523 * downport * fix whitespace * bugfix
This commit is contained in:
parent
add83f5b94
commit
b7d6870077
|
@ -65,7 +65,9 @@ CLASS zcl_abapgit_git_branch_list DEFINITION
|
|||
IMPORTING
|
||||
!iv_data TYPE string
|
||||
RETURNING
|
||||
VALUE(rv_data) TYPE string .
|
||||
VALUE(rv_data) TYPE string
|
||||
RAISING
|
||||
zcx_abapgit_exception .
|
||||
METHODS find_tag_by_name
|
||||
IMPORTING
|
||||
!iv_branch_name TYPE string
|
||||
|
@ -90,7 +92,7 @@ ENDCLASS.
|
|||
|
||||
|
||||
|
||||
CLASS zcl_abapgit_git_branch_list IMPLEMENTATION.
|
||||
CLASS ZCL_ABAPGIT_GIT_BRANCH_LIST IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD complete_heads_branch_name.
|
||||
|
@ -261,7 +263,10 @@ CLASS zcl_abapgit_git_branch_list IMPLEMENTATION.
|
|||
LOOP AT lt_result INTO lv_data.
|
||||
lv_current_row_index = sy-tabix.
|
||||
|
||||
IF sy-tabix = 1 AND strlen( lv_data ) > 49.
|
||||
IF sy-tabix = 1 AND strlen( lv_data ) > 12 AND lv_data(4) = '0000' AND lv_data+8(3) = 'ERR'.
|
||||
lv_name = lv_data+8.
|
||||
zcx_abapgit_exception=>raise( lv_name ).
|
||||
ELSEIF sy-tabix = 1 AND strlen( lv_data ) > 49.
|
||||
lv_hash = lv_data+8.
|
||||
lv_name = lv_data+49.
|
||||
lv_char = zcl_abapgit_git_utils=>get_null( ).
|
||||
|
@ -310,8 +315,10 @@ CLASS zcl_abapgit_git_branch_list IMPLEMENTATION.
|
|||
|
||||
METHOD skip_first_pkt.
|
||||
|
||||
DATA: lv_hex TYPE x LENGTH 1,
|
||||
lv_length TYPE i.
|
||||
DATA: lv_hex TYPE x LENGTH 1,
|
||||
lt_strings TYPE STANDARD TABLE OF string WITH DEFAULT KEY,
|
||||
lv_str TYPE string,
|
||||
lv_length TYPE i.
|
||||
|
||||
|
||||
* channel
|
||||
|
|
|
@ -13,7 +13,8 @@ CLASS ltcl_parse DEFINITION FOR TESTING
|
|||
|
||||
METHODS:
|
||||
test01 FOR TESTING RAISING zcx_abapgit_exception,
|
||||
test02 FOR TESTING RAISING zcx_abapgit_exception.
|
||||
test02 FOR TESTING RAISING zcx_abapgit_exception,
|
||||
test03 FOR TESTING RAISING zcx_abapgit_exception.
|
||||
|
||||
DATA: mt_data TYPE STANDARD TABLE OF string WITH DEFAULT KEY.
|
||||
|
||||
|
@ -74,4 +75,25 @@ CLASS ltcl_parse IMPLEMENTATION.
|
|||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD test03.
|
||||
|
||||
* https://github.com/abapGit/abapGit/issues/4523
|
||||
|
||||
DATA lx_error TYPE REF TO zcx_abapgit_exception.
|
||||
DATA lv_data TYPE string.
|
||||
|
||||
lv_data = |001e\n service=git-upload-pack\n00000230ERR CAPTCHA required\nYour Bitbucket account etc..|.
|
||||
APPEND lv_data TO mt_data.
|
||||
|
||||
TRY.
|
||||
parse( ).
|
||||
cl_abap_unit_assert=>fail( ).
|
||||
CATCH zcx_abapgit_exception INTO lx_error.
|
||||
cl_abap_unit_assert=>assert_char_cp(
|
||||
act = lx_error->get_text( )
|
||||
exp = '*CAPTCHA*' ).
|
||||
ENDTRY.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
||||
|
|
Loading…
Reference in New Issue
Block a user