activate ajson logic (#841)

* activate ajson logic

* update

* update

* update
This commit is contained in:
oblomov 2024-02-02 17:44:12 +01:00 committed by GitHub
parent c9e154d02e
commit 7e4cfa185b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 920 additions and 920 deletions

View File

@ -1,85 +1,85 @@
CLASS ltcl_unit_01_json DEFINITION FINAL FOR TESTING
DURATION LONG
RISK LEVEL HARMLESS.
PRIVATE SECTION.
METHODS test_json_attri FOR TESTING RAISING cx_static_check.
METHODS test_json_object FOR TESTING RAISING cx_static_check.
METHODS test_json_struc FOR TESTING RAISING cx_static_check.
METHODS test_create_json FOR TESTING RAISING cx_static_check.
ENDCLASS.
CLASS ltcl_unit_01_json IMPLEMENTATION.
METHOD test_json_attri.
DATA(lo_tree) = NEW z2ui5_cl_util_tree_json( ).
lo_tree->add_attribute( n = `AAA`
v = `BBB` ).
DATA(lv_result) = lo_tree->stringify( ).
IF `{"AAA":"BBB"}` <> lv_result.
cl_abap_unit_assert=>fail( 'json tree - wrong stringify attributes' ).
ENDIF.
ENDMETHOD.
METHOD test_json_object.
DATA(lo_tree) = NEW z2ui5_cl_util_tree_json( ).
lo_tree->add_attribute_object( `CCC` )->add_attribute( n = `AAA`
v = `BBB` ).
DATA(lv_result) = lo_tree->stringify( ).
IF `{"CCC":{"AAA":"BBB"}}` <> lv_result.
cl_abap_unit_assert=>fail( 'json tree - wrong stringify object attributes' ).
ENDIF.
ENDMETHOD.
METHOD test_json_struc.
DATA(lo_tree) = NEW z2ui5_cl_util_tree_json( ).
TYPES:
BEGIN OF ty_s_test,
comp1 TYPE string,
comp2 TYPE string,
END OF ty_s_test.
DATA(ls_test) = VALUE ty_s_test( comp1 = `AAA` comp2 = `BBB` ).
lo_tree->add_attribute_object( `CCC` )->add_attribute_struc( ls_test ).
DATA(lv_result) = lo_tree->stringify( ).
IF `{"CCC":{"COMP1":"AAA","COMP2":"BBB"}}` <> lv_result.
cl_abap_unit_assert=>fail( 'json tree - wrong stringify structure' ).
ENDIF.
ENDMETHOD.
METHOD test_create_json.
DATA(lo_json) = z2ui5_cl_util_tree_json=>factory( `{"CCC":{"COMP1":"AAA","COMP2":"BBB"}}` ).
DATA(lo_attri) = lo_json->get_attribute( `CCC` )->get_attribute( `COMP2` ).
FIELD-SYMBOLS <any> TYPE any.
DATA(lr_ref) = lo_attri->get_val_ref( ).
ASSIGN lr_ref->* TO <any>.
IF <any> <> `BBB`.
cl_abap_unit_assert=>fail( quit = 5 ).
ENDIF.
DATA(lv_val) = lo_attri->get_val( ).
IF lv_val <> `BBB`.
cl_abap_unit_assert=>fail( quit = 5 ).
ENDIF.
ENDMETHOD.
ENDCLASS.
*CLASS ltcl_unit_01_json DEFINITION FINAL FOR TESTING
* DURATION LONG
* RISK LEVEL HARMLESS.
*
* PRIVATE SECTION.
* METHODS test_json_attri FOR TESTING RAISING cx_static_check.
* METHODS test_json_object FOR TESTING RAISING cx_static_check.
* METHODS test_json_struc FOR TESTING RAISING cx_static_check.
* METHODS test_create_json FOR TESTING RAISING cx_static_check.
*
*ENDCLASS.
*
*CLASS ltcl_unit_01_json IMPLEMENTATION.
*
* METHOD test_json_attri.
*
* DATA(lo_tree) = NEW z2ui5_cl_util_tree_json( ).
* lo_tree->add_attribute( n = `AAA`
* v = `BBB` ).
*
* DATA(lv_result) = lo_tree->stringify( ).
* IF `{"AAA":"BBB"}` <> lv_result.
* cl_abap_unit_assert=>fail( 'json tree - wrong stringify attributes' ).
* ENDIF.
*
* ENDMETHOD.
*
* METHOD test_json_object.
*
* DATA(lo_tree) = NEW z2ui5_cl_util_tree_json( ).
* lo_tree->add_attribute_object( `CCC` )->add_attribute( n = `AAA`
* v = `BBB` ).
*
* DATA(lv_result) = lo_tree->stringify( ).
* IF `{"CCC":{"AAA":"BBB"}}` <> lv_result.
* cl_abap_unit_assert=>fail( 'json tree - wrong stringify object attributes' ).
* ENDIF.
*
* ENDMETHOD.
*
* METHOD test_json_struc.
*
* DATA(lo_tree) = NEW z2ui5_cl_util_tree_json( ).
*
* TYPES:
* BEGIN OF ty_s_test,
* comp1 TYPE string,
* comp2 TYPE string,
* END OF ty_s_test.
*
* DATA(ls_test) = VALUE ty_s_test( comp1 = `AAA` comp2 = `BBB` ).
* lo_tree->add_attribute_object( `CCC` )->add_attribute_struc( ls_test ).
*
* DATA(lv_result) = lo_tree->stringify( ).
* IF `{"CCC":{"COMP1":"AAA","COMP2":"BBB"}}` <> lv_result.
* cl_abap_unit_assert=>fail( 'json tree - wrong stringify structure' ).
* ENDIF.
*
* ENDMETHOD.
*
* METHOD test_create_json.
*
*
*
* DATA(lo_json) = z2ui5_cl_util_tree_json=>factory( `{"CCC":{"COMP1":"AAA","COMP2":"BBB"}}` ).
*
* DATA(lo_attri) = lo_json->get_attribute( `CCC` )->get_attribute( `COMP2` ).
*
*
* FIELD-SYMBOLS <any> TYPE any.
* DATA(lr_ref) = lo_attri->get_val_ref( ).
*
* ASSIGN lr_ref->* TO <any>.
* IF <any> <> `BBB`.
* cl_abap_unit_assert=>fail( quit = 5 ).
* ENDIF.
*
* DATA(lv_val) = lo_attri->get_val( ).
* IF lv_val <> `BBB`.
* cl_abap_unit_assert=>fail( quit = 5 ).
* ENDIF.
*
* ENDMETHOD.
*
*ENDCLASS.

File diff suppressed because it is too large Load Diff

View File

@ -1,69 +1,69 @@
CLASS ltcl_unit_test DEFINITION FINAL FOR TESTING
DURATION LONG
RISK LEVEL DANGEROUS.
PUBLIC SECTION.
DATA quantity TYPE string.
PRIVATE SECTION.
METHODS test_model_set_frontend FOR TESTING RAISING cx_static_check.
METHODS test_model_set_backend FOR TESTING RAISING cx_static_check.
ENDCLASS.
CLASS ltcl_unit_test IMPLEMENTATION.
METHOD test_model_set_frontend.
DATA(lt_attri) = VALUE z2ui5_cl_fw_binding=>ty_t_attri( ( name = `QUANTITY` bind_type = z2ui5_cl_fw_binding=>cs_bind_type-two_way name_front = `QUANTITY` ) ).
DATA(lo_app) = NEW ltcl_unit_test( ).
lo_app->quantity = `600`.
DATA(lo_model) = z2ui5_cl_fw_model=>factory(
viewname = ``
app = lo_app
attri = lt_attri ).
DATA(lv_frontend) = lo_model->main_set_frontend( ).
cl_abap_unit_assert=>assert_equals(
act = lv_frontend
exp = `{"EDIT":{"QUANTITY":"600"}}` ).
ENDMETHOD.
METHOD test_model_set_backend.
DATA(lt_attri) = VALUE z2ui5_cl_fw_binding=>ty_t_attri( ( name = `QUANTITY` bind_type = z2ui5_cl_fw_binding=>cs_bind_type-two_way name_front = `QUANTITY` ) ).
DATA(lo_app) = NEW ltcl_unit_test( ).
DATA(lv_model) = `{"EDIT":{"QUANTITY":"600"},"oScroll":[],"OMESSAGEMANAGER":[],"ID":"0242B09497911EDE90A60CD0D8519DD5","ARGUMENTS":[{"EVENT":"BUTTON_POST","METHOD":"UPDATE","CHECK_VIEW_DESTROY":false}],"OCURSOR":{"id":"__button1"},"OLOCATION":{`
&& `"SEARCH":"?sap-client=001&app_start=z2ui5_cl_app_hello_world","VERSION":"com.sap.ui5.dist:sapui5-sdk-dist:1.116.0:war"}}`.
DATA lr_model TYPE REF TO data.
FIELD-SYMBOLS <any> TYPE any.
/ui2/cl_json=>deserialize(
EXPORTING
json = lv_model
CHANGING
data = lr_model ).
DATA(lo_model) = z2ui5_cl_fw_model=>factory(
viewname = ``
app = lo_app
attri = lt_attri ).
DATA(lv_assign) = `LR_MODEL->` && z2ui5_cl_fw_binding=>cv_model_edit_name.
ASSIGN (lv_assign) TO <any>.
lo_model->main_set_backend( <any> ).
cl_abap_unit_assert=>assert_equals(
act = lo_app->quantity
exp = `600` ).
ENDMETHOD.
ENDCLASS.
*CLASS ltcl_unit_test DEFINITION FINAL FOR TESTING
* DURATION LONG
* RISK LEVEL DANGEROUS.
*
* PUBLIC SECTION.
* DATA quantity TYPE string.
*
* PRIVATE SECTION.
* METHODS test_model_set_frontend FOR TESTING RAISING cx_static_check.
* METHODS test_model_set_backend FOR TESTING RAISING cx_static_check.
*
*ENDCLASS.
*
*
*CLASS ltcl_unit_test IMPLEMENTATION.
*
* METHOD test_model_set_frontend.
*
* DATA(lt_attri) = VALUE z2ui5_cl_fw_binding=>ty_t_attri( ( name = `QUANTITY` bind_type = z2ui5_cl_fw_binding=>cs_bind_type-two_way name_front = `QUANTITY` ) ).
* DATA(lo_app) = NEW ltcl_unit_test( ).
*
* lo_app->quantity = `600`.
*
* DATA(lo_model) = z2ui5_cl_fw_model=>factory(
* viewname = ``
* app = lo_app
* attri = lt_attri ).
*
* DATA(lv_frontend) = lo_model->main_set_frontend( ).
*
* cl_abap_unit_assert=>assert_equals(
* act = lv_frontend
* exp = `{"EDIT":{"QUANTITY":"600"}}` ).
*
* ENDMETHOD.
*
* METHOD test_model_set_backend.
*
* DATA(lt_attri) = VALUE z2ui5_cl_fw_binding=>ty_t_attri( ( name = `QUANTITY` bind_type = z2ui5_cl_fw_binding=>cs_bind_type-two_way name_front = `QUANTITY` ) ).
* DATA(lo_app) = NEW ltcl_unit_test( ).
*
* DATA(lv_model) = `{"EDIT":{"QUANTITY":"600"},"oScroll":[],"OMESSAGEMANAGER":[],"ID":"0242B09497911EDE90A60CD0D8519DD5","ARGUMENTS":[{"EVENT":"BUTTON_POST","METHOD":"UPDATE","CHECK_VIEW_DESTROY":false}],"OCURSOR":{"id":"__button1"},"OLOCATION":{`
* && `"SEARCH":"?sap-client=001&app_start=z2ui5_cl_app_hello_world","VERSION":"com.sap.ui5.dist:sapui5-sdk-dist:1.116.0:war"}}`.
*
* DATA lr_model TYPE REF TO data.
* FIELD-SYMBOLS <any> TYPE any.
* /ui2/cl_json=>deserialize(
* EXPORTING
* json = lv_model
* CHANGING
* data = lr_model ).
*
* DATA(lo_model) = z2ui5_cl_fw_model=>factory(
* viewname = ``
* app = lo_app
* attri = lt_attri ).
*
* DATA(lv_assign) = `LR_MODEL->` && z2ui5_cl_fw_binding=>cv_model_edit_name.
*
* ASSIGN (lv_assign) TO <any>.
* lo_model->main_set_backend( <any> ).
*
* cl_abap_unit_assert=>assert_equals(
* act = lo_app->quantity
* exp = `600` ).
*
* ENDMETHOD.
*
*ENDCLASS.

View File

@ -7,7 +7,7 @@ CLASS z2ui5_cl_fw_http_handler DEFINITION
CLASS-METHODS http_post
IMPORTING
body TYPE string
check_old_json TYPE abap_bool DEFAULT abap_true
check_old_json TYPE abap_bool DEFAULT abap_false
RETURNING
VALUE(result) TYPE string.

View File

@ -1,7 +1,7 @@
INTERFACE z2ui5_if_app PUBLIC.
INTERFACES if_serializable_object.
CONSTANTS version TYPE string VALUE '1.117.0'.
CONSTANTS version TYPE string VALUE '1.118.0'.
CONSTANTS origin TYPE string VALUE 'https://github.com/abap2UI5/abap2UI5'.
CONSTANTS license TYPE string VALUE 'MIT'.