From f782190b3ac20abdfd0245ae77bfc10d5562c843 Mon Sep 17 00:00:00 2001 From: Lars Hvam Date: Tue, 1 Dec 2020 05:09:02 +0100 Subject: [PATCH] class ZCL_ABAPGIT_XML_PRETTY add unit tests (#4263) * class ZCL_ABAPGIT_XML_PRETTY add unit tests closes #4260 * Update zcl_abapgit_xml_pretty.clas.testclasses.abap * fix for byte order mark --- src/xml/zcl_abapgit_xml_pretty.clas.abap | 17 ++- ...l_abapgit_xml_pretty.clas.testclasses.abap | 108 ++++++++++++++++++ src/xml/zcl_abapgit_xml_pretty.clas.xml | 1 + 3 files changed, 120 insertions(+), 6 deletions(-) create mode 100644 src/xml/zcl_abapgit_xml_pretty.clas.testclasses.abap diff --git a/src/xml/zcl_abapgit_xml_pretty.clas.abap b/src/xml/zcl_abapgit_xml_pretty.clas.abap index fe54a726b..9a92a29f2 100644 --- a/src/xml/zcl_abapgit_xml_pretty.clas.abap +++ b/src/xml/zcl_abapgit_xml_pretty.clas.abap @@ -3,13 +3,18 @@ CLASS zcl_abapgit_xml_pretty DEFINITION CREATE PUBLIC . PUBLIC SECTION. - CLASS-METHODS: print - IMPORTING iv_xml TYPE string - iv_ignore_errors TYPE abap_bool DEFAULT abap_true - iv_unpretty TYPE abap_bool DEFAULT abap_false - RETURNING VALUE(rv_xml) TYPE string - RAISING zcx_abapgit_exception. + CLASS-METHODS print + IMPORTING + !iv_xml TYPE string + !iv_ignore_errors TYPE abap_bool DEFAULT abap_true + !iv_unpretty TYPE abap_bool DEFAULT abap_false + RETURNING + VALUE(rv_xml) TYPE string + RAISING + zcx_abapgit_exception . + PROTECTED SECTION. + PRIVATE SECTION. ENDCLASS. diff --git a/src/xml/zcl_abapgit_xml_pretty.clas.testclasses.abap b/src/xml/zcl_abapgit_xml_pretty.clas.testclasses.abap new file mode 100644 index 000000000..8bd3001c1 --- /dev/null +++ b/src/xml/zcl_abapgit_xml_pretty.clas.testclasses.abap @@ -0,0 +1,108 @@ + +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( '' ). + lv_result = lv_result+1. + + 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' ). + lv_result = lv_result+1. + + 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' ). + lv_result = lv_result+1. + + 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 ). + + lv_result = lv_result+1. + + cl_abap_unit_assert=>assert_equals( + act = lv_result + exp = |2| ). + + ENDMETHOD. + +ENDCLASS. diff --git a/src/xml/zcl_abapgit_xml_pretty.clas.xml b/src/xml/zcl_abapgit_xml_pretty.clas.xml index 3058227e6..44d7df5d6 100644 --- a/src/xml/zcl_abapgit_xml_pretty.clas.xml +++ b/src/xml/zcl_abapgit_xml_pretty.clas.xml @@ -10,6 +10,7 @@ X X X + X