CLASS ltcl_test DEFINITION FOR TESTING
DURATION SHORT
RISK LEVEL HARMLESS.
PRIVATE SECTION.
DATA:
mo_cut TYPE REF TO zcl_abapgit_xml_pretty.
METHODS:
setup,
pretty1 FOR TESTING RAISING cx_static_check,
pretty2 FOR TESTING RAISING cx_static_check,
pretty3 FOR TESTING RAISING cx_static_check,
malformatted FOR TESTING RAISING cx_static_check,
dont_ignore_error FOR TESTING RAISING cx_static_check,
unpretty FOR TESTING RAISING cx_static_check.
ENDCLASS.
CLASS ltcl_test IMPLEMENTATION.
METHOD setup.
CREATE OBJECT mo_cut.
ENDMETHOD.
METHOD pretty1.
DATA lv_result TYPE string.
lv_result = mo_cut->print( '' ).
" Skip BOM for Unicode systems
IF cl_abap_char_utilities=>charsize > 1.
lv_result = lv_result+1.
ENDIF.
cl_abap_unit_assert=>assert_equals(
act = lv_result
exp = |\n\n| ).
ENDMETHOD.
METHOD pretty2.
DATA lv_result TYPE string.
lv_result = mo_cut->print( '2' ).
" Skip BOM for Unicode systems
IF cl_abap_char_utilities=>charsize > 1.
lv_result = lv_result+1.
ENDIF.
cl_abap_unit_assert=>assert_equals(
act = lv_result
exp = |\n2\n| ).
ENDMETHOD.
METHOD pretty3.
DATA lv_result TYPE string.
lv_result = mo_cut->print( '2' ).
" Skip BOM for Unicode systems
IF cl_abap_char_utilities=>charsize > 1.
lv_result = lv_result+1.
ENDIF.
cl_abap_unit_assert=>assert_equals(
act = lv_result
exp = |\n\n 2\n\n| ).
ENDMETHOD.
METHOD malformatted.
DATA lv_result TYPE string.
lv_result = mo_cut->print( 'abc' ).
cl_abap_unit_assert=>assert_equals(
act = lv_result
exp = 'abc' ).
ENDMETHOD.
METHOD dont_ignore_error.
TRY.
mo_cut->print(
iv_xml = 'abc'
iv_ignore_errors = abap_false ).
cl_abap_unit_assert=>fail( ).
CATCH zcx_abapgit_exception.
RETURN.
ENDTRY.
ENDMETHOD.
METHOD unpretty.
DATA lv_result TYPE string.
lv_result = mo_cut->print(
iv_xml = |\n 2\n|
iv_unpretty = abap_true ).
" Skip BOM for Unicode systems
IF cl_abap_char_utilities=>charsize > 1.
lv_result = lv_result+1.
ENDIF.
cl_abap_unit_assert=>assert_equals(
act = lv_result
exp = |2| ).
ENDMETHOD.
ENDCLASS.