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.