ajson, Automatic Update (#4888)

* [create-pull-request] automated change

* Update zcl_abapgit_ajson.clas.locals_imp.abap

* Update zcl_abapgit_ajson.clas.locals_imp.abap

* Update ajson_mirror.yaml

* skip parse_bare_values

Co-authored-by: larshp <larshp@users.noreply.github.com>
Co-authored-by: Lars Hvam <larshp@hotmail.com>
This commit is contained in:
github-actions[bot] 2021-08-02 06:57:22 +02:00 committed by GitHub
parent a85ffb83d0
commit 9d1e14a90d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 66 additions and 3 deletions

View File

@ -33,4 +33,4 @@ jobs:
Automatic update from mirror
https://github.com/abapGit/ajson_mirror
Manually close and reopen the pull request to trigger CI
Make manual change to trigger CI

View File

@ -142,7 +142,9 @@ CLASS lcl_json_parser IMPLEMENTATION.
TRY.
rt_json_tree = _parse( iv_json ).
CATCH cx_sxml_error INTO lx_sxml.
zcx_abapgit_ajson_error=>raise( `SXML: ` && lx_sxml->get_text( ) ).
zcx_abapgit_ajson_error=>raise(
iv_msg = |Json parsing error (SXML): { lx_sxml->get_text( ) }|
iv_location = '@PARSER' ).
ENDTRY.
ENDMETHOD.

View File

@ -10,6 +10,7 @@ CLASS lcl_nodes_helper DEFINITION FINAL.
METHODS add
IMPORTING
iv_str TYPE string.
METHODS clear.
METHODS sorted
RETURNING
VALUE(rt_nodes) TYPE zif_abapgit_ajson=>ty_nodes_ts.
@ -47,6 +48,10 @@ CLASS lcl_nodes_helper IMPLEMENTATION.
METHOD sorted.
rt_nodes = mt_nodes.
ENDMETHOD.
METHOD clear.
CLEAR mt_nodes.
ENDMETHOD.
ENDCLASS.
**********************************************************************
@ -79,6 +84,7 @@ CLASS ltcl_parser_test DEFINITION FINAL
METHODS parse_false FOR TESTING RAISING zcx_abapgit_ajson_error.
METHODS parse_null FOR TESTING RAISING zcx_abapgit_ajson_error.
METHODS parse_date FOR TESTING RAISING zcx_abapgit_ajson_error.
METHODS parse_bare_values FOR TESTING RAISING zcx_abapgit_ajson_error.
ENDCLASS.
@ -89,6 +95,59 @@ CLASS ltcl_parser_test IMPLEMENTATION.
CREATE OBJECT mo_nodes.
ENDMETHOD.
METHOD parse_bare_values.
DATA lt_act TYPE zif_abapgit_ajson=>ty_nodes_tt.
mo_nodes->add( ' | |str |abc | |0' ).
lt_act = mo_cut->parse( '"abc"' ).
cl_abap_unit_assert=>assert_equals(
act = lt_act
exp = mo_nodes->mt_nodes ).
mo_nodes->clear( ).
mo_nodes->add( ' | |num |-123 | |0' ).
lt_act = mo_cut->parse( '-123' ).
cl_abap_unit_assert=>assert_equals(
act = lt_act
exp = mo_nodes->mt_nodes ).
mo_nodes->clear( ).
mo_nodes->add( ' | |bool |true | |0' ).
lt_act = mo_cut->parse( 'true' ).
cl_abap_unit_assert=>assert_equals(
act = lt_act
exp = mo_nodes->mt_nodes ).
mo_nodes->clear( ).
mo_nodes->add( ' | |bool |false | |0' ).
lt_act = mo_cut->parse( 'false' ).
cl_abap_unit_assert=>assert_equals(
act = lt_act
exp = mo_nodes->mt_nodes ).
mo_nodes->clear( ).
mo_nodes->add( ' | |null | | |0' ).
lt_act = mo_cut->parse( 'null' ).
cl_abap_unit_assert=>assert_equals(
act = lt_act
exp = mo_nodes->mt_nodes ).
DATA lx_err TYPE REF TO zcx_abapgit_ajson_error.
TRY.
lt_act = mo_cut->parse( 'abc' ).
cl_abap_unit_assert=>fail( 'Parsing of string w/o quotes must fail (spec)' ).
CATCH zcx_abapgit_ajson_error INTO lx_err.
cl_abap_unit_assert=>assert_char_cp(
act = lx_err->get_text( )
exp = '*parsing error*' ).
cl_abap_unit_assert=>assert_char_cp(
act = lx_err->location
exp = '@PARSER' ).
ENDTRY.
ENDMETHOD.
METHOD parse_string.
mo_nodes->add( ' | |object | | |1' ).
mo_nodes->add( '/ |string |str |abc | |0' ).

View File

@ -190,6 +190,8 @@
{"object": "ZCL_ABAPGIT_AJSON", "class": "ltcl_writer_test", "method": "set_array_obj"},
{"object": "ZCL_ABAPGIT_AJSON", "class": "ltcl_writer_test", "method": "set_with_type"},
{"object": "ZCL_ABAPGIT_AJSON", "class": "ltcl_parser_test", "method": "parse_bare_values"},
{"object": "ZCL_ABAPGIT_AJSON", "class": "ltcl_integrated", "method": "reader"},
{"object": "ZCL_ABAPGIT_AJSON", "class": "ltcl_integrated", "method": "array_index"},
{"object": "ZCL_ABAPGIT_AJSON", "class": "ltcl_integrated", "method": "array_simple"},