mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 11:46:38 +08:00
[create-pull-request] automated change
This commit is contained in:
parent
d374436ae3
commit
33f3ba3e67
|
@ -848,6 +848,8 @@ CLASS zcl_abapgit_ajson IMPLEMENTATION.
|
|||
DATA lv_path_pattern TYPE string.
|
||||
|
||||
CREATE OBJECT lo_section.
|
||||
lo_section->mi_custom_mapping = mi_custom_mapping.
|
||||
|
||||
lv_normalized_path = lcl_utils=>normalize_path( iv_path ).
|
||||
lv_path_len = strlen( lv_normalized_path ).
|
||||
ls_path_parts = lcl_utils=>split_path( lv_normalized_path ).
|
||||
|
|
|
@ -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.
|
||||
<s> = condense( to_lower( <s> ) ).
|
||||
<s> = condense( <s> ).
|
||||
ENDLOOP.
|
||||
ENDIF.
|
||||
|
||||
|
|
|
@ -10,6 +10,7 @@ CLASS ltcl_filters_test DEFINITION FINAL
|
|||
METHODS path_filter_w_patterns FOR TESTING RAISING zcx_abapgit_ajson_error.
|
||||
METHODS path_filter_deep FOR TESTING RAISING zcx_abapgit_ajson_error.
|
||||
METHODS and_filter FOR TESTING RAISING zcx_abapgit_ajson_error.
|
||||
METHODS mixed_case_filter FOR TESTING RAISING zcx_abapgit_ajson_error.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
@ -227,4 +228,36 @@ CLASS ltcl_filters_test IMPLEMENTATION.
|
|||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD mixed_case_filter.
|
||||
|
||||
DATA li_json TYPE REF TO zif_abapgit_ajson.
|
||||
DATA li_json_filtered TYPE REF TO zif_abapgit_ajson.
|
||||
|
||||
li_json = zcl_abapgit_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 = zcl_abapgit_ajson=>create_from(
|
||||
ii_source_json = li_json
|
||||
ii_filter = zcl_abapgit_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.
|
||||
|
|
|
@ -358,6 +358,7 @@ CLASS ltcl_fields DEFINITION FINAL FOR TESTING
|
|||
to_json_without_path FOR TESTING RAISING zcx_abapgit_ajson_error,
|
||||
to_json_with_path FOR TESTING RAISING zcx_abapgit_ajson_error,
|
||||
to_abap FOR TESTING RAISING zcx_abapgit_ajson_error,
|
||||
to_abap_with_slice FOR TESTING RAISING zcx_abapgit_ajson_error,
|
||||
to_json IMPORTING iv_path TYPE string RETURNING VALUE(rv_result) TYPE string RAISING zcx_abapgit_ajson_error.
|
||||
|
||||
|
||||
|
@ -403,6 +404,33 @@ CLASS ltcl_fields IMPLEMENTATION.
|
|||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD to_abap_with_slice.
|
||||
|
||||
DATA: BEGIN OF ls_act,
|
||||
y TYPE i,
|
||||
END OF ls_act.
|
||||
|
||||
DATA lo_cut TYPE REF TO zif_abapgit_ajson.
|
||||
DATA lt_mapping_fields TYPE zif_abapgit_ajson_mapping=>ty_mapping_fields.
|
||||
DATA ls_mapping_field LIKE LINE OF lt_mapping_fields.
|
||||
|
||||
CLEAR ls_mapping_field.
|
||||
ls_mapping_field-abap = 'Y'.
|
||||
ls_mapping_field-json = 'c'.
|
||||
INSERT ls_mapping_field INTO TABLE lt_mapping_fields.
|
||||
|
||||
lo_cut = zcl_abapgit_ajson=>parse( iv_json = '{"a":1,"b":{"c":2},"d":{"e":3}}'
|
||||
ii_custom_mapping = zcl_abapgit_ajson_mapping=>create_field_mapping( lt_mapping_fields )
|
||||
)->slice( `/b` ).
|
||||
|
||||
lo_cut->to_abap( IMPORTING ev_container = ls_act ).
|
||||
|
||||
cl_abap_unit_assert=>assert_equals(
|
||||
act = ls_act-y
|
||||
exp = 2 ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD to_json_without_path.
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
INTERFACE zif_abapgit_ajson
|
||||
PUBLIC.
|
||||
|
||||
CONSTANTS version TYPE string VALUE 'v1.1.10'. "#EC NOTEXT
|
||||
CONSTANTS version TYPE string VALUE 'v1.1.11'. "#EC NOTEXT
|
||||
CONSTANTS origin TYPE string VALUE 'https://github.com/sbcgua/ajson'. "#EC NOTEXT
|
||||
CONSTANTS license TYPE string VALUE 'MIT'. "#EC NOTEXT
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user