mirror of
https://github.com/abap2UI5/abap2UI5.git
synced 2025-04-29 20:46:17 +08:00
activate ajson logic (#841)
* activate ajson logic * update * update * update
This commit is contained in:
parent
c9e154d02e
commit
7e4cfa185b
|
@ -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
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
|
|
@ -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'.
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user