diff --git a/src/00/01/z2ui5_cl_ajson_filter_lib.clas.locals_imp.abap b/src/00/01/z2ui5_cl_ajson_filter_lib.clas.locals_imp.abap index c06ef183..b9a09d32 100644 --- a/src/00/01/z2ui5_cl_ajson_filter_lib.clas.locals_imp.abap +++ b/src/00/01/z2ui5_cl_ajson_filter_lib.clas.locals_imp.abap @@ -72,7 +72,7 @@ CLASS lcl_paths_filter IMPLEMENTATION. ENDIF. LOOP AT it_skip_paths INTO lv_s. - lv_s = to_lower( lv_s ). + lv_s = condense( lv_s ). APPEND lv_s TO lt_tab. ENDLOOP. @@ -83,7 +83,7 @@ CLASS lcl_paths_filter IMPLEMENTATION. DELETE lt_tab INDEX sy-tabix. CONTINUE. ENDIF. - = condense( to_lower( ) ). + = condense( ). ENDLOOP. ENDIF. diff --git a/src/00/01/z2ui5_cl_ajson_filter_lib.clas.testclasses.abap b/src/00/01/z2ui5_cl_ajson_filter_lib.clas.testclasses.abap index 49d8cd57..e8c13edb 100644 --- a/src/00/01/z2ui5_cl_ajson_filter_lib.clas.testclasses.abap +++ b/src/00/01/z2ui5_cl_ajson_filter_lib.clas.testclasses.abap @@ -10,6 +10,7 @@ CLASS ltcl_filters_test DEFINITION FINAL METHODS path_filter_w_patterns FOR TESTING RAISING z2ui5_cx_ajson_error. METHODS path_filter_deep FOR TESTING RAISING z2ui5_cx_ajson_error. METHODS and_filter FOR TESTING RAISING z2ui5_cx_ajson_error. + METHODS mixed_case_filter FOR TESTING RAISING z2ui5_cx_ajson_error. ENDCLASS. @@ -227,4 +228,36 @@ CLASS ltcl_filters_test IMPLEMENTATION. ENDMETHOD. + METHOD mixed_case_filter. + + DATA li_json TYPE REF TO z2ui5_if_ajson. + DATA li_json_filtered TYPE REF TO z2ui5_if_ajson. + + li_json = z2ui5_cl_ajson=>create_empty( ). + li_json->set( + iv_path = '/a' + iv_val = '1' ). + li_json->set( + iv_path = '/bB' + iv_val = '2' ). + li_json->set( + iv_path = '/CC' + iv_val = '3' ). + li_json->set( + iv_path = '/cc' + iv_val = '4' ). + li_json->set( + iv_path = '/d' + iv_val = 5 ). + + li_json_filtered = z2ui5_cl_ajson=>create_from( + ii_source_json = li_json + ii_filter = z2ui5_cl_ajson_filter_lib=>create_path_filter( iv_skip_paths = '/bB,/CC' ) ). + + cl_abap_unit_assert=>assert_equals( + act = li_json_filtered->stringify( ) + exp = '{"a":"1","cc":"4","d":5}' ). + + ENDMETHOD. + ENDCLASS.