From 9dae60ebadd6bdefb594347f3e95253ac0bccf12 Mon Sep 17 00:00:00 2001 From: larshp Date: Wed, 15 Feb 2017 16:23:14 +0000 Subject: [PATCH] PREFIX: error handling fixed --- src/zabapgit_folder_logic.prog.abap | 38 ++++++++++++++++++++++------- 1 file changed, 29 insertions(+), 9 deletions(-) diff --git a/src/zabapgit_folder_logic.prog.abap b/src/zabapgit_folder_logic.prog.abap index 5813d61c8..5f05fbe4f 100644 --- a/src/zabapgit_folder_logic.prog.abap +++ b/src/zabapgit_folder_logic.prog.abap @@ -92,17 +92,21 @@ CLASS lcl_folder_logic IMPLEMENTATION. ENDIF. WHEN lcl_dot_abapgit=>c_folder_logic-prefix. lv_len = strlen( lv_parentcl ). + + IF iv_package(lv_len) <> lv_parentcl. +* if abapGit project is installed in package ZZZ, all subpackages should be named +* ZZZ_something. This will define the folder name in the zip file to be "something", +* similarily with online projects. Alternatively change to FULL folder logic + lv_message = 'PREFIX: Unexpected package naming(' && iv_package && ')' ##no_text. + lcx_exception=>raise( lv_message ). + ENDIF. WHEN OTHERS. ASSERT 0 = 1. ENDCASE. lv_path = iv_package+lv_len. IF strlen( lv_path ) = 0. -* if abapGit project is installed in package ZZZ, all subpackages should be named -* ZZZ_something. This will define the folder name in the zip file to be "something", -* similarily with online projects - lv_message = 'Unexpected package naming(' && iv_package && ')' ##no_text. - lcx_exception=>raise( lv_message ). + lcx_exception=>raise( 'Folder logic: length = 0' ). ENDIF. IF lv_path(1) = '_'. @@ -144,6 +148,7 @@ CLASS ltcl_folder_logic DEFINITION FOR TESTING RISK LEVEL HARMLESS DURATION SHOR RAISING lcx_exception, prefix1 FOR TESTING RAISING lcx_exception, prefix2 FOR TESTING RAISING lcx_exception, + prefix_error1 FOR TESTING RAISING lcx_exception, full1 FOR TESTING RAISING lcx_exception, full2 FOR TESTING RAISING lcx_exception. @@ -180,6 +185,10 @@ CLASS ltcl_folder_logic IMPLEMENTATION. APPEND INITIAL LINE TO lcl_sap_package=>gt_injected ASSIGNING . -package = '$TOP_FOO'. -object = me. + + APPEND INITIAL LINE TO lcl_sap_package=>gt_injected ASSIGNING . + -package = '$FOOBAR'. + -object = me. ENDMETHOD. METHOD teardown. @@ -198,6 +207,17 @@ CLASS ltcl_folder_logic IMPLEMENTATION. iv_path = '/src/foo/' ). ENDMETHOD. + METHOD prefix_error1. +* PREFIX mode, top package is $TOP, so all subpackages should be named $TOP_something + TRY. + test( iv_logic = lcl_dot_abapgit=>c_folder_logic-prefix + iv_package = '$FOOBAR' + iv_path = '/src/' ). + cl_abap_unit_assert=>fail( 'Error expected' ). + CATCH lcx_exception. + ENDTRY. + ENDMETHOD. + METHOD full1. test( iv_logic = lcl_dot_abapgit=>c_folder_logic-full iv_package = lc_top @@ -226,15 +246,15 @@ CLASS ltcl_folder_logic IMPLEMENTATION. io_dot = lo_dot iv_path = iv_path ). - cl_abap_unit_assert=>assert_equals( - act = lv_package - exp = iv_package ). - lv_path = lcl_folder_logic=>package_to_path( iv_top = lc_top io_dot = lo_dot iv_package = iv_package ). + cl_abap_unit_assert=>assert_equals( + act = lv_package + exp = iv_package ). + cl_abap_unit_assert=>assert_equals( act = lv_path exp = iv_path ).