allow HCP style git url, #258

This commit is contained in:
larshp 2016-09-10 07:32:28 +00:00
parent f9b30f374a
commit 7963850784
2 changed files with 32 additions and 5 deletions

View File

@ -637,8 +637,11 @@ CLASS ltcl_url DEFINITION FOR TESTING RISK LEVEL HARMLESS DURATION SHORT FINAL.
PRIVATE SECTION.
METHODS repo_url FOR TESTING RAISING lcx_exception.
METHODS repo_error FOR TESTING.
METHODS:
repo_host FOR TESTING RAISING lcx_exception,
repo_name1 FOR TESTING RAISING lcx_exception,
repo_name2 FOR TESTING RAISING lcx_exception,
repo_error FOR TESTING.
ENDCLASS. "ltcl_url DEFINITION
@ -659,7 +662,7 @@ CLASS ltcl_url IMPLEMENTATION.
ENDMETHOD. "repo_error
METHOD repo_url.
METHOD repo_host.
DATA: lv_host TYPE string.
@ -671,6 +674,30 @@ CLASS ltcl_url IMPLEMENTATION.
ENDMETHOD. "repo_url
METHOD repo_name1.
DATA: lv_name TYPE string.
lv_name = lcl_url=>name( 'https://github.com/larshp/Foobar.git' ).
cl_abap_unit_assert=>assert_equals(
exp = 'Foobar'
act = lv_name ).
ENDMETHOD.
METHOD repo_name2.
DATA: lv_name TYPE string.
lv_name = lcl_url=>name( 'https://git.hanatrial.ondemand.com/p12345trial/yay' ).
cl_abap_unit_assert=>assert_equals(
exp = 'yay'
act = lv_name ).
ENDMETHOD.
ENDCLASS. "ltcl_url IMPLEMENTATION
*----------------------------------------------------------------------*

View File

@ -402,8 +402,8 @@ CLASS lcl_url IMPLEMENTATION.
METHOD regex.
FIND REGEX '(.*://[^/]*)(.*/)(.*).git' IN iv_repo
SUBMATCHES ev_host ev_path ev_name.
FIND REGEX '(.*://[^/]*)(.*/)([^\.]*)[\.git]?' IN iv_repo
SUBMATCHES ev_host ev_path ev_name.
IF sy-subrc <> 0.
lcx_exception=>raise( 'Malformed URL' ).
ENDIF.